Jump to content
Piano Concerto - Forum pianoforte

Le difficoltà degli ingegneri nella progettazione di una libreria


thesimon
 Share

Recommended Posts

Apro questa nuova sezione (come avrò fatto a dimenticare di metterla prima) con questo topic. 

La maggior parte di noi oggi utilizza librerie di campioni. C'è chi lo fa esclusivamente per migliorare il suono della sua esperienza di studio su pianoforti digitali, chi li utilizza per dare colore ed avere un riscontro acustico delle proprie composizioni ed in fine chi le utilizza a scopi professionali per creare promo, musiche da film, sound design, sound tracks per video games ecc. ecc.

In pochi però sanno quali siano le conoscenze e le fasi di progettazione che sono la base per la creazione di una libreria. 

Io resto sempre dell'opinione che va bene utilizzare uno strumento ma conoscendo anche la tecnologia costruttiva dello stesso, si possa tirar fuori sempre qualcosa in più da questo. 

Tutto quello che dirò in questo articolo potrà poi essere utilizzato anche al fine di mettere un acquirente in grado di poter valutare tecnicamente le specifiche delle varie librerie oggi disponibili in commercio, perché va bene ascoltare il suono delle demo di una libreria ma non dobbiamo fidarci troppo delle demo...

 

Non ci addentreremo tanto nelle particolarità di implementazione del lettore, ovvero di quello strumento necessario alla riproduzione del campione al momento della pressione di un tasto o, in modo più generico, alla lettura di un dato MIDI in ingresso; mi preme molto di più parlare delle particolarità costruttive delle librerie, che poi queste siano supportate da sampler progettati direttamente dall'azienda ideatrice del prodotto o che queste facciano uso di sampler già esistenti poco importa ai fini di questo articolo. 

 

Preciso sin da ora che potrei essere molto prolisso pertanto raccomando la lettura solo a quelle persone seriamente interessate all'argomento. 

Cominciamo...

 

Il primo tassello necessario alla produzione di una libreria deve essere quello relativo alla conoscenza approfondita delle specifiche del protocollo "Standard MIDI". Senza conoscere questo protocollo non si può cominciare ad ideare perché non si ha la minima idea delle possibilità che questo insieme di regole offra. Non faremo una lezione sul MIDI dal momento che la spiegazione approfondita di questo protocollo richiederebbe la disponibilità di pagine di un intero libro, ci fermeremo a descrivere alcuni concetti chiave...

Il trasferimento di dati MIDI avviene tra due dispositivi di cui uno svolge l'attività di SENDER e l'altro quella di RECEIVER. Non a caso le periferiche aventi interfaccia MIDI riportano le diciture: "MIDI OUT" ovvero la porta dalla quale fuoriescono dati MIDI e "MIDI IN" ovvero la porta adibita alla ricezione di dati MIDI. Il protocollo MIDI è un tipo di protocollo seriale ovvero dove i dati si susseguono l'uno dopo l'altro comandati da due particolari bit, uno di start ed uno di end, tra i quali viene racchiusa quella che prende il nome di "Parola MIDI". Questa è composta da due tipologie di Byte: status byte di 8 bit che da informazione sui canali, sul note on/off ecc. ed il data byte che da informazione sulla velocity, sull'altezza della nota ecc. Questi byte hanno un MSB (Most significant bit) che fa in maniera tale di distinguere quale messaggio si riferisca allo status byte e quale messaggio al data byte. Specialmente nello status byte è interessante parlare di Nibble (Sequenze di 4 bit), pertanto uno status byte di 8 bit sarà composto da due nibble. Come abbiamo visto il primo nibble è composto da un insieme di 4 bit di cui il primo si riferisce al MSB, gli altri 3 si riferiscono alla tipologia di messaggio: Channel Message o System Message. Il secondo Nibble invece da le informazioni sul canale MIDI sul quale effettuare il routing dei dati del data byte. Essendo questo composto di 4 bit avremo 2^4=16 canali indirizzabili. Nel data byte viene ad esempio registrata la velocity ed una parola MIDI può contenere più di un data byte. Siccome il primo bit è adibito alla distinzione tra status byte e data byte (MSB) ci resteranno 7 bit disponibili per la codifica del dato MIDI. Ad esempio le velocity vanno da un range da 0 a 127 perché 7 bit garantiscono 128 possibili combinazioni: 2^7 = 128  (Il dato 0 è ovviamente il primo dato).

 

Nell'idea degli ingegneri che si ritrovano a creare una libreria di suoni c'è sempre la volontà di realizzare un prodotto che sia quanto più possibile simile all'acustico, ovvero che il suo utilizzo all'interno di un contesto musicale, dia un risultato quanto più possibile simile a quello ottenibile da una registrazione dello stesso brano realizzato acusticamente. 

Il primo scoglio è rappresentato dalla scelta dello strumento: non parlo ovviamente di scegliere tra un violino, un pianoforte, un'arpa, ma della scelta dello strumento tra tanti pianoforti, oppure tanti violini, tante arpe ecc. Si vuole ricercare uno strumento esemplare che abbia un suono migliore degli altri. Questo strumento dovrà poi essere continuamente tenuto sotto controllo da un tecnico affinché non si modifichino le sue caratteristiche di accordatura e di timbrica. Registrare la stessa note su due diversi livelli con accordature diverse date dalle naturali perdite di trazione potrebbe essere distruttivo per la creazione di una libreria.

 

Venendo all'atto della campionatura ci sono delle problematiche insormontabili per le quali non esiste soluzione, analizziamone alcune...

 

Quanti di noi non hanno mai sentito la frase: "Il tutto non è mai uguale alla somma delle parti" ?

Non potrebbe esistere occasione migliore di questa per tirare in gioco questa frase. 

 

Registrare due note separatamente per poi sovrapporle facendole suonare insieme e suonare due note insieme registrandole non è affatto la stessa cosa. Se dovessero esserci dei dubbi mi riservo di postare un'analisi di spettro per dimostrare sulla carta questa mia dichiarazione ma credo che la spiegazione di seguito sia sufficientemente convincente. 

 

Suonando una nota si viene a creare la frequenza fondamentale ed i suoi armonici (questo discorso è valido per qualsiasi strumento). 

Suonando un'altra nota avviene la stessa pappa, non ci dilunghiamo. 

 

Suonando due note insieme le frequenze delle due note interagiscono tra loro per effetto della risonanza simpatica (sympathetic resonance). In particolare alcune frequenze verranno attenuate, altre rafforzate, questo gioco di frequenze può essere chiaramente visibile a livello di spettro ma è anche evidente all'ascolto.

 

Sarà quindi il caso, in fase di progettazione di una libreria, di prendere coscienza di questa problematica studiando il fenomeno e trovando una legge teorica o empirica che risolva la problematica. Oggi sono infatti disponibili diverse librerie che prevedono l'utilizzo della Sympathetic Resonance con la possibilità di aggiustare la sua partecipazione tramite un pomello di "Amount".

 

Veniamo alle problematiche acustiche in fase di cattura... Esistono essenzialmente due metodi per la cattura dei campioni:

- Strumento posizionato in camera anecoica e registrazione dei campioni quanto più dry possibili per poi colorarli tramite l'utilizzo di riverberi software o macchinari outboard di riverbero.

- Strumento registrato in una sala da concerto.

 

Ovviamente la scelta di queste due tipologie è anche fortemente influenzata dal target al quale si vuole riferire questa libreria. Per una libreria general purpose potrebbe essere consigliata la prima, per una libreria ad uso classico è sicuramente consigliabile optare per la seconda scelta. 

Nel caso della prima scelta c'è ancora un ulteriore problema da considerare, ovvero che la simulazione ambientale tramite l'uso di plugin o macchinari esterni per il riverbero può essere limitativa. Mi spiego meglio... L'effetto di riverbero è psicoacusticamente riconosciuto per merito delle riflessioni dell'ambiente. Ciò significa che il suono diretto, prodotto da uno strumento si propaga grazie al mezzo (tipicamente l'aria) per poi scontrarsi con le pareti dell'ambiente. Normalmente il suono riflesso sulle pareti arriva all'orecchio dell'ascoltatore o, in questo caso, alla capsula del microfono con un certo ritardo. Dobbiamo dire che nella realtà percettiva questi ritardi appartengono al dominio dei numeri reali (continui), nella riproduzione con i plugin l'andamento sarà discreto (appartenenti all'insieme dei numeri naturali N). Ne risulta che nessun plugin potrà mai ricreare psicoacusticamente lo stesso effetto di riverbero esistente in natura e questo comporta certamente delle differenze nelle due tipologie di cattura. In aggiunta un altra problematica è legata al coefficiente di assorbimento delle pareti per banda di frequenza. Per questo motivo sono stati inventati i riverberi di convoluzione che tramite un prodotto integrale si occupano di ricreare le condizioni acustiche della sala anche in relazione alla risposta in frequenza di quest'ultima, ma non dobbiamo dimenticarci che siamo sempre nel campo discreto. 

 

In ultima istanza, tornando al target della nostra libreria, questo comporterà anche la scelta della strumentazione di cattura (microfoni, preamp, convertitori, eq e compressori) e del posizionamento dei microfoni e del loro punto spot. Per una libreria creata per scopi Jazz sarà certamente più valido posizionare i microfoni molto vicini allo strumento, essendo il Jazz uno stile dove si cerca il dettaglio sonoro. Questa scelta non si accosterà certamente al repertorio classico. 

 

Per questo motivo gli ingegneri hanno pensato bene di catturare lo strumento da diverse prospettive spaziali fornendo gli ormai conosciutissimi posizionamenti: CLOSE, PLAYER, ROOM, STAGE, SIDE ecc. In questo modo l'utente finale, grazie ad una interfaccia grafica utente (GUI) sapientemente programmata potrà miscelare queste prospettive per trovare il suono che più si addice al suo lavoro. Ricordiamo ancora una volta però il detto che il tutto non è uguale alla somma delle parti !! Con questo voglio dire che questo artificio non potrà mai sostituire una ripresa pensata espressamente per un particolare stile musicale. 

 

Per ultimo, prima della cattura, sarà necessario pianificare che tipo di suoni catturare; questa scelta varia chiaramente in base allo strumento che dovranno campionare. Per un violino sarà il caso di catturare le articolazioni: staccato, pizzicato, legato, spiccato, vibrato ecc. ecc. Per il pianoforte: staccato, release, con pedale tonale, senza pedale tonale, con pedale una corda, ribattuto, rumori martelli, rumore dampers ecc.

Questa scelta non può prescindere dal consiglio di un musicista che deve lavorare a stretto contatto con l'ingegnere proponendo le soluzioni di campionamento in grado di coprire tutte le situazioni che si possano incontrare all'interno di una partitura. 

Questa operazione deve essere fatta ovviamente per tutte le velocity. 

 

Siamo giunti quindi alla scelta del numero di livelli. Come avevamo visto precedentemente il databyte midi relativo alla velocity è in grado di contenere valori che vanno da 0 a 127 livelli. Creare una libreria con 127 livelli sarebbe dispendiosa come tempistica, come lavoro e come peso finale. 127 livelli per 88 note comportano 11176 campioni per ogni articolazione. Considerando una media calcolata tramite i dati di seguito, di 5 MByte per ogni campione a 16 bit stereo 44100 di 30 secondi, avremmo la bellezza di 55 Gb per una sola articolazione. Considerando di voler campionare solo 4 articolazioni la nostra libreria arriverebbe a pesare 220 Gb !!  A 24 bit saliremmo a 338 Gb... Improponibile. 

Si è pensato quindi di realizzare dei campioni capaci  di essere utilizzati in un certo range di velocity e sfruttare il valore della velocity all'interno del sampler come volume di normalizzazione del campione in uso all'interno del range. In soldoni avendo a disposizione 127 livelli potremmo dividere logaritmicamente il segnale che va da 0 dBFS a -infinito in 127 livelli logaritmicamente equidistanti così da far suonare i campioni a livelli tra essi compatibili. 

Per fare questo è necessario, una volta campionati, normalizzare tutti i campioni a 0 dBFS (i volumi dei campioni ascoltati da un normale lettore audio saranno tutti gli stessi ma ovviamente il timbro sarà diverso; una nota suonata piano anche se amplificata per arrivare al livello degli 0 dB avrà sicuramente meno armonici di una nota suonata forte). La differenziazione viene poi fatta mappando i campioni nei range di velocity. (Se non sono stato abbastanza chiaro ditemelo e cercherò di spiegare la cose con alcuni esempi). 

 

Chiaramente più livelli ha una libreria più questa presenterà un timbro progressivo e credibile man mano che aumenta la velocity, ma come abbiamo visto dobbiamo anche fare i conti con le dimensioni !!

 

Librerie considerate ottime si aggirano sui 18 livelli di campionamento in su,  molto buone siamo intorno ai 12, buone 9, sufficienti 7, insufficienti al di sotto di 7. 

 

Negli strumenti come il pianoforte è anche possibile prevedere quello che prende il nome di Round Robins, ovvero una tecnica che permette di far riprodurre stocasticamente un campione tra 2/3/4/5... disponibili per la stessa nota nello stesso range di velocity nei ribattuti. È una tecnica valida sia per i campioni una corda, con pedale tonale, senza pedale tonale ecc. e serve chiaramente per aumentare la credibilità di una libreria. Ribattere una corda già in vibrazione produce infatti di volta in volta un suono diverso rispetto alla corda in stato di quiete. Questo accade perché ovviamente va considerato dove il martello colpisce la corda in vibrazione. La distanza martello corda nel caso di quiete è sempre costante, nel caso della corda in vibrazione questa varierà ! Oltretutto soprattutto nei primi istanti dovremmo valutare se l'interferenza del martello sulla corda ha fondamenta costruttive o distruttive della vibrazione. In particolare anche il martello, una volta colpita la corda impiega un certo tempo per lasciarla vibrare quindi nei primi istanti di impatto in una corda in vibrazione accadranno alcuni fenomeni che in qualche modo modificheranno il suono. Quale migliore tecnica per la simulazione di questa particolarità se non quella dell'utilizzo del Round Robin ? 

 

Altre considerazioni, sempre restando sul pianoforte che è lo strumento a me più vicino, possono essere quelle dei campioni relativi all'half pedaling ovvero a quella tecnica utilizzata dai pianisti per velocizzare la curva di inviluppo dei suoni senza estinguerli in maniera brusca, vibrando il pedale sulle corde.

 

Una volta ottenuti tutti i campioni questi dovranno essere processati a livello di restauro del suono (di vitale importanza). Questo è un argomento di vitale importanza perché potrebbe causare dei problemi seri nell'uso finale della libreria che se preso sotto gamba potrebbe veramente determinare la sua cattiva riuscita. La legge vuole che i campioni non debbano assolutamente contenere rumore di fondo. Se registrassimo un'esecuzione acustica questa avrebbe un suo rumore di fondo costante più o meno udibile a seconda della dinamica della registrazione (nelle parti molto percussive sarebbe certamente poco udibile mentre sarebbe molto più udibile nei pianissimi, in ogni caso la sua presenza potremmo assumerla come costante). Cosa succede se trovo rumore di fondo all'interno dei campioni delle librerie ? Accade che i rumori di fondo si sommano. Il risultato è che in un bicordo potrei constatare poco rumore di fondo, ma in un accordo a 8 note, questo mi diventerebbe molto presente. Ovviamente in una composizione è molto facile trovare sia accordi che bicordi e ne risulterebbe una presenza di rumore di fondo non omogenea. Per questa motivazione è strettamente necessario eliminare completamente il rumore di fondo. L'eliminazione del rumore di fondo, però, anche se eseguita in via spettrale, tende sempre a mangiarsi qualcosa sulle alte frequenze specialmente sui campione del pianissimo. Per questo motivo si tende a registrare i campioni in modo un po' più brillante cosicché al momento del restauro venga restituito un suono che non sia "compromesso" da questa operazione. 

 

È arrivato il momento di normalizzare i campioni tutti allo stesso livello così da rendere effettuabile il ragionamento fatto poco sopra sulle velocity. 

 

Per ultimo vengono realizzati i gruppi delle articolazioni e vengono mappati i singoli campioni di ogni gruppo nella matrice MIDI del sampler. Si stende il codice che tenga conto di tutte le funzionalità del caso e vengono implementati i vari plugins a corredo della libreria (eq, compressore, riverbero, sympathetic resonance ecc.) e l'interfaccia grafica utente che dovrà essere intuitiva e funzionale per tutte le tipologie di utilizzatori. 

 

Ho cercato di ridurre il discorso all'osso essendo questo infinitamente più complesso ma spero di aver per lo meno reso l'idea delle difficoltà legate alla realizzazione di una libreria che comunemente utilizziamo tutti i giorni senza conoscere però la quantità di lavoro alle sue spalle e di aver fornito qualche informazione per chi si ritrova a spendere dei soldi per comprare una nuova libreria di campioni. 

  • Like 4
Link to comment
Condividi su altri siti

  • 5 weeks later...

Mi ero ripromesso di leggere tutto qualche giorno fa ed oggi ho "eseguito" il mio auspicio.

La parte dedicata al midi (che in parte, diciamo superficialmente conosco) mi ha fatto pensare alle scatole cinesi, sotto sotto il tutto è sempre fissato in base ad un ordine gerarchico di controllo, 

senza il quale ai incontrerebbero molte difficoltà nel controllo ma soprattutto nella programmazione di una libreria, aggiungo anche quelle che normalmemte si usano come "preset" o user patch (sound, layer, ecc..) nei vari sintetizzatori hardware, i controlli midi sono appunto, come dici, controlli stardard basati sull'omonimo protocollo, cosa che ha giovato alla diffusione delle basi midi ma anche al riconoscimento delle variabili a livello di controllo del suono e dell'esecuzione da un software all'altro.

Parlando del controllo "Amount" definibile in fase di campionamento, avrei una domanda, compreso (poi se è il caso dimmi se sbaglio) quello che hai scritto, mi è venuta in mente una cosa, riguarda appunto la riproduzione di due o più note contemporaneamente con anche se piccole, differenti peculiarità al momento dell'ascolto, piccoli accorgimenti che permettono di interpretare le note suonate come "diverse" e non ognuna una copia dell'altra: questo parametro tiene in considerazione, entro un certo range pensato e programmato (si parla quindi di istruzioni che poi il lettore di campioni dovrà eseguire selezionato il controllo Amount), in fase di playback, ad esempio 3 note suonate contemporaneamente saranno riprodotte con diversi livelli di (oltre alla velocity, che dipende sopratutto dal tocco sul tasto e dall'impostazione della regolazione della curva di velocity, se impostata in positivo o in negativo) "brillantezza", nel caso di uno strumento a corda come il violino, con quell'effetto naturale dello sfregamento dell'archetto sulla corda, più o meno enfatizzato in una delle tre note riprodotte, quindi donando all'accordo un senso di realtà che altrimenti non si avrebbe, in pratica, questo controllo (amount) prevede in un certo senso una modalità "random" che fa accedere a delle micro variazioni di alcuni parametri (impostati come varianti del suono stesso, non di ciò che è inerente all'altezza di nota, al volume, ecc..ma proprio al timbro), oppure il controllo riguarda "solamente" il rapporto tra le differenti frequenze che vengono ad instaurarsi in caso di playback duofonico o polifonico?

Link to comment
Condividi su altri siti

Credo di non aver capito bene la domanda... Non capisco di che tipo di Amount parli. Nel midi non esiste un canale che gestisce un tipo di dato chiamato amount.Amount in inglese sta ad indicare l'ammontare di una certa variabile. In fase di campionamento non viene gestito nessun tipo di dato amount, vengono appunto campionati dei suoni per diversi range di velocity. Se ipoteticamente campionassimo 127 "volumi" della stessa nota allora spargendoli successivamente sulla matrice delle velocity avremmo 127 campioni distribuiti su 127 velocity = 1 campione per velocity. Siccome realizzare una libreria di 127 campioni diventa molto dispendioso sia in termini di realizzazione che in termini di peso della libreria stessa si decide di campionare ad esempio 8 livelli di campioni che vanno ad occupare un range di circa 16 gradazioni di velocity. 

Quando suoni tre note contemporaneamente (anche se in realtà nel MIDI, essendo un tipo di protocollo seriale non può esistere la contemporaneità ma per noi sono 3 note suonate nello stesso tempo dal momento che hanno una latenza di quale microsecondo l'una con l'altra, ovvero ben due ordini di grandezza sotto alla tolleranza dell'orecchio umano) ogni nota sarà un'evento a sé per il sampler. Quindi ogni nota suonerà con la propria velocity. Ci sono degli algoritmi di Humanizer che rendono possibile creare delle non perfezioni nella riproduzione MIDI ma la cosa serve a poco se siamo noi a registrarlo con una tastiera. Più umani di noi chi c'è ? Riguardo alla contemporaneità di eventi in alcune particolari librerie come ad esempio in quelle dei violini bisogna vedere. Ci sono accordi a tre note che con un violino non possono essere presi in quel caso, se stiamo parlando di una sezione, esiste la funzione "divisi" tipicamente implementata in ogni libreria seria di archi che utilizza tre violini per far riprodurre tre note diverse alla sezione. 

 

Spero di aver risposto alla tua domanda perché non mi era molto chiaro il tuo punto di vista. 

Link to comment
Condividi su altri siti

Si, hai risposto in parte a quello che chiedevo indicando la differenza di latenza riguardo l'attacco di note diverse e con l'algoritmo Humanize, ma più precisamente quello che intendevo era se la differenza di timbro (l'esempio che ho fatto con il campione di violino in cui si avverte lo sfregamento dell'archetto sulla corda) tra diverse note suonate in sequenza ma anche in simultanea (giustamente tenendo conto delle reali possibilità con un vero violino o altro strumento a corda), come ho pensato ma non ne sono sicuro e non posso esserlo, è un qualcosa di programmabile, quindi definibile a priori, o l'effetto che si ottiene (che sembra comunque ricorrere e non cambiare di volta in volta, come avviene ad esempio con la sintesi a modelli fisici, vedi Yamaha Vl1, Vl7, 70, ed altri sintetizzatori hardware che ho preso come esempio in questo caso) è di tipo random, cioè (questo punto mi sta venendo in mente ora) è consigliabile, proprio in base a quello che hai detto riguardo la smisurata grandezza della libreria in gb che si avrebbe facendo in questo modo, programmare un algoritmo in grado di far ottenere queste varianti timbriche, senza dover registrare e mappare tutta una serie di varianti, dallo sfregamento a diversi livelli di velocity, all'attacco di un certo tipo ecc..(in modo tale da offrire una palette che contribuisca ad ottenere un sound finale che non faccia pensare alla stessa tipologia di suono)?

Link to comment
Condividi su altri siti

No, in una libreria campionata ci sono campioni. Le caratteristiche timbriche sono conferite dai campioni presi dallo strumento acustico. Eventuali plugin inseriti all'interno della libreria come equalizzatori, compressori possono andare ad alterare le caratteristiche timbriche del suono non a modificare. C'è una differenza sostanziale. Alterare le caratteristiche timbriche significa incrementare/decrementare alcuni range di frequenze per rendere rispettivamente più o meno evidenti alcune caratteristiche del timbro. Modificare le caratteristiche timbriche di un suono comporta snaturare completamente il timbro di quello strumento rendendolo irriconoscibile. Con i primi sintetizzatori era molto facile costituire il timbro di un flauto (molti esperti tra cui Enrico Cosimi lo farebbero in un attimo). Basta saper dosare sapientemente gli oscillatori. In quel caso noi stiamo costruendo un suono facendo riferimento al flauto pertanto, per farlo, costruiamo un timbro, facendo riferimento alle componenti spettrali originali. Un campione è un campione, contiene già dentro di sé tutto quello che serve. Gli algoritmi vengono utilizzati come hai ben detto, nei modelli fisici che ricostruiscono il suono di uno strumento acustico a partire dalle leggi fisiche che lo governano (possiamo vedere questo concetto come un'estensione molto evoluta dei sintetizzatori). 

Insomma sono due concetti assai distanti tra loro. Continuo a dire comunque che, per lo meno in ambito classico, non mi ritengo particolarmente amante dei modelli fisici. Non si addicono al suono che si cerca in classica e, a questo scopo, continuo a sostenere la superiorità dei campioni. 

Link to comment
Condividi su altri siti

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Rispondi a questa discussione...

×   Incollato come rich text.   Incolla come testo normale invece

  È permesso solo un massimo di 75 emoticon.

×   Il tuo link è stato incorporato automaticamente.   Visualizza come collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Cancella editor

×   Non è possibile incollare direttamente le immagini. Carica o inserisci immagini dall'URL.

Loading...
 Share

×
×
  • Crea nuovo...