Strumenti info-musicali – II

Questo è il secondo articolo della serie in cui descrivo le mie esperienze con alcuni software musicali liberi per Windows.
Nell’articolo precedente è raccontata l’avventura con i software per scrivere un libro di musica.
In questo articolo presenterò le mie impressioni d’uso di vari software per scrivere partiture musicali.
Il prossimo articolo verterà sui software DAW per la produzione finale della musica.

Contesto e requisiti

La mia finalità è la scrittura di musica su uno spartito e la sua produzione in formato audio. La produzione finale sarà descritta in un prossimo articolo, ma è importante tenerne conto perché uno dei requisiti per i software qui analizzati è la possibilità di esportare la musica in un formato comprensibile ai DAW, che in tutti i casi è il formato MIDI.
La musica che ho trascritto è No Way dei Visions, un gruppo metal in cui militai diversi anni fa. Il brano, scelto per ragioni affettive e perché… mi piace, è una composizione con le seguenti caratteristiche:
  • per due chitarre elettriche, basso elettrico e batteria (quindi notazioni e chiavi specifiche);
  • frequenti cambi di tempo e di ritmo;
  • modulazioni e modifiche delle alterazioni in chiave;
  • variazioni agogiche, dinamiche e timbriche.

Tutte queste caratteristiche metteranno alla prova i software, insieme alle seguenti capacità:

  • importazione ed esportazione in formati di interscambio;
  • produzione partitura completa in PDF;
  • esportazione delle parti;
  • esecuzione di audio in anteprima;
  • esportazione in formato MIDI.

Concorrenti

Fra i tanti software presenti sul mercato ho scelto solo alcuni dei software liberi in cui mi sono imbattuto, ognuno dei quali presenta un approccio con l’utente e una tecnologia diversi:
  • Musescore: un editor musicale wysiwyg multipiattaforma;
  • Noteflight: un editor musicale wysiwyg sul web, basato su tecnologia Flash; è una versione limitata di Crescendo;
  • Lilypond: un formattatore musicale automatico basato su un linguaggio adatto a presentare contenuti musicali, che risponde (orientativamente) alla filosofia wysiwym.

Non approfondisco l’analisi di MusixTeX, PMX e MT-x, altri validi sistemi per la scrittura di spartiti, perché sono adatti alla stampa musicale ma mancano degli altri requisiti elencati sopra. Ammetto inoltre di aver avuto a volte un giudizio impietoso per gli editor wysiwyg per avere in passato utilizzato Finale, di cui però la versione free è una riduzione troppo… ridotta.

One, Two, One Two Three Four…

Il brano che ho trascritto era registrato dal vivo su audiocassetta… un po’ di anni fa. Dopo averlo digitalizzato ho incominciato la trascrizione (a orecchio) usando Noteflight.

Noteflight

Noteflight ha un’interfaccia molto semplice e funzionale, con cui si entra velocemente in confidenza; dà quasi l’impressione di essere un giocattolo, però consente di scrivere fino a due voci per pentagramma, che per gli strumenti del mio esperimento erano sufficienti (o quasi, per la batteria ne avrei gradita una terza), e supporta tutte le caratteristiche musicali che ho elencato sopra, almeno dal punto di vista della notazione; l’interazione col programma avviene soprattutto con il mouse, ma per fortuna si può usare anche la tastiera per l’inserimento di note, alterazioni e poche altre cose.

pro

  • supporto della notazione e dell’esecuzione di bending e vibrato;
  • possibilità di condividere e pubblicare gli spartiti (e la possibilità di scrittura collaborativa con Crescendo può far venire l’acquolina in bocca a chi suona in un gruppo);

    contro

    • organizzazione della palette e dei menù migliorabile (poco intuitiva);
    • limitazione degli strumenti utilizzabili;
    • limitazione importante (manca il crash, ad esempio) dei suoni di batteria;
    • qualità tipografica limitata dalla scarsa abilità di posizionamento automatico dei glifi e pressoché nulla possibilità di modifica manuale;
    • l’esportazione delle parti è prevista solo facendo l’upgrade a Crescendo;
    • le indicazioni agogiche (ritardando) e quelle dinamiche temporalmente distribuite (crescendo, decrescendo) non sono eseguite né esportate in MIDI.

    Alcuni dei contro si annullano (sulla carta, non ho provato) con l’upgrade a Crescendo, ma… non è più gratis.

      Musescore 1.2

      Musescore è uno dei più famosi editor musicali gratuiti e open-source e la sua fama è assolutamente meritata: è molto completo e in generale di semplice utilizzo. Ciò nonostante io ho trovato qualche difficoltà (a che pro scriverne, altrimenti?). 
      La sua interfaccia, tipicamente wysiwyg, presenta il “foglio” su cui scrivere la partitura insieme a diverse palette per le diverse funzioni: inserimento dei glifi, riproduzione, ecc. . Secondo me, nella scrittura di una partitura orchestrale, è comodo disporre anche di una presentazione “a contenuto scorrevole” nella sola dimensione temporale (quindi orizzontale), come in Noteflight; questo perché spostarsi in una sola dimensione è più intuitivo che spostarsi su un insieme di fogli.
      Scrivere una partitura per chitarra elettrica fa scontrare quasi immediatamente con due limitazioni:
      1. assenza di una notazione per il bending (tipicamente una linea spezzata con un vertice intermedio); dopo un po’ di infruttuose ricerche ho inventato un escamotage per ottenerlo ugualmente. La notazione per la legatura di frase è ottenuta in Musescore (e anche in Lilypond, dove ho applicato la stessa soluzione) mediante una curva di Bezier del terzo ordine con quattro punti di controllo: due vertici e due punti intermedi; invertendo i due punti intermedi si ottiene una figura annodata in cui il nodo può essere ridotto ad un punto (il vertice richiesto) intervenendo sulla posizione dei vertici: il risultato non è propriamente una spezzata, ma le assomiglia molto (e su uno spartito a me pare anche più elegante). Forse scriverò un prossimo articolo sull’argomento, se faccio in tempo prima che la lacuna sia riempita.
      2. la chitarra, come tutti gli strumenti a corda, è uno strumento politimbrico. La chitarra elettrica, dopo Jimi Hendrix, lo è ancora di più: overdrive, distorsione, feedback ed effetti vari fanno parte di quasi ogni composizione nell’ambito del rock. Se le indicazioni sui timbri e sugli effetti sono facilmente risolubili sullo spartito con indicazioni testuali esplicite, altrettanto facile non è riprodurle o esportarle in formato MIDI.
        Nello standard GM (General MIDI) sono presenti i campioni per la chitarra elettrica (clean, overdrive, distorsion, harmonics, feedback, muted) con implementazioni (Soundfont) di qualità molto variabile. Però in Musescore è associabile ad un pentagramma uno ed uno solo suono MIDI (per confronto, in Finale già diversi anni fa era possibile assegnare un suono diverso per ogni voce e in Lilypond addirittura si possono creare voci anche “al volo”); quindi, in questo caso, se si vuole produrre un MIDI da rielaborare in un DAW, l’unica soluzione sembra essere di ridistribuire gli strumenti politimbrici su diversi pentagrammi, ognuno col proprio suono.

      Ma il problema più grosso che ho riscontrato non è un problema di Musescore, ma di interoperabilità. Visto che avevo già scritto lo spartito in Noteflight, l’ho trasferito in Musescore attraverso il formato MusicXml, che è discretamente ben supportato (vedi nota [2] in fondo) in entrambi i software. Però ho riscontrato che la parte di batteria era “diversa” da come l’avevo scritta in origine. Non sbagliata… diversa; e non è dovuto a difetti dei software, ma al fatto che la notazione per batteria non è standard e quindi ogni software ha uno standard diverso: il risultato è una allegra anarchia delle associazioni fra simboli sul pentagramma e loro esecuzione. Ho dovuto sostanzialmente riscrivere tutta la parte di batteria, facilitato dall’uso della tastiera MIDI (la scrittura manuale mi è sembrata troppo rigida nella definizione delle voci per ogni elemento della batteria).

      pro

      • notazione completa (supporta il bending con il mio “trucco”);
      • documentazione offline e online molto estesa e approfondita;
      • possibilità di inserire note con uno strumento MIDI esterno;
      • buona modificabilità manuale dei glifi.

      contro

      • un solo strumento MIDI associabile ad un pentagramma;
      • la notazione del bending non è naturalmente supportata;
      • le indicazioni agogiche (ritardando) e quelle dinamiche temporalmente distribuite (crescendo, decrescendo) non sono eseguite né esportate in MIDI;
      • eccessiva rigidità nell’associazione alle voci degli elementi della batteria.

      Lilypond

      Lilypond può importare il formato MusicXml con risultati accettabili, ma la sua natura di compilatore di un linguaggio a marcatori direttamente scrivibile dall’autore mi ha indotto a riscrivere totalmente la musica: infatti il codice sorgente prodotto in automatico dal convertitore musicxml2ly (incluso nella distribuzione) non è facilmente leggibile (e non mi aspettavo che lo fosse). 
      I documenti compilati da Lilypond sono semplici file di testo, quindi qualunque editor di testo può gestirli e il compilatore produce direttamente lo spartito in formato PDF ed eventualmente il file MIDI. Esistono diversi software che possono fungere da front-end per facilitare l’inserimento degli spartiti, ma, come succede sempre in questi casi, non consentono di sfruttare al massimo la potenza del linguaggio sottostante (e quello di Lilypond è molto potente). Fra gli editor di testo, considerando immediatamente inadeguato quello distribuito insieme a Lilypond, LilyPad, che è identico al blocco note, ho optato per TeXworks e Notepad++. Il primo è un editor di testo specializzato per il linguaggio TeX (che ha una sintassi quasi uguale a Lilypond) che può essere configurato per qualunque compilatore che funzioni da linea di comando (come Lilypond) e che include un visualizzatore PDF sincronizzabile con il sorgente: esattamente quello che ci vuole, ma deve essere configurato.
      La configurazione di TeXworks per l’uso con Lilypond si riduce alle seguenti operazioni:

      1. dal menù modifica/preferenze spostarsi sulla scheda composizione;
      2. aggiungere uno strumento di processo così definito:
        • Nome: Lilypond
        • Programma: [installazione Lilypond]\usr\bin\lilypond-windows.exe
        • Argomenti: $fullname
        • Visualizza PDF dopo composizione: si (o secondo le proprie preferenze)

      Scrivere la musica con Lilypond richiede di imparare il suo linguaggio, che è comunque relativamente semplice; mi ha riservato anche una piacevole sorpresa: diversamente da analoghi linguaggi che prevedono la scrittura delle altezze delle note solo in notazione anglosassone (c, d, e, f, g, a, b), Lilypond supporta anche la notazione classica (do, re, mi, fa, sol, la, si) che è più congeniale a qualunque musicista non anglosassone (non so voi, ma io non riesco proprio a recitare una scala discendente o a riconoscere immediatamente gli intervalli in notazione anglosassone!).

      Le difficoltà che hanno messo alla prova il mio ingegno sono state la già citata notazione del bending (sono insistente, ma sopportatemi: sono un chitarrista rock e senza bending mi sembra di avere un dito in meno) e la ricerca di una organizzazione del codice sorgente tale da facilitare la visualizzazione e gestione di più parti.
      Mi spiego meglio: in tutti gli esempi (e sono tanti) le parti sono scritte in punti separati del file sorgente, quindi non si può avere una visione d’insieme della musica, come è invece nella notazione musicale. Ad esempio:
      noteChitarra = { do re mi fa }
      noteBasso = { do mi sol do' }
      <<
        \new Staff \noteChitarra
        \new Staff \noteBasso
      >>
      

      Poiché nella prassi reale le note della chitarra e del basso saranno molte di più di quelle di questo banale esempio, ogni strumento sarà scritto separatamente, eventualmente anche in file diversi che possono essere inclusi: questo consente di poter facilmente separare le parti, ma altrettanto difficilmente avere la visione d’insieme in fase di composizione. Ma la soluzione c’è e la descriverò dettagliatamente in un prossimo articolo.
      Lilypond, tramite un apposito comando, permette la produzione del file MIDI oltre al PDF dello spartito ed ha una elevata flessibilità nell’assegnazione degli strumenti: ogni pentagramma può avere un numero a piacere di voci e ad ogni voce si può assegnare uno strumento diverso; addirittura si possono creare voci temporanee.

      pro

      • qualità superiore del risultato in stampa; la risoluzione automatica del posizionamento dei glifi è migliore rispetto agli altri software (d’altra parte Lilypond è specializzato in questo) e le possibilità di intervento manuale sono elevate;
      • programmabilità dei contenuti: parti ripetute frequentemente possono essere assegnate ad una variabile utilizzata ove necessario, senza dover reinserire tutti i contenuti ogni volta;
      • possibilità di associare uno strumento per ogni voce e di creare voci a pentagramma già impostato (la salvezza per una successiva elaborazione con DAW);
      • notazione molto completa (supporta il bending con il mio “trucco”);
      • documentazione completa e ricca di esempi.

      contro

      • l’uso di un linguaggio è più consono ad un informatico che ad un musicista;
      • anche riuscendo, con un’apposita organizzazione del codice, a mantenere vicine le parti contestuali, il codice testuale è ben lontano in quanto a espressività dalla notazione musicale standard (che non a caso si usa da secoli con soddisfazione!);
      • la notazione del bending non è naturalmente supportata;
      • le indicazioni agogiche (ritardando) e quelle dinamiche temporalmente distribuite (crescendo, decrescendo) non sono eseguite né esportate in MIDI;
      • esporta solo in PDF e MIDI, mentre il formato MusicXml è ancora nei sogni degli utenti.

      Come informatico estimatore di LaTeX apprezzo molto la qualità finale del risultato di Lilypond (proprio come per LaTeX); come musicista, trovo che la possibilità di vedere la notazione musicale della partitura mentre la si scrive sia una comodità irrinunciabile: per fortuna, con l’uso di TeXworks, anche con Lilypond si può avere sempre sotto mano l’anteprima del PDF mentre si scrive; non ha l’immediatezza degli altri concorrenti wysiwyg, ma è meglio che niente. Come interoperabilità, Lilypond è inferiore agli altri, ma questo fa parte della sua filosofia: è progettato per produrre uno spartito musicale con la massima qualità possibile, non per fornire input ad altri programmi; comunque, la sua flessibilità nella produzione dell’output MIDI mi ha consentito di ottenere il miglior candidato per la successiva elaborazione nei DAW.

      Comparazione delle funzionalità richieste

      Segue una tabella comparativa sulla base delle funzionalità che io cercavo. Ovviamente non può e non voleva essere esaustiva di tutte le funzionalità dei software.

      Noteflight Musescore 1.2 Lilypond 2.14.2
      Importazione MusicXml1, MIDI2 MusicXml1, MIDI2 MusicXml1, MIDI2
      Esecuzione anteprima Suoni campionati per un numero limitato di strumenti Riproduzione MIDI integrata, con funzione human-playback mediante esportazione MIDI
      Esportazione MusicXml1, MIDI2,audio WAV, PDF solo con un driver di stampa adeguato PDF, MusicXml1, MIDI2, molti altri formati PDF, MIDI2
      Esportazione delle parti solo con l’upgrade a Crescendo si si
      1. Il formato MusicXml ha tre diverse specifiche; inoltre il supporto delle specifiche è diverso per ogni software.
      2. Il formato MIDI è stato creato per la comunicazione fra dispositivi per l’esecuzione musicale; piccole variazioni di velocità nell’esecuzione possono produrre una notazione musicale illeggibile, quindi per il trasferimento della notazione è preferibile usare MusicXml. Il formato MIDI, d’altra parte, è necessario per una successiva elaborazione in un DAW.
      Pubblicato su Uncategorized. 1 Comment »

      Processo di produzione audiovisiva casalinga

      Condizioni al contorno

      Ho appena incominciato la sperimentazione di una squadra di software per il montaggio audiovisivo. In passato ebbi un po’ di esperienza con Adobe Premiere, After Effects e Encore DVD, ma questa volta ho voluto affrontare l’impresa usando esclusivamente software libero.

      Guardandomi in giro, mi imbatto in Lightworks, un programma professionale rilasciato recentemente, in versione beta, come libero e open source: perfetto per farsi tanto male… mi piace! Naturalmente ho scoperto poi di aver bisogno di diversi altri strumenti.
      Il punto di partenza del processo è l’acquisizione con i seguenti dispositivi a mia disposizione:
      • smatphone HTC Tattoo: aquisisce in formato 320×240 usando il contenitore 3gp con framerate variabile;
      • macchina fotografica Canon Digital IXUS 85IS: acquisisce in formato 640×480 usando la codifica MJPEG a 30 fps;
      • videocamera Sony Handycam DCR-HC19E PAL: acquisisce in formato PAL 4:3 o 16:9 su cassetta miniDV.
      L’ambiente di lavoro è MS Windows 7 a 64 bit.

      Il punto di arrivo è la visualizzazione da:

      • smartphone HTC Tattoo;
      • riproduttore Philips Home Theater System HTS3164 (con televisore 16:9): riproduce DVD e DivX e supporta audio AC3 e DTS.

      Sperimentazione

      Il primo problema da considerare è che Lightworks è un programma professionale che si è appena affacciato al grande pubblico amatoriale, quindi utilizza come formati di acquisizione i formati standard per il broadcasting e il cinema: PAL, NTSC, HD 720, HD 1080; i contenitori gestiti sono AVI e Quicktime con le compressioni DV, MPEG 2 e una caterva di formati professionali a me sconosciuti. Fine. Niente MPEG4, DivX, Theora … ahi!
      Nessun problema con la Handycam, che è riconosciuta e correttamente controllata nel processo di acquisizione: l’unica difficoltà è che Windows 7 non permette l’uso dell’interfaccia USB per l’acquisizione video (e neanche Lightworks, figurarsi!), quindi è necessario usare la IEEE 1394 (anche nota come Firewire o iLink): meglio, dato che quest’ultima è anche superiore in termini di qualità del segnale.
      La IXUS ha una qualità del video un po’ inferiore a quella della Handycam (e vorrei vedere, è una macchina fotografica!), ma il formato MJPEG è direttamente importabile in Lightworks. Però, siccome registra a 30 fps, Lightworks permette di importare i metraggi solo in formato NTSC o HD, perchè tale velocità non è prevista per PAL (che, per combinazione, è il formato che devo usare io): importo in HD 720, pur sapendo che il passaggio da 640×480 a 1024×720 necessiterà di un ricampionamento.
      Il Tattoo ha una risoluzione molto più bassa del PAL e un framerate variabile fra circa 5 e 16 fps, oltre ad un’ottica molto “economica” e nessuna possibilità di regolazione in fase di ripresa: non mi aspetto risultati esaltanti; inoltre il contenitore 3gp appartiene ad un pianeta sconosciuto a Lightworks. Mi necessita un convertitore: dopo averne provati diversi la mia scelta cade su ffcoder, che usa K-Lite Codec Pack e Avisynth; forse non è la scelta ottimale, perché scopro in seguito che sul mio sistema operativo il programma non riesce a configurare i codec VFW per il contenitore AVI (che, guarda caso, sono proprio quelli utilizzati da Lightworks). Per risolvere questo problema, installo anche Virtualdub, che può usare i codec VfW ma non legge i 3gp. Nessuno dei due programmi da solo può convertire da 3gp ai codec Matrox usati da Lightworks, ma posso usarli insieme usando un formato comune di trasferimento. Comunque Virtualdub è utile anche per l’applicazione di filtri, quali Deshaker (stabilizzatore video), che per le riprese con il Tattoo si rivelerà salvifico.

      Lightworks ha una curva di apprendimento piuttosto ripida, perché pur avendo un’interfaccia utente molto pulita e flessibile, usa un linguaggio professionale e un paradigma di montaggio che è sicuramente intuitivo per i professionisti del settore (quelli che lavoravano con le forbici e le pellicole), ma è diverso dagli altri NLE più diffusi. Il manuale utente è anch’esso rivolto ai professionisti, quindi poco masticabile per un novizio, ma, in compenso il forum del sito è molto vivo, ricco e popolato da personaggi piuttosto esperti; inoltre ci sono nella rete diversi filmati di apprendimento che mostrano le caratteristiche principali del programma e sono sufficienti per incominciare a lavorare.
      Stimolato dal forum, integro Wax come plugin di Lightworks per provare un po’ di effetti speciali, ma rimango un po’ deluso: l’interfaccia utente, pur abbastanza semplice e classica, non permette operazioni banali come lo zoom sulle timeline o l’inserimento da tastiera dei valori dei vari effetti, rendendosi di difficile ed impreciso utilizzo. In pratica, non riesco a creare correttamente né una transizione, né un effetto speciale: spero in una prossima evoluzione. Diversamente da Lightworks, le risorse per imparare ad usarlo sono piuttosto povere.
      Per tentativi e con forum sul comodino riesco a produrre un paio di filmati. Al momento dell’esportazione sono un po’ imbarazzato nello scegliere il codificatore di uscita. Naturalmente, neanche a dirlo, Lightworks esporta solo nei formati e nelle codifiche già elencate per la fase di importazione. Ma ormai la strada è in discesa: basta ripercorrere al contrario la strada in salita dell’andata. Quindi, con Virtualdub esporto in DivX 720×404 (pur arrivando il PAL a 768×576, più di 720 sembra che il mio home theater non supporti) e in AVI non compresso: quest’ultimo è trasformato in e MPEG 2 (PAL Widescreen) e 3gp 320×240 con bande orizzontali mediante ffcoder.

      Conclusioni

      La prima evidenza scaturita da questa esperienza è (non ci vuole Kubrick per scoprirlo) che il Tattoo è assolutamente inadeguato. Penso che la prossima volta che mi appresterò ad usarlo per riprendere le evoluzioni di mia figlia sarò preso da brividi di paura. Una buona ripresa con la Handycam o al limite la IXUS è un buon punto di partenza per sentirsi a proprio agio nelle successive fasi di produzione.
      Virtualdub era un mio vecchio amico e continua ad esserlo, perché non fa molto, ma il poco che fa lo fa molto bene: applicazione di filtri e conversione di formato e codifica sono semplici ed efficaci.
      Sono stato deluso dall’incapacità di ffcoder di esportare in AVI VfW; per il 3gp e MPEG 2 invece nulla da eccepire.

      La prima caratteristica di Lightworks che mi ha colpito è la conservazione di tutto il lavoro fatto anche in caso di crash (d’altra parte è una beta): è una balla sorpresa scoprire di non aver perso niente dopo uno spaventoso “errore critico”. Se all’inizio mette un po’ di soggezione il suo approccio personale al montaggio, basta entrare un po’ in intimità per restarne affascinati: dà l’impressione di saper fare cose che noi umani (neanche quelli che hanno scritto il manuale) non possiamo neanche immaginare.

      WAX… mah, c’è chi ne parla entusiasticamente, chi meno. Io non sono riuscito ad usarlo efficacemente come plugin di Lightworks. L’impossibilità di ingrandire l’area di lavoro nella timeline, quando si deve lavorare con precisione, è una grave pecca; ancora peggio l’impossibilità di scrivere (con la tastiera) dati numerici nelle caselle di testo delle regolazioni degli effetti, ma l’obbligo di ottenere “172,34” facendo scorrere il mouse intorno alla casella: impossibile. Inoltre, anche dopo essere riuscito a creare un effetto approssimativamente come volevo io, la sua applicazione nell’edit di Lightworks era scorretta.
      Insomma, posso dire che il risultato di questa esperienza è soddisfacente, ma migliorabile.