sabato 14 luglio 2012

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.


      NoteflightMusescore 1.2Lilypond 2.14.2
      ImportazioneMusicXml1, MIDI2MusicXml1, MIDI2MusicXml1, MIDI2
      Esecuzione anteprimaSuoni campionati per un numero limitato di strumentiRiproduzione MIDI integrata, con funzione human-playbackmediante esportazione MIDI
      EsportazioneMusicXml1, MIDI2,audio WAV, PDF solo con un driver di stampa adeguatoPDF, MusicXml1, MIDI2, molti altri formatiPDF, MIDI2
      Esportazione delle partisolo con l'upgrade a Crescendosisi
      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.

      1 commento:

      Unknown ha detto...

      Il seguito, che tratta della produzione finale della musica, è ora pubblico.