mercoledì 8 agosto 2012

Strumenti info-musicali - III

Eccomi nuovamente a raccontare le mie prime esperienze con una quantità di strumenti informatici free per fare musica.
Per chi non avesse seguito le puntate precedenti, nella prima affrontai il problema della scrittura di un libro di musica; nella seconda puntata confrontai diversi software liberi per la produzione di spartiti musicali, con un occhio di riguardo alle funzionalità di esportazione in formato MIDI.
Ora che ho la mia bella musica scritta su pentagramma e prodotta in formato MIDI, posso passare alla fase di produzione vera e propria del brano audio. Questa fase è senza dubbio la più dispendiosa, da tutti i punti di vista: necessità di hardware dedicato, quantità dei software necessari, tempo, fatica, pazienza...

Hardware

Ovviamente... un computer. Ho un computer portatile piuttosto potente (i7 ecc.) con Windows 7 a 64 bit; ho la forte sensazione che questo tipo di lavoro non si possa fare con un netbook o un computer di fascia bassa. 
Io sono un chitarrista e naturalmente ho voluto registrare molte parti di chitarra elettrica del brano. Amo l'accoppiata della mia chitarra col mio amply e ho un microfono usb di buona qualità, ma la mia abitazione non è proprio "insonorizzata", considerata la presenza di una bimba esuberante e di vicini... esuberanti, nonché appassionati di bricolage, traslochi e zoccoli capresi. Quindi la soluzione ideale è il collegamento diretto dello strumento al computer, ma ho scoperto con delusione che i portatili normalmente non sono dotati di schede audio che abbiano le caratteristiche comunemente considerate minime per una registrazione di qualità:
  • digitalizzazione a 24 bit
  • ingresso ad alta impedenza (Hi-Z) per strumenti con pickup magnetico come chitarra, basso, ecc.
Ho dovuto quindi acquistare una scheda audio esterna ed ho scelto una M-Audio Fast Track C400. La qualità hardware del dispositivo è ottima, ma ho avuto qualche difficoltà con il driver per Windows 7 a 64 bit: 
  • L'installazione, anche seguendo come un bravo scolaro le istruzioni del libretto, non è andata subito a buon fine (ho rivisto per la prima volta dopo tanti anni un BSOD); dopo diversi tentativi, comprese disinstallazioni, reinstallazioni e numerosi riavvii, la scheda ha funzionato; non chiedetemi come: misteri dei fenomeni caotici. Comunque senza dubbio servirà qualche ritocco al driver da parte del produttore, perché a quanto pare ad avere problemi sono in buona compagnia.
  • Durante l'utilizzo, dopo alcuni minuti le prestazioni della scheda decadono (il suono è prodotto con una forte distorsione digitale, fino a zittirsi completamente); il problema sembra essere imputabile al driver o alla gestione automatica degli IRQ da parte di Windows 7: l'opinione comune su internet è "per questi lavori usate un Mac"... grazie! Comunque all'occorrenza basta reimpostare anche solo la frequenza di campionamento o la dimensione del buffer del driver ASIO per tornare ad avere la qualità normale... per qualche minuto; se si usa solo per registrare è un difetto sopportabile, considerato che cambiare scheda non è detto che sia una soluzione (l'accoppiata scheda audio usb - Windows 7 sembra essere a volte problematica).
Già che ero nel negozio, ho acquistato una cuffia AKG K121 Studio. Se si vuole monitorare la qualità di una registrazione è inutile tentare con una "cuffietta" da iPod: non c'è paragone (anche nel prezzo, in effetti).
Beh, ho finito la spesa, tutto il resto è software (gratuito).

Software

Sono stati necessari vari tipi di software.

Driver ASIO

Per utilizzare adeguatamente i software per la registrazione musicale è necessario un sistema audio a bassa latenza, normalmente non fornito insieme al sistema operativo; su Windows si può utilizzare a tal fine asio4all: una volta installato, tale driver può essere usato con qualunque scheda audio e da qualunque applicazione che ne abbia bisogno (ma solo una alla volta, e questo è un po' fastidioso quando si usa una soluzione dis-integrata come quella che ho usato io).

Emulatori di amplificatori per chitarra

Ne ho provati diversi, molti dei quali poco più che giocattoli, non adatti ai miei fini. Quelli che ho conservato e utilizzato sono:
  • Amplitube 3: ha un'interfaccia ordinata che consente di controllare facilmente tutti gli elementi, dagli effetti a pedale, agli amplificatori, ai cabinet, al posizionamento e al tipo di microfoni, alla dimensione della sala di registrazione, agli effetti rack; ognuna di queste categorie fornisce nella versione free una quantità limitata di elementi possibili, che sono comunque più di quanto la maggior parte dei chitarristi non professionisti possa sognare (a meno che non si disponga di diverse migliaia di €).
  • Guitar Rig 5: l'interfaccia è decisamente più "piena" rispetto a quella di Amplitube, ma la versione demo dispone di una varietà immensa di amplificatori ed effetti da mettere in cascata; così tante possibilità che mi sono stufato prima di provarle tutte. La versione demo limita le sessioni a 30 minuti e non consente di salvare le configurazioni provate.
Entrambi i software possono essere usati come effetti VSTi, ma soprattutto consentono una funzionalità rivelatasi fondamentale per i miei scopi: consentono di importare ed esportare file audio su cui applicare i propri effetti con lo stesso risultato di una esecuzione "live". 
Io ho preferito utilizzare Amplitube perchè mi è stato più facile ottenere con esso il "mio suono".

DAW

Non si trovano molte Digital Audio Workstation free in giro, ma le tre che ho provato mi hanno dato abbastanza da studiare, anche per un progetto "semplice" come il mio:
  • Pro Tools SE: fornito con la scheda audio Fast Track C400, funziona solo con essa; considerando che le sessioni di registrazione sono solo una parte di tutto il tempo di utilizzo della DAW, il difetto del driver descritto sopra mi ha scoraggiato dall'usare questo software. Peccato, perché l'emulazione interna dell'amplificatore per chitarra, pur se più limitata rispetto a quella degli emulatori elencati nella sezione precedente, mi è sembrata discreta (con un suono decisamente migliore di quello che si può ottenere in Studio One Free) e il software nel suo complesso mi è sembrato decisamente potente (Pro Tools è il DAW più utilizzato negli studi di registrazione).
  • LMMS: originario per Linux ma disponibile anche per Windows, mi ha dato inizialmente qualche grattacapo per la configurazione dell'audio (che in uscita aveva un'eccessiva distorsione digitale, problemi di buffer?) e inoltre non supporta nativamente i driver ASIO: poco male (!?!) perché LMMS non consente neanche di registrare audio direttamente, prevedendo all'uopo la sola importazione di file audio. Rispetto agli altri due sembra più orientato al mixaggio di campioni e loop, ma consente di importare file MIDI e di utilizzare banchi di SoundFont per la loro resa; può usare moltissime combinazioni di effetti e VSTi, ma quelli di Amplitube e Guitar Rig lo bloccano. Ha una gestione molto flessibile dell'automazione: permette di assegnare una traccia di automazione a quasi tutti i controlli disponibili; però le tracce di automazione sono programmabili solo tracciando aree a mano libera, pratica molto più scomoda di un tracciamento mediante linee spezzate o curve tracciate vettorialmente.
  • Studio One: la versione free non può utilizzare VSTi esterni e non dispone di un emulatore di amplificatore per chitarra (solo di un distorsore che... mi si accappona la pelle al solo ricordo); in compenso consente di registrare direttamente tracce audio, importa il MIDI (che può eseguire tramite SoundFont), integra i principali effetti (riverbero, chorus, flanger, ...), ha un'approccio alla gestione delle tracce molto amichevole (taglia, copia, sposta, incolla, fai una giravolta, falla un'altra volta...) e un'altrettanto amichevole gestione dell'automazione.
Nel mio progetto, dovendo registrare la chitarra suonando con l'accompagnamento degli altri strumenti, avevo due possibilità:
  1. usare LMMS o Studio One per ottenere dal MIDI una bozza dell'accompagnamento in formato audio; usare la bozza per registrare la parte di chitarra con Amplitube; esportare la traccia di chitarra ed importarla in LMMS o Studio One.
  2. registrare la chitarra in Studio One con l'accompagnamento del MIDI importato, usando il... brrr! distorsore interno per facilitarmi il controllo di armonici e risonanze non facilmente udibili senza distorsione (visto che il suono finale è distorto, meglio sentirlo mentre si suona, anche se... brrrrr!); esportare la traccia registrata senza effetti, importarla in Amplitube ed applicarle il "mio suono"; esportare il risultato da Amplitube come file audio e sostituirlo in Studio One alla traccia originale.
Fra le due opzioni, la seconda è quella che mi ha dato i risultati più soddisfacenti ed economici; quindi ho optato per Studio One.

Editor audio

Considerando la varie elaborazioni necessarie sui file audio, si è rivelato utile usare un software specializzato nell'editing di audio. In questo caso non ho esplorato più di tanto: Audacity fa tutto ciò che serve, lo fa bene e in modo molto intuitivo.
Ho usato l'editor per filtrare alcuni rumori emersi dall'elaborazione in Amplitube (nonostante e forse a causa del noise gate che ho dovuto applicare per filtrare il normale rumore di fondo della catena di amplificazione), ma anche per esportare il prodotto finale di Studio One, un file audio non compresso con frequenza di campionamento a 48 kHz e una risoluzione di 32 bit (150 MiB per 6 minuti di musica), in formati più trasportabili quali mp3, aac, ogg.

Fatica

La mia finalità ultima è la produzione del file audio di No Way, un brano strumentale che composi e suonai un po' di anni fa con la band metal in cui militavo. La band, i Visions, era costituita da due chitarristi, un bassista e un batterista. 
Come descritto nel precedente articolo, con Lilypond ho già scritto la partitura completa ed ho esportato la musica in formato MIDI.
Il primo passo è l'importazione del MIDI in Studio One. Poiché Studio One non usa il sintetizzatore di sistema per riprodurre le sequenze MIDI, ma i suoi Instruments (che possono essere associati ad un qualunque SoundFont), per poter anche solo sentire la musica è prima necessario assegnare ad ogni traccia il suo strumento, che io scelgo fra i campioni dei SoundFont Fluid: batteria, basso elettrico... ma si, dai! Alcune parti di chitarra possono venire bene anche suonate dal computer.
Sono pronto per registrare. Poiché il suono di chitarra ottenibile in Studio One free non è di mio gusto, il processo di registrazione è complesso:

  1. collegando lo strumento al computer tramite la scheda audio esterna, registro in Studio One in una nuova traccia le parti di chitarra elettrica, utilizzando come base le tracce MIDI già presenti; soprattutto per le parti solistiche che dovranno usare l'effetto di overdrive e distorsione, registro usando il distorsore interno di Studio One (quello da brivido);
  2. in Studio One l'applicazione di effetti è non distruttiva, quindi posso esportare la parte appena registrata senza alcun effetto, col suono puro della mia chitarra, come "stem" in un file audio;
  3. in Amplitube importo il file audio della chitarra "pulita" ed esporto un altro file audio in cui ad essa è applicato il "mio suono";
  4. elaboro con Audacity il file ottenuto, ad esempio per eliminare il rumore introdotto dalla catena di amplificazione in Amplitube, silenziare totalmente le pause, introdurre eventuali dissolvenze, ecc.
  5. importo in Studio One il file audio col "mio suono" in una nuova traccia, che sostituirà le tracce MIDI e audio originali.
Questa stessa procedura può essere utilizzata anche per le parti di chitarra elettrica o di basso elettrico che si vogliono mantenere eseguite dal computer: in questo caso in Studio One è possibile applicare alle tracce MIDI una miriade di modifiche, compreso ad esempio il portamento, utile per simulare il bending chitarristico, il vibrato, ecc.
Tornato a lavorare in Studio One utilizzando come sistema audio asio4all (non mi serve più l'interfaccia con la chitarra), mi occupo, cuffia alle orecchie, dei suoni e del missaggio. Prima di tutto su ogni strumento, MIDI o audio, applico gli effetti desiderati (riverbero, chorus, ecc.) e regolo singolarmente le dinamiche agendo sul volume e il bilanciamento. Infine il missaggio: questa fase è molto delicata e richiede una esperienza che io non ho; dopo aver dato un'occhiata al K-system metering ma non disponendo di VU meter, uso soprattutto il mio orecchio e il mio gusto musicale.

Conclusioni

La produzione di musica coinvolge diverse figure professionali: compositore, arrangiatore, esecutore, microfonista, tecnico del suono, mixerista. Se nel mondo professionale solitamente tali figure sono personificate da diversi esperti, nel mondo ludico-dilettantesco-informatico queste possono fondersi persino in un unico smanettone. Se lo smanettone è squattrinato oppure non vuole o non può investire in  costosi strumenti professionali, sono disponibili ottime alternative gratuite o di costo limitato che, con un maggiore sforzo di integrazione e di apprendimento, consentono di raggiungere buoni, se non ottimi, risultati.
Se sull'hardware non posso considerarmi pienamente soddisfatto a causa di problemi software (tranne che per la cuffia AKG K121 Studio), sul software ho provato diverse soluzioni attraenti per diverse applicazioni musicali. Quindi per i futuri lavori mi consiglierò:
  • Lilypond (vedi seconda puntata) per pubblicazioni musicali e per trascrivere musica;
  • Musescore (o carta e matita e poi Lilypond, qui la competizione è dura; vedi seconda puntata) per nuove composizioni;
  • Amplitube per suonare rock;
  • Guitar Rig (con un blocco note per appuntarmi tutte le regolazioni da reimpostare ogni mezz'ora) per ottenere suoni di chitarra particolari;
  • LMMS per comporre o produrre musica elettronica o basata su loop;
  • Studio One per produrre musica che richieda la registrazione di parti "live";
  • Audacity per la gestione e manipolazione dei file audio.
Come è naturale aspettarsi, le versioni a pagamento di tutti i software che le prevedono offrono potenzialità superiori che fanno immediatamente venire l'acquolina in bocca, in particolare Amplitube (col suo market di amplificatori famosi) e Studio One Producer... beh, sapete cosa regalarmi per il prossimo compleanno!

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.

      domenica 8 luglio 2012

      Strumenti info-musicali - I

      L'anno scorso mi sono riavvicinato al mio amore giovanile: la musica; o, più precisamente: la composizione, l'esecuzione e la produzione di musica.
      Ho ripreso la teoria, il pianoforte, la chitarra, la chitarra elettrica, il contrappunto e, con questo carico, mi sono avvicinato al computer e mi sono chiesto come aggiungere il mio ormai immancabile compagno alla banda.
      Prima di tutto, dovendo recuperare la forma fisica e naturalmente scegliendo sempre la strada più "panoramica", ho deciso di scrivere un libro per chitarristi metal in erba che vogliano imparare a suonare la musica di Iron Maiden, con cui esercitarmi.
      Poi, ascoltando le vecchie registrazioni (su audio-cassetta... ho detto vecchie!) del mio gruppo metal giovanile... l'illuminazione: riprodurre No Way dei Visions come one-man-band; e con "riprodurre" intendo "creare la partitura completa e registrare il brano".

      Questi progetti hanno richiesto l'uso di molti strumenti informatici, sia editoriali che di produzione musicale; fra quelli software, che per scelta filosofica ho scelto fra quelli liberi (free, gratis), si annoverano programmi per la stesura di spartiti musicali, per la produzione di libri con contenuti musicali, per la produzione finale di materiale musicale audio (DAW - digital audio workstation). Data la quantità di argomenti, in questo articolo descriverò l'esperienza relativa alla produzione di un libro di musica, lasciando a successivi pezzi le altre non meno eccitanti avventure.

      Requisiti di un libro di musica

      Il libro che mi sono apprestato a comporre è un corso avanzato per chitarristi che vogliano imparare lo stile chitarristico degli Iron Maiden ai tempi del loro primo album: Iron Maiden.
      L'album è stato scelto, oltre che per motivi affettivi, per la discreta varietà tecnica e stilistica che è tipica dei primi lavori.
      Il libro, tuttora in fieri, ha i seguenti requisiti, in ordine di importanza:
      1. deve contenere testo ed estratti musicali correttamente e coerentemente impaginati;
      2. deve supportare sufficientemente la notazione per chitarra;
      3. deve essere multilingua, in inglese e in italiano, con testo su due colonne (come molte pubblicazioni musicali);
      4. deve essere dotato di indice generale e analitico;
      5. deve essere distribuito in formato pdf possibilmente ipertestuale.

      Selezione degli strumenti


      La sfida proposta non è banale, perché esistono, nel mondo del software libero, moltissimi editor di testo e alcuni editor di musica, ma pochissime soluzioni integrate.
      La prima soluzione che potrebbe venire in mente è l'integrazione degli estratti musicali nel testo come immagini esterne mediante un qualunque editor che possa importare immagini. Le difficoltà di questa soluzione sono:

      1. l'ottenimento di una impaginazione (margini e dimensioni del testo) coerente fra il testo e l'immagine della musica importata;
      2. la possibilità di creare estratti musicali con un software dedicato.
      Se il primo problema può essere affrontato con tanta pazienza e accontentandosi di una non perfetta integrazione fra testo e contenuti musicali, il secondo sembra insormontabile, almeno con il software libero che ho provato:

      • Musescore: un buon editor musicale wysiwyg in generale, che però:
        • non consente l'esportazione di estratti musicali, ma solo di partiture complete e già impaginate;
        • non supporta ancora la notazione del bending chitarristico;
      • Noteflight: un editor musicale  wysiwyg online, che però consente solo la stampa della partitura completa (eventualmente in pdf);
      • Lilypond: un ottimo processore di notazione musicale basato su un proprio linguaggio, che ha però in questo contesto le stesse limitazioni di Musescore (forse per il bending ci sono soluzioni possibili ma non immediate: le studierò in prossime occasioni).
      Anche se difficilmente utilizzabili in questo contesto, questi software sono utili per altri fini che saranno affrontati nel prossimo articolo.

      La soluzione integrata mi è presto parsa più praticabile, ma in questo campo la scelta si è ridotta a solo due opzioni:
      • lilypond-book: forse la soluzione ottimale in molti casi; se si risolverà il problema del supporto alla notazione del bending, la prossima edizione del mio libro utilizzerà questa soluzione;
      • LaTeX+MusixTeX: pur presentando una curva di apprendimento da ragno delle Dolomiti, questa soluzione "fa".
      Su Windows, l'ottima distribuzione di LaTeX che ho utilizzato è MikTeX, che permette di configurare automaticamente l'estensione MusixTeX e fornisce un semplice, comodo e configurabile editor (TeXworks) e un visualizzatore pdf sincronizzabile con l'editor.

      Plug'n'Play

      Prima di incominciare a lavorare, è necessario:
      1. configurare MikTex per l'uso di MusixTeX
        1. accedere alle MikTeX Options;
        2. spostarsi sulla scheda Packages;
        3. selezionare il pacchetto MikTeX Packages/Applications/Music/musixtex
        4. seguire la procedura suggerita (tasto Ok?)
      2. configurare TeXworks per automatizzare la compilazione con MusixTeX:
        1. dal menù modifica/preferenze spostarsi sulla scheda composizione;
        2. aggiungere uno strumento di processo così definito:
          • Nome: musixTeX+texify-pdf (o altro nome preferito)
          • Programma: [installazione MikTeX]/miktex/bin/musixtex.bat, dove musixtex.bat è uno script così fatto:
            @echo off
            del *.mx?
            pdflatex -synctex=1 -undump=pdflatex %1
            if errorlevel 1 then goto exit
            musixflx %1
            texify --pdf --tex option=-synctex=1 %1
            
          • Argomenti: $fullname
          • Visualizza PDF dopo composizione: si (o secondo le proprie preferenze)
      Ora siamo pronti per scrivere il nostro libro con LaTeX. Per incominciare definiamo nel preambolo:
      ...
      \usepackage[british,italian]{babel}
      \usepackage[utf8]{inputenc}
      \usepackage{parallel}
      \usepackage[hyperindex]{hyperref}
          \hypersetup{...}
      }
      \usepackage{musixtex}
      \input musixgui
      \input musixper
      ...
      
      dove abbiamo impostato il documento per supportare:
      • la sillabazione in inglese e in italiano tramite il componente babel;
      • l'input in formato utf8;
      • le due colonne che conterranno il testo nelle due lingue tramite il componente parallel;
      • la costruzione di un pdf ipertestuale;
      • la compilazione di spartiti musicali tramite il componente musixtex;
      • due estensioni di esempio:
        • musixgui (per scrivere la notazione ad accordi per la chitarra);
        • musixper (per supportare la notazione delle percussioni).
      Scrivere le parti testuali in un documento LaTeX è molto semplice e l'argomento è ampiamente documentato.
      Le parti musicali si inseriscono nel documento LaTeX mediante l'ambiente music, come nel seguente esempio:
      \begin{music}
      \nostartrule
      \nobarnumbers
      \generalsignature{1}
      \generalmeter{\meterfrac{12}{8}}
      
      \startpiece
      \notes\zchar{20}{\metron{\qup}{160}}\en
      \Notes\ds\zchar{14}{IV}\islurd1{f}\Ibu1{f}{g}2\qb1{f}\tslur1{g}\tbu1\qb1{g}\en
      \leftrepeat
      \Notes\Ibl1{i}{i}5\qb1{i}\qb1{i}\tbl1\qb1{i}\Ibl1{j}{g}3\qb1{j}\qb1{i}\tbl1\qb1{g}\en
      \NOtes\ql k\en
      \Notes\itieu0{i}\cl i\ttie0\cl i\en
      \NOtes\qu g\en
      \bar
      \NOtes\ql j\en
      \Notes\itieu0{i}\cl i\ttie0\cl i\en
      \NOtes\qu g\qu f\en
      \Notes\itied0{g}\cu g\ttie0\cu g\en
      \NOtes\qu h\en
      \bar
      \NOTes\zchar{14}{II}\itied0{b}\hup b\en
      \NOtes\ttie0\qup b\en
      \Notes\ds\zchar{14}{IV}\islurd1{f}\Ibu1{f}{g}2\qb1{f}\tslur1{g}\tbu1\qb1{g}\en
      \setrightrepeat
      \endpiece
      
      \end{music}
      per ottenere:

      Per interpretare il codice serve la stele di Rosetta, infatti altri programmi basati su MusixTeX sono stati creati per facilitare l'inserimento della musica: PMX, M-Tx; però questi sono adatti alla stesura di partiture complete e nessuno ha pubblicato il modo di usarli per creare estratti da inserire in un documento LaTeX.
      Un'altra possibilità che ho esplorato è sfruttare la capacità di Musescore e Noteflight di esportare in formato musicXml e creare una trasformazione xsl da musicXml al sorgente musixTeX. Ho creato e utilizzato tale trasformazione per ottenere le bozze dei sorgenti, che dovevano comunque essere completate a mano; infatti con una trasformazione xsl più di tanto non si riesce ad ottenere, dato che i formati sono estremamente diversi (musicXml è un formato pensato per il trasporto dei contenuti musicali, mentre musixTeX per la resa in stampa di spartiti); motivo per cui la trasformazione non è stata resa pubblica. Se a qualcuno interessasse usarla, mi può contattare.

      Conclusioni

      Anche se "solo" per scrivere un libro di musica, la strada è lunga e irta di insidie e difficoltà.
      Anche per un esperto di LaTeX, scrivere le parti musicali non è affatto facile per il fatto che il linguaggio di MusixTeX è per "iniziati" di TeXLa documentazione che si può trovare su internet si limita al manuale, che è molto completo e in generale sufficiente per ogni esigenza non esoterica.
      L'alternativa più interessante è lilypond-book, che può utilizzare ancora LaTeX per la produzione del documento, ma salva le parti musicali come immagini collegate; naturalmente le immagini prodotte sono perfettamente adattate al contesto. La scrittura della musica con Lilypond, pur essendo basata sempre su un codice testuale, è molto più intuitiva rispetto a quella di MusixTeX. Non l'ho usato nel mio progetto per un semplice motivo: l'ho scoperto quando il lavoro era già in fase troppo avanzata e non avevo voglia di ricominciare tutto daccapo.
      Forse lo userò per una seconda edizione...

      Nel prossimo articolo descriverò la mia esperienza con i già citati software per la stesura di spartiti musicali.