Giugno 2020


Yamaha Montage e MODX - Creare Waveforms composte da Single-Cicle Waves

Vediamo come creare per il Montage o MODX una o più Waveform, ciascuna composta da 3 o 4 Keybanks, partendo da una Wave single-cicle di 2048 campioni.
I passaggi da fare per ottenere ciascuna Waveform sono:

- Procurarsi la Wave single-cicle di 2048 campioni (16 bit- mono – Sample Rate 44.100 KHz) che corrisponde alla nota F0 +19 cent
- Ottenere tramite resampling le onde a frequenza multipla (note F2, F4 ed eventualmente F5) e abilitare il “tag” (matadata) “Loop=On” con dimensione di loop pari alla Wave stessa
- Creare la Waveform per Montage (MODX) settando i range e la intonazione di campioni.

Per comodità di esposizione mi riferirò sempre al Montage: tutto quello che descrivo vale anche per il MODX che per la parte AWM2 ha le medesime caratteristiche di sintesi e stessa polifonia (128 note)

Per le varie operazioni che descriverò occorre utilizzare dei software come indicato nel diagramma di flusso: in particolare per il primo passo (il resampling) ci sono 3 opzioni: l’uso combinato di Audacity e Endlesswav, o in alternativa Wavesaur o Awave Studio.

Per la creazione (assemblaggio) della waveforms e successivo export in una libreria si possono usare in alternativa Samplerobot o Montage Waveform Editor.
Come poi vedremo è possibile bypassare il secondo passaggio e procedere caricando i singoli file .wav nel Montage tramite chiavetta USB; tale opzione è ovviamente sconsigliabile se si desidera creare un certo numero di Waveforms, a causa dell’elevato numero di file .wav da caricare e keybanks da configurare.

Vediamo in dettaglio.
Il punto di partenza è un file .Wav che contiene una onda Single-Cycle di 2048 campioni, ottenuta ad esempio all’interno dell’editor di Serum tramite l’opzione “Export All as Single-Cycle Waves”: nell’esempio vengono memorizzate con un solo click tutte le 8 Waves che compongono la tabella.

A causa dei vari ricampionamenti (2048->512->128) per evitare artefatti è fondamentale che l’onda Single cicle inizi (e quindi termini) con un passaggio “Zero Crossing”.
Se occorre è possibile farlo ad esempio con l’editor di Serum tramite l’opzione Single – Shift Horizontal to Zero-crossing.

Il secondo passo consiste nell’ottenere tramite resampling le onde single-cycle a frequenza multipla (F2, F4 ed eventualmente F5) e dimensioni progressivamente dimezzate. Se si desidera creare una Waveform con 3 KeyBanks occorre utilizzare i campioni con note F0, F2 e F4; per Waveforms con 4 Keybanks si deve aggiungere un campione con nota F5. Seguono le lunghezze in samples di ciascuna wave (F1 e F3 non servono).

Per effettuare questo primo passaggio è possibile utilizzare dei software freeware o commerciali; ci sono tre possibilità:
- Audacity www.audacityteam.org (freeware per Windows, Mac or Linux) per il resampling e Endlesswav www.bjoernbojahr.de/endlesswav.html (freeware per Windows) per il settaggio del Loop=”ON”
- Wavesaur www.wavosaur.com (freeware Windows).
- Awave Studio www.fmjsoft.com/awavestudio.html (Windows) che ha il costo di 75 EU.

RESAMPLING: opzione 1 – AUDACITY + ENDLESSWAV

Vediamo come procedere con Audacity.
La primissima operazione da effettuare è rinominare il File Wave di dimensione pari a 2048 campioni in Nomewave_F0.wav (vedremo dopo il motivo)

Load del file Wave Nomewave_F0.wav (2048 campioni) tramite drag and drop o menù File, e selezione dell’intera onda (doppio click o Ctrl-A) 

Selezione dell’effetto “cambia velocità” (dal menù effetti) utilizzando il moltiplicatore di velocità pari a 4: si ottiene il resampling dalla wave da 2048 a 512 campioni (F0 -> F2)

Save (file/esporta come Wav) nel formato 16 bit con segno-PCM.
Riguardo la scelta dei nomi da utilizzare, per la corretta interpretazione negli import con altri software (vedi dopo) è consigliato l’utilizzo del formato:
Nomewave_F0.wav (wave 2048 samples)
Nomewave_F2.wav (wave 512 samples)
Nomewave_F4.wav (wave 128 samples)
Nomewave_F5.wav (wave 64+64 samples)
Quindi dopo la prima conversione il file deve essere memorizzato con il nome: Nomewave_F2.wav

Si procede in maniera analoga per il resampling 512->128 (F2->F4) e save in Nomewave_F4.wav.
Se si desidera creare una waveform con 4 Keybanks, nel resampling 128->64 (F4->F5) per l’effetto “cambia velocità” occorre utilizzare il moltiplicatore di velocità pari a 2.

Per il campione più acuto (F5 di 64 samples) che copre l’ottava F6-E7 c’è un ulteriore problema dovuto al fatto che la dimensione minima possibile di un loop che il Montage può leggere è pari a 80 samples, mentre il single cicle F5 a 44.1KHz ha dimensione pari a 64 samples. La cosa si risolve facilmente, raddoppiando il ciclo tramite sempre tramite Audicity.

Per farlo occorre selezionare l’intera onda di 64 campioni (doppio click o Ctrl-A), selezionare l’effetto “ripeti” (dal menù effetti) e settare “numero di ripetizioni da aggiungere” pari a 1

Si ottiene così un’onda di 128 campioni formata da due cicli di 64 campioni tra di loro uguali.

Anche per quest’ultimo suono si procede con la analoga operazione di salvataggio: Save (file/esporta come Wav) - formato 16 bit con segno-PCM e Nomewave_F5.wav
Per una verifica si possono caricare le 4 onde ottenute e si avrà una situazione come quella in figura

Poiché Audacity non è in grado di settare nella Wave il “tag” (matadata) “Loop=On”, fondamentale per il corretto utilizzo con il Montage, occorre un ulteriore passaggio che si può effettuare con il software per Windows Endlesswav.

Dopo aver scaricato il file Endlesswav.exe da www.bjoernbojahr.de/endlesswav.html, essendo un software portabile, basta copiarlo all’interno di una cartella/sottocartella (anche in documenti o desktop) ed eseguirlo.

Per l’abilitazione del loop, basta disporre i vari file .WAV in un’unica cartella e caricarne uno (click su open o trascinamento nel programma): appena fatto saranno visibili tutte le waves della cartella che si possono caricare e editare con un doppio click.
Per ciascuna wave occorre attivare il loop (click su Loop ON), opzionalmente selezionare il Root Key con i valori della tabella (vedi sotto) e memorizzare la modifica (click su Save)

Riguardo il settaggio del Root Key, allo stato attuale Montage non è in grado di ottenerlo dalla wave e in fase di import va settato a mano (vedi dopo); SampleRobot e Waveform Editor lo interpretano leggendolo dal nome del file. Ha senso settarlo con Endlesswav solo nel caso in cui si desidera utilizzare i campioni in altri software e per altre applicazioni.

Il settaggio del loop in alternativa al software Endlesswav.exe, è possibile farlo anche con WAVESAUR (vedi dopo). La procedura, (tasto “L” o Tools/Loop/Create Loop Points + Save del file) è descritta nel capitolo che segue.

RESAMPLING: opzione 2 - WAVOSAUR

La alternativa freeware per ottenere le Waves di 512, 128 e 64+64 campioni, è quella di utilizzare il software Wavosaur.
Il vantaggio di tale software rispetto ad Audacity, sta nel fatto che è in grado anche di abilitare il loop = ON, evitando così di doverlo fare dopo con Endlesswav o con Wavosaur stesso.
Lo svantaggio sta nella qualità del ricampionamento che è leggermente inferiore rispetto ad Audacity: Wavosaur inserisce dei leggeri artefatti non particolarmente evidenti, ma in tutti i casi esistenti.

Qui uno shot dello spettro di una sinusoide dopo il secondo ricampionamento (2048->512->128): sono evidenti delle armoniche spurie con attenuazioni non trascurabili.
 

Seguono i passaggi da effettuare con Wavosaur: essendo anche lui un software portabile, basta scaricare Wavosaur.exe da www.wavosaur.com, copiare il file all’interno di una cartella/sottocartella (anche in documenti o desktop) ed eseguirlo.

Load del file Wave di dimensione pari a 2048 campioni tramite drag and drop o menù File

Riduzione del bit depth da 32 a 16 se la wave è stata ottenuta da software quali Serum che utilizzano il formato 32 float.
Click su Process - Bit depth converter - 16 bit

Passaggio creazione delle wave di 512, 128 ed eventualmente 64 campioni.

Click su Process – Pitch Shift/Simple e Semitone = 24 e Cent = -1 nella conversione 2048->512 e 512->128 e Semitone = 12 e Cent = -1 nella conversione 512->64

Occorre inserire cent -1 per correggere un bug del software che con cent=0 crea una wave con un campione in meno.

Se si utilizza anche la wave di 64 campioni per quanto visto occorre duplicarne la lunghezza per superare il limite degli 80 samples che è il minimo loop che Montage riesce ad eseguire.

Per farlo: Select All (Ctrl+A) – Copia (Ctrl+C) – click su un qualunque punto a destra della Wave e Incolla (Ctrl+V)

Attivazione del loop che viene automaticamente settato pari alla lunghezza del campione: tasto “L” o Tools/Loop/Create Loop Points

Le onde ottenute, dopo ciascuna elaborazione vanno salvate tramite file/Save As. Non occorre scegliere il formato che è .wav di defoult.

Riguardo la scelta dei nomi da utilizzare, per la corretta interpretazione negli import con altri software (vedi dopo) è consigliato, come visto, l’utilizzo del formato:

Nomewave_F0.wav (wave 2048 samples)
Nomewave_F2.wav (wave 512 samples)
Nomewave_F4.wav (wave 128 samples)
Nomewave_F5.wav (wave 64+64 samples)
 

RESAMPLING: opzione 3 – AWAVE STUDIO

Esiste una alternativa che semplifica l’operazione: è quella di utilizzare il noto software Awave Studio www.fmjsoft.com/awavestudio.html che ha una opzione che permette la creazione dei campioni ad ottave inferiori con un unico click.
La procedura è la seguente.
 

Load del file Wave di dimensione pari a 2048 campioni tramite drag and drop o menù File

Doppio click sul file e:
General Root Key=F0 + 19 cents
Loop=Enable

Creazione di un nuovo strumento: click destro - add new instruments 

Inserire la waveform nel layer dello strumento trascinandolo da destra a sinistra.

Creazione automatica di una wave per ogni ottava tramite ricampionamento:
click destro – Process - instruments process wizard – “add downsampled waves at every octave”

Si ottengono 8 waves, ciascuna relativa ad una ottava: le ultime due (lenght 32 e 16) in tutti i casi non servono e possono essere cancellate (click destro-delete Waveform).
La qualità del resampling è molto buona, praticamente identica a quella che si ottiene con Audacity.

Se si desidera creare waveform con 4 Keybanks, per poter suonare anche l’ottava F6-E7 come già visto con Audacity, occorre duplicare la wave F5 di 64 samples. Per farlo click destro sulla wave con lenght=64 - Process - audio process wizard - double the loop section lenght

Si hanno a disposizione tutte le wave single cicle (compreso F1 e F3 che non sorvono) che per comodità conviene rinominare. Per memorizzarle basta selezionarle e click destro- Save Selected waveform as…. Come formato occorre scegliere WAV- PCM 16 bit

Riguardo la scelta dei nomi da utilizzare, per la corretta interpretazione negli import con altri software (vedi dopo) è consigliato l’utilizzo del formato:

Nomewave_F0.wav (wave 2048 samples)
Nomewave_F2.wav (wave 512 samples)
Nomewave_F4.wav (wave 128 samples)
Nomewave_F5.wav (wave 64+64 samples)

Se nella fase successiva si desidera utilizzare il software Montage Waveform Editor di John Melas e nel caso in cui si hanno numerose Waveform, è possibile velocizzare il passaggio tra i due software utilizzando l’export nel formato SF2 (Sound Font 2) e l’import di tale file nel software di Melas.

Vediamo l’esempio in figura in cui, con il metodo visto, si sono create 13 Waveforms da 4 keybanks, complessivamente 52 campioni. Il passaggio tra i due software diviene in questo caso molto più veloce.

Per l’esport click su File - Save Collection - salva come “SF2” - e Data Format “PCM 16 Bit – Chs Mono”

Prima di procedere a vedere come utilizzare le Waves create, segnalo che, grazie alla capacità del Montage di poter trasporre in basso un campione senza il limite delle 2 ottave, è anche possibile creare una Waveform composta da un solo Keybank, con ad esempio il campione avente nota F4.
In tal caso scendendo di tonalità si ottiene un suono molto “sporco”, con contenuto armonico povero a causa delle tecniche di interpolazione e filtraggio usate da Montage per il traspose dei campioni.
Il suono risultante, in tutti i casi può essere utilizzato per sonorità particolari.

Al termine delle operazioni di resample, ipotizziamo di aver creato 3 set di campioni, così da poter caricare all’interno di Montage 3 Waveform (multisample) ciascuna composta da 4 KeyBanks

Per assemblare e caricare le 3 Waveform dell’esempio nel Montage ci sono tre possibili procedure.

- Creazione delle waveform all’interno del Montage caricando le Wav da chiavetta USB e settando a mano i range e le intonazioni di ciascuna.

- Creazione delle waveform all’interno di File User o Liberie con Software SampleRobot Montage Edition, gratuito per chi possiede il Montage eu.yamahamusicsoft.com/samplerobot

- Creazione delle waveform all’interno di File User o Liberie con il Software Montage Waveform Editor di John Melas www.jmelas.gr/montage/wave.php (costo 60 EU): in questo caso è possibile l’eventuale import del file .sf2 creato con AwaveStudio

Nel secondo e terzo caso si ha il vantaggio di poter creare direttamente delle librerie: Montage ne ha a disposizione 8 che ricordo sono a sola lettura e quindi non modificabili dal Montage stesso; il passaggio da una libreria è una soluzione più rapida se si desidera creare un grosso numero di Waveforms.

All’occorrenza le varie waveforms presenti nelle librerie potranno essere caricate nella memoria User con una procedura che descriverò al termine.
Ricordo che il limite massimo dettato dall’Hardware del Montage è di 2048 Waveforms e 8192 campioni.

Creazione Waveform: opzione 1 – Load in Montage

Per creare una Waveform all’interno del Montage occorre inserire le Wave create su di una chiavetta USB e procedere all’interno di una Part AWM2.

Per farlo si può partire ad esempio dalla performance Init Normal (AWM2) editando l’Element 1 della Part1; nella sezione OSC/Tune click su New Waveform e Load da chiavetta USB ad esempio della WaveA_F0 .Wav
I parametri da settare sono:

Center note= F0
Fine Tune= +19
Note Limit: C-2 – E2

Il settaggio di Center e Note Limit può essere effettuato direttamente dai tasti del synth: la funzione si abilita e disabilita cliccando in alto a sinistra su “Keyboard”

Dopo aver inserito i vari paramentri del primo Keybank, occorre aggiungere gli altri due: click in basso “Add Keybank” e il procedimento è identico a quanto visto con i parametri dello schema che segue.

Nel caso in cui si utilizzano 4 KeyBanks i paramentri da inserire sono:

Al termine è consigliabile rinominare la Waveform (multisample) e assegnare una Categoria e SubCategoria.

La Waveform così creata, per come è strutturato il Montage potrà essere utilizzata in qualsiasi performance che contiene parts AWM2.

Per la creazione delle altre due Waveform si procede in maniera analoga utilizzando i 6 file WaveB_F0(F2,F4).wav e WaveC_F0(F2,F4).wav

Creazione Waveform: opzione 2 – SampleRobot Montage Edition

Ipotizziamo di disporre anche delle tre Wave Single-Cicle con intonazione F5: partiamo in questo caso da 12 file (WaveA_F0, WaveA_F2,….WaveC_F4 e , WaveC_F5.wav) che vogliamo assemblare per creare le 3 Waveforms.

Con SampleRobot è possibile creare sia dei file User (*.X7U) che dei file libreria (*.X7L); caricando un file User nel Montage, come è noto, si perdono tutte le User performance memorizzate. Per questo motivo la procedura più comoda è quella di creare una libreria composta da una o più Waveforms, per poi copiarle all’occorrenza (vedi dopo), all’interno dell’area User.

Con SampleRobot si possono creare, abbastanza rapidamente, librerie con numerose Waveform: va segnalato però che il software non è in grado di settare il paramentro Tune Fine a +19 per ogni Single-Cicle Wave.
L’unica soluzione a tale problema è quello di farlo all’interno del Montage e per ciascuna Single-Cicle Wave, dopo aver copiato le Waveforms nell’area User (vedi dopo), nel momento in cui le librerie sono a sola lettura e non permettono modifiche.

Cerchiamo di creare la libreria SingleCicle.X7L che contiene le 3 Waveform dell’esempio. Segue la lista dei passaggi da effettuare:

Eseguire il programma e eliminare eventuali progetti aperti (icona “-“)

Creare il progetto con il nome della libreria che si vuole creare “Add project “Single Cicle”
Creare 3 MultiSamples con i nomi delle tre Waveforms da assemblare: WaveA, WaveB e WaveC

Selezionare 88 tasti

Selezionare WaveA tra i Multi-Samples creati e trascinare sulla tastiera virtuale i 4 file:
WaveA_F0.wav
WaveA_F2.wav
WaveA_F4.wav
WaveA_F5.wav

Settare i parametri come in figura:
- Copy to filename’s Root Key
- Use file’s loop (if available)
e click su Import

Nell’ipotesi in cui i file .wav sono stati ottenuti con Audacity per ciascun campionamento importato occorre settare il parametro Loop ON e trascinare il marker Loop In= Note In così da far coincidere il Loop con l’intero campione; negli altri casi il settaggio lo si trova già attivo.

Il settaggio dei Note Limit (chiamati Key-Range in SampleRobot) va fatto a mano in quanto in automatico il software divide in maniera diversa il range di trasposizione del campione.
La scelta migliore per l’utilizzo delle onde Single-Cicle è quella che prevede il solo traspose verso l’alto, al fine di mantenere per ogni Wave la risposta ottimale sulle alte frequenze.

SampleRobot definisce i Key-Range in termini relativi di semitoni rispetto alla nota del campione.
Nello schema sono indicati i valori da inserire.
Nell’ipotesi di Waveform con 3 campioni in cui manca la WaveA_F5, il range di WaveA_F4 deve essere 0-23

Terminata l’operazione con gli altri 2 multisample dell’esempio si può memorizzare la libreria cliccando su Export selected Project as/ SingleCicle.X7L
Riguardo il setting dei canali va indicato “Same as Key-Sample”


Creazione Waveform: opzione 3 – Montage Waveform Editor


Partiamo anche in questo caso da 12 Single-Cicle Wave (WaveA_F0, WaveA_F2, …. WaveC_F4 e, WaveC_F5.wav) che vogliamo assemblare per creare le 3 Waveforms.

Con il software Montage Waveform Editor, analogamente a SampleRobot, è possibile creare sia dei file User (*.X7U) che dei file libreria (*.X7L). Se si carica un file User nel Montage si perdono ovviamente tutte le User performance memorizzate: per questo motivo la procedura più comoda è quella di creare una libreria composta da una o più Waveforms, per poi copiarle all’occorrenza, come vedremo, all’interno dell’area User.

Montage Waveform Editor, diversamente da SampleRobot ha la possibilità di settare il paramentro Tune Fine a +19 per ogni Single-Cicle Wave e quindi l’intonazione dei multisample creati sarà corretta e non occorre il passaggio successivo all’interno del Montage. Tra l’altro, come vedremo, il setting di tutti i Key-Ranges lo si fa in automatico con un solo click.

Cerchiamo, anche in questo caso, di creare la libreria SingleCicle.X7L che contiene le 3 Waveform dell’esempio. Segue la lista dei passaggi da effettuare:

Eseguire il programma e creare un nuovo Montage User File.

Creare 3 Multisamples con i nomi delle tre Waveforms da assemblare
Click destro: New Waveform

Selezionare la waveform WaveA e trascinare come in figura i 4 file:
WaveA_F0.wav
WaveA_F2.wav
WaveA_F4.wav
WaveA_F5.wav

Inserire il matching pattern comprensivo del carattere ”_
{name}_{key} e click su OK

Il settaggio dei Note Limit lo si fa con un solo click:
selezionare tutte le Wave (click sulla prima Wave – Shift- Click sull’ultima Wav)
Click destro su una delle Wave evidenziate
Click su Keyboard Split/Split From Roots

Si ottengono così i Key-Ranges desiderati.
Le operazioni viste vanno ovviamente replicate per le altre due Waveforms.

Per settare la corretta intonazione occorre selezionare ciascun campione e click destro “KeyBank Parameters” - Fine tune = +19

Nell’ipotesi in cui i file .wav sono stati ottenuti con Audacity per ciascun campione importato occorre settare il parametro “Loop= ON”. Per farlo occorre selezionare le varie Waves e attivare “Mode=Loop”

Per ciascuna delle 3 Waveforms occorre creare una performance, così da permettere (vedi dopo) la copia delle Waveforms nell’area User del Montage.
Per farlo occorre selezionare la performance N.1, click destro su WaveA e click su "Create Performance"; a seguire le stesse operazioni per le altre due Waves.

Al termine il software avrà creato tre Performance ciascuna delle quali avrà una part AWM2 che utilizza la Waveform indicata.

Terminata l’operazione con gli altri 2 multisample dell’esempio si può memorizzare la libreria cliccando su File/Export Library File/ SingleCicle.X7L

Come visto in precedenza, nel caso in cui si hanno numerose Waveform e se si è utilizzato il software Awave Studio, il passaggio tra i due software lo si fa molto velocemente utilizzando l’import nel formato SF2 (Sound Font 2). Dopo aver creato il Montage User File dal menù New, click destro sulla sezione Waveform e “import Waveform”

Ci si ritrovano tutte le Waveforms e rimane solo da effettuare il settaggio dei Note Limit.


Utilizzo della libreria di Waveform *.X7L

Come noto le librerie di Montage sono una collezione a sola lettura di performance, arpeggi, Live Sets e Waveforms: Il Montage ne può caricare sino ad 8 all’interno della propria Flash di 1,75 Gbyte.
Per la loro gestione, si utilizzano dei file avente estensione *.X7L che si possono “scambiare” con i file User (*.X7U) semplicemente rinominando l’estensione.

Se carichiamo nel Montage la libreria che abbiamo creato (nell’esempio SingleCicle.X7L), così come per una qualunque altra libreria che contiene Performance e Waveforms, è possibile utilizzare all’interno delle proprie Performance User (max 640) tali Waveforms: il limite nel lasciare le Waveforms in una libreria, è che nel momento in cui quella libreria viene cancellata, ogni Performace User che le utilizza rimane muta, non avendo più a disposizione le Waveforms nella Flash.

Il secondo svantaggio sta nel fatto che si “spreca” uno degli 8 slot disponibili con dei campionamenti di dimensioni minime.

Per tali motivi è consigliabile creare e utilizzare le librerie per assemblare le varie Waveforms: poi, vista la loro dimensione, conviene copiarle e lasciarle nella User Flash.

La procedura è semplice e si effettua in due step: per la operazione occorre avere, momentaneamente, uno degli 8 slot di libreria liberi.

Il primo step consiste nel caricare nel Montage tramite chiavetta USB la libreria dell’esempio SingleCicle.X7L: lo si fa cliccando su Utility/Contents/Load selezionando “Content Type: Library File” e caricandola dalla chiavetta.

Il passaggio successivo consiste nel copiare le Performace della libreria nella Memoria User: di conseguenza tutte le Waveform associate a tali performance saranno anche loro caricate nella Memoria Flash User.

Per farlo occorre cliccare su Utility/Contents/Library Imports, e selezionare la libreria (nell’esempio SingleCicle.XL7) le cui waveform si vogliono importare nella Memoria Flash User.
 

Nella scheramta il Montage indica tutte le Performace presenti che si trasferiscono nella memoria user cliccando “select All” e “Import to User Bank”

Al termine dell’operazione è possibile cancellare dalla memoria del Montage la libreria che rimarrebbe un inutile duplicato.
Per farlo Utility/Contents/Data Utility/Library, Click sulla libreria da eliminare e Click su Delete.

E' consigliabile cancellare le tre Performance copiate nella memoria User, poiché sono dei semplici suoni con Part AWM2 e Element che contengono la/le Waveforms create: dopo il delete ovviamente le Waveforms rimangono nella Flash.

Come già detto, ricordo che nel caso in cui le Waveforms sono state create con SampleRobot, all’interno del Montage e per ciascuna Wave Single-Cicle di ciascuna Waveform, occorre settare il Tune Fine = +19.

La guida per l'utilizzo delle Waveforms la trovate cliccando sulla immagine

Se vuoi supportare il mio sito puoi effettuare una donazione Paypal al link