Costruzione dei vst instruments

Enrico77 22-02-12 22.13
Salve a tutti io ho una grande curiosità da chiedervi a voi esperti......ma quando una persona costruisce uno strumento virtuale come ad esempio il B3 di native instruments da dove si parte? Si comincia dallo studio dell'onda cercando materiale da studio e da li poi si crea un modello matematico...sono curioso di capire...C'è qualcuno che mi potrebbe dare delle spiegazioni in merito perchè il discorso mi appassiona veramente....
Grazie a tutti coloro che mi aiutano
thermidor 23-02-12 00.00
Ma questa è veramente una domanda da un milione di euro.
Chi fa VST a livello professionale, sicuramente parte dall' analisi dello strumento reale, per poi ricreare il modello matematico, che poi va tradotto in C.
Questa cosa non è ovviamente banale, esistono anche pacchetti già confezionati per crearsi dei VST in modo più semplice, come SynthMaker o SynthEdit, con i quali si ottengono buoni risultati.
Edited 22 Feb. 2012 23:01
ruggero 23-02-12 10.03
molto interessate.
So che esiste Synthedit per creare dei VST che credo sia stato il primissimo sistema su cui ci basava Organized di Guido (che poi è diventato il famoso VB3). Non vorrei dire però stupidaggini.
A me piacerebbe imparare per farmi ad esempio l'RMI Pianet in VST.
JoelFan 23-02-12 10.14
Io lo svilupperei anche su Linux (quindi non solo vst).
Anche se lo vuoi fare professionale, hai meno concorrenza
thermidor 23-02-12 15.08
Comunque se si hanno le dovute conoscenze di software, Steinberg fornisce gratuitamente l' SDK per sviluppare DLL in tecnologia ASIO, certamente synthedit è molto più semplice.
Personalmente preferisco mettere le mani nell' hardware.
carmol 23-02-12 17.08
Enrico77 ha scritto:
quando una persona costruisce uno strumento virtuale come ad esempio il B3 di native instruments da dove si parte?

Si parte dalla conoscenza approfondita dello strumento da simulare.
Ciascuno strumento ha le proprie peculiarità,
per cui solo attraverso la conoscenza dello stesso
si può individuare il tipo di sintesi e gli algoritmi da utilizzare per riprodurlo.

Conoscenza sia di come funziona la sorgente sonora,
sia di come i suoni generati evolvano in funzione del tempo,
della frequenza fondamentale, della dinamica, dell'intervento
sui controlli, etc.

Che poi si utilizzi una piattaforma o un altra,
es. VST o Host proprietario, è abbastanza indifferente;
sviluppare VST, con strumenti tipo synthedit può
senz'altro risultare più semplice (ma anche più limitativo),
ma la cosa più importante è individuare efficaci tecniche ed algoritmi
di simulazione.
Edited 23 Feb. 2012 16:53
Enrico77 23-02-12 20.21
Quindi per ricreare un suono ad esempio l'onda caratteristica di uno strumento che può essere un organo hammond, un vox continental, un farfisa compact ma anche un sax o una tromba o perche no anche il pianoforte in teoria c'è uno studio approfondito dello strumento.
Ad esempio voglio ricreare la forma d'onda di un vox....studio la forma d'onda originale e costruisco un algoritmo matematico che me la riproduca....Volete dirmi questo? Se si come viene fatto lo studio attraverso l'analisi con oscilloscopi dove si vede la forma d'onda e si vedono anche le armoniche che la compongono?
maxpiano69 23-02-12 20.45
@ Enrico77
Quindi per ricreare un suono ad esempio l'onda caratteristica di uno strumento che può essere un organo hammond, un vox continental, un farfisa compact ma anche un sax o una tromba o perche no anche il pianoforte in teoria c'è uno studio approfondito dello strumento.
Ad esempio voglio ricreare la forma d'onda di un vox....studio la forma d'onda originale e costruisco un algoritmo matematico che me la riproduca....Volete dirmi questo? Se si come viene fatto lo studio attraverso l'analisi con oscilloscopi dove si vede la forma d'onda e si vedono anche le armoniche che la compongono?
Non è esattamente così e cmq non aspettarti di imparare un qualcosa che richiede molto studio e dedizione solo chiedendo qua e là in un forum emo

Devi avere ben chiari concetti che vanno dalla programmazione, alla teoria dei segnali (Digital Audio Processing) alle varie tecniche di sintesi sonora, di cui a puro titolo di esempio trovi un breve sommario qui http://otolabdidattica.wordpress.com/2011/02/16/glossario-metodi-di-sintesi-audio/

L'analisi del suono originario quindi può essere attuata in vari modi in conseguenza della scelta del metodo di sintesi. Nel caso del campionamento anzi non si fa nessuna analisi: si campiona il suono a livelli ed intervalli ritenuti sufficienti.

Se comunque vuoi provare a fare esperienza di VST "fai da te", credo che chi ti ha consigliato SynthEdit abbia dato la dritta giusta in quanto essendo modulare ti solleva dalla "parte bassa" dello sviluppo e consente di ottenere dei primi risultati in tempi più rapidi

PS: e se invece vuoi dare un'occhiata ad un forum più specifico che tratta dello sviluppo di VST lo trovi qui http://www.kvraudio.com/forum/viewforum.php?f=33 ed ha proprio un topic fisso che si intitola "How Do I Create VST Plugins? Information for those just getting started "
Edited 23 Feb. 2012 20:05
Enrico77 23-02-12 23.06
Si sono pienamente d'accordo se decido di usare la tecnica del campionamento, ma se uso ad esempio il modello fisico come tanti strumenti usano (la roland vr 760 o l'organo combo sempre della roland ad esempio) come si procede, dallo studio dell'onda credo....
thermidor 24-02-12 00.08
La sintesi a modelli fisici è proprio la più complessa.
Si basa sulla generazione di un disturbo (in genere una sorgente di rumore), che viene processata da un modello che ricrea la cassa di risonanza di una chitarra, le canne di un organo e così via.
Ovviamente occorre una grossa conoscenza di fisica dell' acustica per potere ricreare il modello risonante, non solo ma anche avere confidenza con trasformata e antitrasformata di Fourier, di Laplace e soprattutto conoscere bene la trasformata Z.
Credo che per noi mortali SynthEdit sia ancora la soluzione migliore.
maxpiano69 24-02-12 10.39
@ Enrico77
Si sono pienamente d'accordo se decido di usare la tecnica del campionamento, ma se uso ad esempio il modello fisico come tanti strumenti usano (la roland vr 760 o l'organo combo sempre della roland ad esempio) come si procede, dallo studio dell'onda credo....
No, per fare una sintesi a modelli fisici devi partire dallo studio di come è fatto "fisicamente" l'oggetto che si vuole emulare (esempio l'Hammond) in tutte le sue parti e come esse interagiscono tra loro (esempio l'Hammond a partire dalle sue tonewheels, inclusi i "difetti "quali il leakage, più tutto il resto del "sistema" dal Vibrato scanner al fatto che la tastiera ha 9 contatti quindi chiude le drawbar in sequenza etc...).

Ovviamente lo sviluppatore potrà decidere se implementare tutte le caratteristihce o solo alcune e con quale livello di approssimazione

Un altro esempio assimilabile alla sintesi a modelli fisici è quello dei VST Korg del Polysix e del MS20 che usano una tecnica chiamata CMT che praticamente simula l'HW originario nei suoi componenti e nella loro interconnessione fisica

"Component Modeling Technology (CMT) recreates the original circuit path and analog signal flow, to provide results that are completely faithful to the original hardware." http://www.korg.com/LegacyMS20.

Come dice Thermidor la sintesi a modelli fisici è la più complessa di tutte, perchè richiede competenze di base più ampie e in buona parte (modellazione) specifiche per l'oggetto da modellare.
Edited 24 Feb. 2012 9:47
carmol 24-02-12 13.35
Lo studio dell'onda può essere tutt'alpiù
un punto di arrivo perchè in realtà
l'"onda caratteristica" di uno strumento, come tu
la chiami, non esiste.
Qualsiasi strumento non ha UN onda, ma ne ha molteplici,
spesso INNUMEREVOLI, quindi studiarne le caratteristiche non ha molto senso.
Anche se in qualche caso esiste un numero limitato di forme d'onda di base,
ad es. quelle degli oscillatori di un sintetizzatore,
il compito arduo non è la riproduzione della forma d'onda "nuda",
che tra l'altro è di poco interesse,
ma l'emulazione di tutti i processamenti che la forma subisce,
voluti e non, e altamente variabili, dalla generazione allo stadio di uscita.

In alcune circostanze lo studio della forma d'onda
può essere un lavoro di sintesi, non di analisi.
Ad esempio, su un noto forum si è fatta una comparazione oggettiva
tra i vari piani digitali tramite appunto lo studio dell'onda,
per poter dare un verdetto quanto più oggettivo possibile.
Edited 24 Feb. 2012 12:53
mima85 24-02-12 15.09
Enrico77 ha scritto:
Ad esempio voglio ricreare la forma d'onda di un vox....studio la forma d'onda originale e costruisco un algoritmo matematico che me la riproduca....Volete dirmi questo?


Nell'emulazione degli organi combo la cosa è più semplice, dato che si tratta essenzialmente di segnali statici (le quadre in uscita dagli oscillatori e dai divisori) che vengono filtrati in diversi modi e mescolati.

Nel caso specifico del Vox Continental le onde sono delle pseudo-triangolari, ottenute mescolando 2 onde quadre filtrate in modo differente (una poco filtrata che ha pressappoco questa forma d'onda e l'altra molto filtrata, abbastanza vicina ad una sinusoide). La quantità di ognuna delle due onde nel mix è data dalla regolazione dei drawbar "Flute" e "Reed".

Se vuoi riprodurre il Vox Continental è sufficiente campionare un singolo periodo (oscillazione) di entrambi i tipi di forma d'onda (magari campionane un paio per ottava) e creare per ognuno un set di oscillatori che riproducano i footage dei registri del Vox. In seguito devi emulare i 2 drawbar "Flute" e "Reed", che altro non dovranno fare che regolare il volume di questi 2 set di oscillatori.

Al set di oscillatori devi poi legare un LFO impostato più o meno a 6-7 Hz che moduli il pitch di questi, in modo da creare il vibrato.

Le onde non devi per forza campionarle dal Vox, puoi anche campionarle da un synth su cui filtrerai una quadra nei 2 modi diversi in modo da ottenere le due varianti.

Non lo conosco, ma penso che con SynthEdit puoi fare tutto quanto, come detto l'architettura dei combo è abbastanza basilare.
carmol 24-02-12 18.56
Aggiungo che gli organi hanno gli oscillatori "free",
cioè essi cominciano ad oscillare all'accensione e finiscono
allo spegnimento, per cui, per una corretta emulazione,
non va bene avviare sample alla pressione dei tasti,
come nella sintesi PCM tradizionale; in tal caso si perderebbe
la sincronia della fase degli oscillatori: il suono, in polifonia,
perderebbe la fedeltà all'originale.
Occorre invece simulare uno scorrimento continuo dell'onda campionata
(o emulata), per tutte le note, attivando la riproduzione solo di quelle
relative ai tasti premuti.
Questo è un esempio del perchè è importante
la conoscenza approfondita dello strumento da riprodurre.
Edited 24 Feb. 2012 18:08
mima85 24-02-12 20.19
carmol ha scritto:
Aggiungo che gli organi hanno gli oscillatori "free",
cioè essi cominciano ad oscillare all'accensione e finiscono
allo spegnimento, per cui, per una corretta emulazione,
non va bene avviare sample alla pressione dei tasti,
come nella sintesi PCM tradizionale; in tal caso si perderebbe
la sincronia della fase degli oscillatori: il suono, in polifonia,
perderebbe la fedeltà all'originale.


Esatto, gli oscillatori dei registri d'ottava devono stare assolutamente allineati in fase, dato che oltre al fatto che sono freerun nell'organo vengono ricavati da dei divisori di frequenza che fanno capo ad un unico oscillatore, che per forza di cose mantiene allineata la fase delle varie ottave ricavate dal master oscillator.

Una piccola tolleranza ci può essere per i registri di quinta come il 5' 1/3 o il 2' 2/3, per via del fatto che, a fronte di un tasto premuto, i registri di ottava vengono ricavati dalla stessa scheda oscillatore (quindi il tutto proviene dal medesimo master oscillator), ma le quinte vengono ricavate cablando per questi registri le schede delle relative note (per esempio se si preme un DO, i registri di 16', 8', 4', e 2' provengono dalla stessa scheda, ma le quinte vengono ricavate dalla scheda del SOL). Essendo quindi che le quinte vengono da una scheda differente, con un master oscillator differente, non sono mai perfettamente allineate in fase.

Questo perlomeno è quanto ho potuto rilevare durante il restauro del mio CEI Prestige, ma penso che sia la stessa cosa più o meno per tutti i combo organ.
Edited 24 Feb. 2012 19:28
thermidor 24-02-12 22.58
No qui bisogna fare un po' di chiarezza, esistono le due situazioni ossia organi che hanno la generazione con dodici oscillatori (quindi la correlazione di fase è incerta), e organi che partono da un solo oscillatore, nel qual caso la correlazione è sicura al 100%.
In linea di massima è preferibile che la correlazione non sia esatta, tanto è vero che nei primi synth polifonici (con generazione digitale, DCO), che in genere avevano due generatori per voce, i clock pure se alla stessa frequenza erano due apposta per non avere la stessa correlazione di fase.
Insomma l' andamento di questo thread dimostra come sia complesso il discorso della costruzione del suono, sia che la fai in hardware sia che la fai col software.
mima85 25-02-12 00.52
thermidor ha scritto:
No qui bisogna fare un po' di chiarezza, esistono le due situazioni ossia organi che hanno la generazione con dodici oscillatori (quindi la correlazione di fase è incerta), e organi che partono da un solo oscillatore, nel qual caso la correlazione è sicura al 100%.


Gli organi di cui parlo io sono quelli con 12 schede oscillatore (come il Vox di cui parlava Enrico77 o come il mio CEI Prestige). La correlazione di fase tra i registri di ottava di una singola nota di questi organi è sempre fissa, in quanto queste armoniche vengono tutte dalla stessa scheda oscillatore, la quale ha il suo master oscillator da cui vengono derivate con dei divisori le ottave inferiori.

In questi casi, come spiegato, per ogni singola nota la correlazione di fase è incerta solo per i registri che non siano d'ottava, dato che vengono presi di volta in volta dalle schede delle note necessarie. Ho potuto constatare io stesso questa cosa durante il restauro del mio CEI, guardando il segnale nell'oscilloscopio (con il trigger in modo da poter visualizzare bene la fase) e vedendo come attivando i registri d'ottava la fase era sempre fissa per tutte le armoniche, ma inserendo un registro d'ottava ed il registro di 5a c'era un evidente scostamento continuo tra i fronti di salita delle due armoniche, a velocità parecchio bassa ed in certi casi addirittura non fissa.

Logicamente poi negli organi che partono da un singolo master oscillator ad alta frequenza li si che si ha la correlazione di fase fissa per tutti quanti i registri. Il Farfisa Matador dell'utente Generale mi pare sia uno di questa tipologia.
Enrico77 26-02-12 16.47
Bè devo dire che siete tutti una fonte senza fine di sapere e vi ringrazio per le spiegazioni tecniche che mi avete dato....
Per fare un vst del vox ho intuito che è "abbastanza semplice" ma per esempio un organetto come il Gibson G101 che ha un sacco di filtri come si potrebbe procedere ?
mima85 26-02-12 18.24
Enrico77 ha scritto:
ma per esempio un organetto come il Gibson G101 che ha un sacco di filtri come si potrebbe procedere ?


Presumo in 2 modi:

1) Studi il comportamento dei filtri e lo riproduci matematicamente nel tuo VSTi

2) Campioni singolarmente ogni registro con tutte le variazioni di filtro del caso, e ripeti la procedura per ognuna delle note che vuoi campionare per coprire l'intera estensione della tastiera

È un lavoro certosino come vedi, con gli organi combo in genere si ha la fortuna che sono strumenti con un comportamento abbastanza statico, ovvero una volta che hai settato filtri e registri il suono è sempre quello, e vibrati, percussion repeat e tremoli sono abbastanza facilmente riproducibili sfruttando degli LFO. Le varie combinazioni di registri poi le si riproducono semplicemente facendo suonare insieme i campioni di ogni registro, avendo sempre un occhio di riguardo per la fase (come detto i campioni devono rimanere in fase per emulare correttamente un organo)

Per i synth invece la questione è molto diversa, sono troppe le combinazioni possibili per potersi permettere di lavorare completamente con i campioni, per cui si preferisce riprodurre tramite modelli matematici il comportamento dello strumento.
thermidor 26-02-12 23.02
I filtri negli organi combo sono generalmente piuttosto semplici, se hai un conoscente che ha fatto elettronica, osservando lo schema è in grado di ricostruire la funzione di trasferimento, quindi di avere i dati per ricreare il filtro. In generale non si va oltre a filtri del secondo ordine, insomma cose che si studiano all' itis.