Disponibile una libreria gratuita di 744 toni ZEN-Core utilizzabili con il software ZEN-Core Editor-Librarian per Roland Fantom 6-7-8, Fantom-06/07/08, AX-Edge, Jupiter-X/Xm.
Il banco di suoni raggruppa i numerosi toni programmati e resi disponibili gratuitamente da
alcuni utenti dei gruppi Facebook
Patchland e
Roland Fantom Platform User Group.
Molti di questi toni sono stati
programmati con i Model Expansions Jupiter-8,
Juno-106 e JX-8p: tramite l'algoritmo
presente nell'Editor Librarian, li ho convertiti nel formato ZEN-Core equivalente
e inseriti nella libreria dell'editor, pronti
per essere suonati, modificati e ottimizzati senza i limiti del
modello d'origine.
29 Ottobre 2023
E' on-line un nuovo gruppo Facebook dedicato ai miei editor-librarian ZEN-Core e
ai banchi di suoni compatibili con tale formato:
qui il link
Oscillatori Super Saw in Roland ZenCore e System-8 e Oscillatori VA in ZenCore
Gli oscillatori Super Saw sono implementati tramite sintesi Virtual Analog nel synth System-8 e nella
relativa versione software disponbile tramite RolandCloud; nella famiglia dei synth che utilizzano la sintesi
Zen-Core (Fantom, Fantom0, JunoX, JupiterX/XM, Ax Edge,..) e nel virtual Zenology Pro, vengono
invece utilizzati due multicampioni detunabili tramite il parametro Super Saw Detune.
Tramite analizzatore di spettro è visibile una banda di frequenze con ampiezze fortemente attenuate che suonando note più acute si spostano verso i 20 KHz, prima dell' innesco del nuovo campione che si ha ogni 10-12 semitoni:
è il tipico effetto del filtro utilizzato nella tecnologia del playback di campioni, che serve per eliminare gli armonici indesiderati a cavallo della "Nyquist frequency"
(frequenza pari alla metà del Sample Rate).
Un'altra differenza molto evidente che rivela la tecnologia usata (VA per System-8 e Multisample in ZenCore) la si verifica suonando le note
più basse e quelle più acute.
Nel caso di note basse (C0 e G-1 nell'esempio) per riparmiare lo spazio occupato
dai multisamples che nel range basso per nascondere l'effetto del loop devono
avere durata elevata, si ricorre alla trasposizione in basso per una o più ottave di un
suono campionato su note più alte: in tal caso nella trasposizione,
l'algoritmo di interpolazione è costretto ad applicare un filtro passa basso che
attenua le frequenze più alte. Anche in questo caso la differenza è parecchio
evidente.
Quando ci si sposta nella riproduzione di note più alte (G8 nell'esempio), il
transpose di un campione risente di un aliasing più evidente rispetto alla
implementazione VA: anche in questo caso nella analisi spettrale appare evidente
la presenza di un numero maggiore di armoniche spurie.
Anche se l'analisi spettrale mostra in maniera evidente la differente sintesi utilizzata nelle due implementazioni e tutti i limiti, noti, dovuti all'utilizzo di multisamples,
c'è da dire che Roland ha effettuato un ottimo lavoro in Zencore: le differenze sono minime e sono principalmente concentrate in dei range di note di fatto quasi mai utilizzate.
I vantaggi di tale scelta sono quelli ben noti che caratterizzano la sintesi Zen
Core: piccoli compromessi sulla qualità della sintesi che vengono compensati con
una polifonia elevata e con l'inserimento di una catena di sintesi molto
complessa che in questo caso può operare anche su gli oscillatori SuperSaw:
sintesi con 4 parziali potenzialmente tutti Super Saw, matrice di modulazione in
grado di operare sul detune della Super Saw, LFO con sequence a 16 step. etc,
etc.
Ovviamente quanto visto vale solo per gli oscillatori SuperSaw: al contrario il
motore ZenCore (sintesi ABM) non presenta nessuno dei limiti visti quando si
utilizzano gli oscillatori VA che sono calcolati alla massima qualità e
permettono delle ottime possibilità di editing grazie ai parametri Pulse Width e
FAT che operano su tutte 9 le onde disponibili: SAW, SQR, TRI (in 3 diverse
implementazioni), SIN (pura e distorta), RAMP e JUNO.
Pulse Width e FAT sono modulabili in tempo reale tramite i 3 inviluppi, 2 LFO
(anche nella versione con Wave a 16 step) e controlli MIDI: mediante la matrice
di modulazione della sintesi ZenCore è possibile sfruttare tali parametri per
esplorare una serie innumerevole di tipologie di suoni. Come se non bastasse tramite X-MOD2
si può realizzare anche la sintesi FM lineare con ciascuna di tali onde e i
relativi parametri PW e FAT.
In più in ZenCore c'è la possibilità di lasciare bloccata la fase degli
oscillatori VA (parametro Phase Lock) così da attivarli con fase 0 ad ogni Key
ON e opzionalmente invertire la loro fase (sfasamento di 180°): Phase Lock e
Fase Invertita applicate ad oscillatori VA con onde diverse, magari
leggermente detunate, aprono la strada a tantissime altre possibilità sonore.
Segue un esempio dove il paramentro Phase Lock è attivo, un parziale utilizza una onda
quadra e nel secondo parziale ci sono alternativamente una sinusoide o una triangolare con fase
invertita e frequenza doppia. La forma d'onda ottenuta è esattamente quella che
ci si aspetta.
Come se non bastasse nel firmware 3.0 di JupiterX è stata attivata, sempre in
ZenCore, la funzionalità che permette di selezionare la fase degli oscillatori
VA con step di 5° (ci sono 72 possibili valori, 0-5°,10°,15°,...360°): con gli
oscillatori bloccati tramitre Phase Lock, tale funzione permette di creare
combinazioni di oscillatori che sommati attivano nuove e inedite possibilità. Si
spera di trovare tale parametro attivo in tutti gli altri synth ZenCore con i
nuovi firmware.
Segue una animazione GIF dove sono visibili i vari oscillatori VA "puri": in un
paio di fotogrammi appaiono gli effetti di Pulse Width e FAT su oscillatori Sin
e Juno.
La Pulse Width applicata alla sinusoide realizza le distorsioni di fase ben note
nella sintesi Casio PD (CZ-101, CZ-1000,...)
Qui il link con le immagini delle varie forme d'onda
31 Marzo 2022
Le espansioni Roland “Wave Expansion” e “SuperNATURAL Expansion”: formati compressi e 16 bit lineari
Il 16 Marzo Roland ha presentato i nuovi Synth/Workstation Fantom06/07/08 che, a causa della User Memory Flash di 256 MByte, ha posto tutta una serie di domande sulla reale capienza di tale memoria che condivide e può ospitare le “Wave Expansion” (EXZ001-EXZ015), le “SuperNATURAL Expansion” (EXSN01-03) e gli User samples e multisamples utilizzabili all’interno della sintesi Zen-Core.
Il dubbio principale nasce dal fatto che i nuovi Fantom0 sono venduti con all’interno le tre espansioni SuperNATURAL Acoustic Piano1 - SuperNATURAL Acoustic Piano2 e SuperNATURAL Electric Piano 1: tali espansioni, che tra l’altro possono essere anche cancellate, occupano 120 MByte (46% della capienza complessiva) lasciando uno spazio libero pari a 136 MByte che è quello che ci si ritrova acquistando il Synth.
Ciò che ha creato notevoli perplessità è che in tali 136 MByte è possibile caricare ben 4 espansioni EXZ, nonostante il fatto che ciascuna di queste è un file di dimensioni comprese tra i 96 e i 128 MByte. Come è possibile caricare dei file
superiori a 400 MByte, in uno spazio della flash di 136 MByte?
Grazie alla possibilità di cancellare le 3 espansioni SuperNATURAL, è possibile liberare del tutto i 256 MByte della Flash
e poi caricare fino a 8 espansioni EXZ, nonostante la capienza complessiva dei file (si scaricano da RolandCloud con il RC Manager) è di circa 900 MByte, valore più di tre volte superiore rispetto alla Flash disponibile.
Altra domanda a cui rispondere: come è possibile che i file delle tre espansioni SuperNATURAL, che occupano complessivamente 440 Mega, possano occupare solo 120 Mega quando vengono caricate nella flash?
La risposta è molto semplice: dai file scaricati tramite RCM (Roland Cloud Manager) e caricati in Fantom0 tramite USB, viene trasferita nella Flash solo una piccola porzione dei dati presenti
nei file. Stessa cosa succede per altri synth Roland quali RD-88, AX Edge e Jupiter X/XM.
Per capire meglio, occorre fare un piccolo passo indietro nel tempo e tornare agli anni 1988-1990 in cui Roland presenta la famiglia dei Moduli/Synth U-110/U-220 e U-20, D-70: è il primo passo di Roland nell’utilizzo dei Multisample che sono memorizzati nelle ROM e nelle Card di espansione.
Per risparmiare prezioso spazio, Roland adotta una tecnica di compressione chiamata RS-PCM, molto probabilmente acronimo di "Reduced Size PCM". Tale codifica, probabilmente non particolarmente efficiente, viene subito abbandonata.
E’ un primo passo verso la ingegnerizzazione di un nuovo codec di compressione chiamato FCE-DPCM che per la prima volta viene utilizzato nella Flash del JD-800 (è il 1991): tutti i synth Roland successivi, dalla famiglia JV e XV degli anni 90, passando ai vari moduli GM/GS, fino ai recentissimi Integra-7 (2012), FA-06/8 (2014) utilizzano tale codifica di compressione.
Roland non ha mai reso note le caratteristiche di questo codec per evidenti motivi di copyright, ma ha dato la possibilità agli utenti “smanettoni” di curiosare su tale formato grazie al fatto che è utilizzato per esempio nelle varie espansioni liberamente scaricabili su
axial.roland.com o nella schedina SD presente all’interno di Integra-7.
Ad oggi, l’unico utente che ha dichiarato di essere riuscito a decodificare tale codec è stato il WebMaster del sito
dtech.lv che tra l’altro, a prova delle sue capacità, ha reso disponibile, qualche anno fa, il prezioso contenuto della FlashROM dei campioni del JD800 nella versione originale (3 MByte compressa nel formato FCE-DPCM) e nel corrispondente formato in chiaro a 16 bit lineari (dimensione di poco inferiore ai 6 MByte).
Riguardo la qualità di tale codec è noto che ha un rapporto di compressione variabile che riduce la dimensione di un fattore compreso tra 1:2 e 1:3 e che dipende dal tipo di campioni di origine (lo vedremo tra breve): l’autore che lo ha decodificato lo descrive come altamente ottimizzato, tanto da avere una dinamica comparabile a quella di un campione a 24 bit lineare con piccoli artefatti evidenti solo negli attacchi più rapidi.
Nel 2019 arriva il Fantom e per la prima volta i multisamples utilizzati per le espansioni esterne sono nel formato 16 bit lineare: il download delle espansioni Wave Expansion (EXZ001-EXZ015) lo si poteva effettuare sempre tramite http://axial.roland.com/ in quanto non esisteva ancora Zenology PRO che debutta nell’anno successivo, (12 maggio 2020) all’interno del pacchetto Roland Cloud.
Tali file EXZ, oggi inutilizzabili con i nuovi firmware di Fantom, hanno una dimensione ridotta rispetto a quelli scaricabili oggi tramite RCM in quanto contengono solo tale versione con samples codificati a 16 bit lineari e quindi non compressi.
Con l’avvento di Zenology, Roland aggiunge due novità: la prima è l’inserimento delle informazioni di licenza (48 Byte) all’interno delle Wave Expansion che rendono i file EXZ scaricati da Roland Cloud unici per una manciata di byte e associati all’account che li ha creati; la seconda novità è l’inserimento all’interno di tali file della versione dei multisamples compressi nel formato FCE-DPCM. Il doppio formato è presente anche nelle “SuperNATURAL Expansion”.
Qui uno shot dove si visualizza, ad esempio, l’espansione EXZ009 - EXZ Symphonique Strings nella versione del sito Axial (multisamples in 16 bit lineari) e in quella scaricabile con RCM. La parte compressa ha la stessa dimensione di quella presente nelle vecchie espansioni per FA-06/08.
La presenza all’interno dei file EXZ di multisamples nel doppio formato (compresso e 16 bit lineare) e l’inserimento dei 48 byte di licenza, garantisce a Roland tutta una serie di vantaggi:
- caricamento delle versioni compresse in Fantom0 (user flash 256 MByte), AX Edge, RD-88 e JupiterX/XM (hanno flash libera poco superiore ai 64 MByte) e caricamento delle versioni 16 bit lineari in Fantom
- caricamento delle versioni con licenza (perpetua o in abbonamento) in Zenology
- distinzione, grazie ai 48 byte di licenza, delle versioni free per Fantom e Fantom0 e quelle a pagamento per AX Edge, JupiterX/XM e RD-88
Riguardo le tre “SuperNATURAL Expansion” (EXSN01-03) la struttura è identica, con l’unica differenza che, armeno per ora, è possibile utilizzare tali espansioni solo con Fantom e Fantom0
Seguono degli shot in cui sono mostrate le dimensioni delle due versioni presenti nei file, lo spazio vuoto (una serie di byte pari a zero) e il rapporto di compressione tra la versione compressa e quella 16 bit lineare.
Analizzando le dimensioni si dà chiara risposta alle domande poste all’inizio.
Qualche breve osservazione.
La prima è che i multisamples compressi presenti nei file EXZ hanno tutti una dimensione
pari a 32 MByte: questo è coerente con il fatto che derivano dalle schede di espansione SRX, tutte avente capienza massima pari a 32 MB e compatibili con la vecchia serie di serie di Fantom, la famiglia XV (5080, 5050, 3080, 2020) e JV (1080-2080).
La seconda osservazione è che il rapporto di compressione del codec FCE-DPCM, come si vede in tabella, non è fisso: questo è tipico dei codec Lossless e dei codec che introducono solo piccole approssimazioni in fase di compressione.
La compressione ottenibile è strettamente legata alla caratteristica del file di origine.
L’ultima osservazione riguarda la qualità del suono: quanto un Fantom0 che legge
i multisamples compressi con il codec FCE-DPCM suona “peggio” rispetto al Fantom che legge i file 16 bit lineari (ovviamente escludiamo l’incidenza dei convertitori)?
Io non darei per scontato che per le 15 EXZ, ci sia un deterioramento della qualità perché è tutto da dimostrare che Roland con Fantom sia ripartita dai sample originali
non compressi (materiale degli anni 90) e li abbia inseriti nelle EXZ senza
direttamente: potrebbe darsi
che la scelta di utilizzare la codifica 16 bit lineare sia dovuta alla architettura di Fantom che è molto complessa come si può vedere dallo schema che segue
e che pertanto obblighi i BMC a lavorare con samples necessariamente non
compressi.
In Fantom, infatti, tutti i samples utilizzabili
(interni, espansioni e user) sono memorizzati all'interno di una memoria eMMC di
4 GByte e all’accensione vengono interamente trasferiti nella RAM (anche essa di 4 Gbyte):
mentre vengono sintetizzati i suoni, i dati necessari vengono distribuiti
alla piccola RAM (32 MB) associata a ciascuno dei 4 BMC, tramite 2
FPGA Altera Cyclone V. AX Edge, JupiterX e presumibilmente Fantom0 hanno
invece una architettura più classica dove i samples rimangono sempre nella Flash e vengono caricati, all’occorrenza, nella piccola memoria di 32 MByte che accompagna ogni BMC.
Non è pertanto da escludere che Roland, per le conversioni delle vecchie schede
SRX in EXZ, in Fantom ha semplicemente riconvertito in 16 bit lineari i
file compressi, senza ovviamente poterne miglorarne la qualtà, "obbligata" da
soli motivi di architettura HW.
Riguardo i suoni più recenti
(vedi ad esempio il SN AcPiano2 e le prime 4 espansioni EXZ che non
derivano dalle vecchie schede SRX) certamente la natura non compressa dei
samples garantisce in Fantom una qualità leggermente migliore rispetto a quella
di Fantom0 che è costretto ad utilizzare la versione compressa. L'ottima qualità
del codec FCE-DPCM è garanzia comunque di una differenza al limite
dell'impercettibile.
Concludo con un video che ho realizzato qualche mese fa di
un "Teardown" del mio Roland AX- Edge con immagini e dettagli dell'Hardware:
riguardo la parte relativa alla generazione sonora l'audio mainboard contiene un
singolo SoC Roland BMC, 48 MByte di RAM e 256 di flash che contiene fino a 2
espansioni EXZ e i circa 150 MByte di firmware e samples ZenCore: in più è
presente una seconda Flash più piccola e più lenta (48 MByte) probabilmente
utilizzata per la memorizzazione dei toni e performance.
6 Febbraio 2022
Program Change - MSB-LSB
Ho realizzato un piccolo software che permette in maniera molto rapida di settare e inviare i parametri Midi Control Change MSB e LSB di Bank Select + ProgramChange ad un synth, tramite Midi.
Nato per testare le implementazioni Midi di alcuni miei synth (Roland Fantom, Yamaha Montage e Jupiter XM in primis), ho pensato di condividerlo e renderlo scaricabile e utilizzabile da chiunque.
Ci sono infiniti modi per ottenere la stessa cosa, ma mi serviva un qualcosa di facilmente utilizzabile,...ed eccolo qui.
Il software funziona in ambiente Windows (la versione MAC seguirà a breve) ed è portabile. Basta eseguire il software senza bisogno di alcuna installazione.
Per configurarlo, occorre solo settare il MIDI out, relativo al synth da comandare.
In presenza di Driver Midi multi-client, oggi sempre più frequenti, è possibile
eseguire il software in parallelo con altri software che utilizzano la medesima porta MIDI (DAW, Editor, Librarian,..)
Il comando Program Change è sempre attivo (basta selezionarlo): per inviare la terna MSB-LSB e Program change
occorre cliccare sul pulsante Send To Synth.
Qui il link per il download.
31 Gennaio 2022
Emulazione software di Access Virus B/C
Come è noto, esistono numerosi synth digitali del passato realizzati con la famiglia dei DSP Motorola 563xx.
E' nato da qualche mese un progetto open source che si prefigge di emularli, virtualizzando in software
l'intero DSP e facendo leggere una copia della ROM che contiene il "codice
macchina" del synth.
Il risultato che si ottiene è il medesimo suono digitale (successione di samples, tipicamente 24 bit/44.1-48 Khz)
della controparte Hardware con l'unica differenza del suono dovuta alla successiva conversione D/A che viene effettuata dalla scheda/interfaccia audio del computer.
Dopo un lungo lavoro di ottimizzazione del codice, si è riusciti ad ottenere performance tali da poter eseguire in realtime
l'emulazione, uguagliando la potenza di calcolo di un Motorola 56362 (136 MIPS) su processori Intel i5/i7 più o meno recenti e sul
nuovo Apple M1.
Esiste una beta stabile, in grado di emulare sia l'ACCESS Virus B che il C: tra le due l'emulazione del Virus B è più leggera
in quanto il synth ha minore polifonia massima (24 vs. 32 voci) e pertanto è meno onerosa in termini di occupazione CPU.
Per alcune questioni di copyright si è scelta la strada della compilazione JIT (Just in time) dove si perde un po'
in performance, ma vengono mantenute distinte l'emulazione del DSP dalla presenza della ROM che non
viene fornita direttamente dagli sviluppatori.
Per verificare la qualità della emulazione ho eseguito sul mio PC di ufficio (Intel Nuc con processore Intel Core i7-8559U@2,7 GHz di ottava generazione - TDP 28 Watt e
interfaccia audio Zoom UAC-2 con SR 44.1 Khz e buffer 256) una sequenza del brano Equinoxe 5 di J.M.Jarre, mantenendo attivo il monitoraggio risorse per la verifica della occupazione CPU.
La registrazione del video avvenuta in realtime, è stata fatta tramite il software OBS studio che ha una occupazione CPU notoriamente bassa
e che impatta in minima parte sulle performance complessive.
Segue il video.
Roland Personal Model Expansions e Toni Zen-Core
corrispondenti
Le Zen-Core
MODEL EXPANSIONS (prima detti “model banks”) nascono
come metodo per emulare alcuni sintetizzatori
vintage Roland in alcuni Hardware Zen-Core
compatibili e all’interno del software ZENOLOGY.
Ad oggi esistono 4 modelli compatibili con Jupiter
X/XM, Fantom e Zenology (le expansions Juno-106,
Jupiter-8, SH-101 e JX-8P) a cui si aggiunge
l’expansion JD-800 disponibile per Jupiter X/XM e
Zenology.
Nel futuro sicuramente saranno rese disponibili
nuove Model Expansion, che in base a quando promesso
da Roland, grazie alla potenza del sistema di
sintesi ZEN-Core, consentirà di creare
“…sintetizzatori Roland nuovi ed entusiasmanti che
possono trarre ispirazione dall'hardware esistente o
essere realizzati in completa autonomia..” vedi
link
Grazie a numerose prove e alla documentazione sulla
implementazione dei messaggi MIDI System Exclusive
di Fantom sono riuscito ad ottenere due risultati
che ampliano di molto le possibilità di sintesi dei
MODEL EXPANSIONS attualmente esistenti. In dettaglio
sono riuscito a:
- creare dei Personal Model Expansions in cui ho
modificato la struttura di quelli già esistenti
aggiungendo nuove caratteristiche e, in alcuni casi,
aumentando la polifonia fino a raddoppiarla.
- convertire un qualunque suono di un qualunque
Model Expansions (ad eccezione del JD800) nel
corrispondente tone Zen-Core: tale tono suonerà
identico, sarà editabile e ovviamente potrà essere
suonato su qualunque Hardware Zen-Core (Ax-Edge,
Rd-88, MC-101, MC-107 e MV-1 compresi), sul software
Zenology e sulla APP ZenBeat (ZC1 instrumets)
Per capire come ciò sia possibile, occorre pensare
ai Model Expansions, come dei template (o macro) che
in “background” operano sulla struttura Zen-Core
corrispondente al modello scelto. Ogni volta in cui
si interviene su di un parametro di sintesi del
modello, il software (firmware negli HW) modifica in
base a delle corrispondenze ben precise, uno o più
parametri del motore Zen-Core che continua a
funzionare esattamente come in modalità standard. In
più vengono attivati e modificati dei parametri
Zen-Core nascosti che non accessibili direttamente,
ma solo tramite MIDI SysEx.
La cosa interessante è che nel momento in cui viene
memorizzato e/o esportato un qualunque suono di un
model, non solo sono memorizzati i valori dei
parametri del modello (Es. OSC, Filtri, ENV, MOD di
un SH-101) ma vengono memorizzati tutti i
corrispondenti valori della struttura Zen-Core
standard sottostante.
Se infatti si prova ad esportare (file .svz) un tono
di un ModelBank e uno Zen-Core, il primo pur avendo
molti parametri in meno, avrà una dimensione
maggiore: nel file vengono pertanto memorizzati
anche tutti i valori del suono Zen-Core
corrispondente.
Grazie a questa caratteristica sono riuscito a
creare quelli che ho chiamanto i “Personal Model
Expansions”: sono partito da un modello esistente,
tramite MIDI SysEx ho modificato la struttura di
sintesi del modello Zen-Core sottostante e da quel
momento in poi ogni modifica dei parametri del Model
Expansion interviene sul nuovo modello creato. La
piena compatibilità e la possibilità di esportare e
condividere i suoni è garantita dalla presenza
dell’intero tone Zen-Core sottostante, in ciascun
suono user creato.
Tutti i Personal Model Expansions sono ovviamente
editabili e pertanto da ciascuno è possibile creare,
memorizzare e condividere, tutte le modifiche (nuovi
suoni) che si desiderano.
Ho creato, per adesso :-) , una ventina di Personal
Model Expansions: ecco qualche esempio
- Personal Model Juno 106 con SAW e SQR detunati
- Personal Model Juno 106 con oscillatore SuperSaw
al posto del Noise
- Personal Model Juno 106 con 3 oscillatori Saw, due
detunati (-6 +6 Cent) e uno con PWM
- Personal Model JX-8P con oscillatore aggiuntivo
SuperSaw (anche in versione sempre non filtrata)
- Personal Model JX-8P con oscillatore aggiuntivo
Strings PCM stereo
- Personal Model JX-8P con oscillatore aggiuntivo
con il campione PCM stereo Syn Vox1 (il classico
suono del Fairlight SARRAR)
- Personal Model SH-101 con un oscillatore Alpha
Juno (al posto del SQR) e dotato di PWM
- Personal Model Juno 106 con i soli OSC SAW e SQR
(anche in versione detunata) e polifonia che passa
da 14 a 28 voci
- Personal Model JX-8P con polifonia 28 voci
(eliminato l’oscillatore noise di sottofondo che
riduce la polifonia dello strumento da 28 a 19 Voci)
Segue la lista completa (click per
ingrandire)
Grazie a quanto visto, il secondo risultato che sono
riuscito ad ottenere è stato quello di convertire un
qualunque suono di un qualunque Model Expansions (ad
eccezione del JD800) nel corrispondente tone
Zen-Core: tale tono suonerà identico, sarà editabile
e ovviamente potrà essere suonato su qualunque
Hardware o Software Zen-Core compatibile.
Riguardo il modello JD800, è possibile ugualmente
effettuare le personalizzazioni utilizzando uno
Jupiter x (che non ho 😊) : speriamo tra breve di
vederlo implementato anche su Fantom.
Ciò è possibile grazie ad una combinazione di
messaggi MIDI SysEx che permettono la lettura e
quindi l’export dell’intero tone Zen-Core
sottostante ad ogni Model Expansions (standard o
“personal”).
Ottenuto il tono Zen-Core, è poi
possibile memorizzarlo e quindi esportarlo e
condividerlo come un qualsiasi suono Zen-core
standard. Da qui la possibilità di farlo suonare
anche su tutti gli Hardware Zen-Core (Ax-Edge,
Rd-88, MC-101, MC-707 e MV-1) che non leggono
nativamente i model Model Expansions.
Ovviamente nel momento in cui si decide di editare
tale suono, vengono persi tutti i vincoli del
template del modello che lo ha generato, lasciando
la più totale libertà esattamente come per ogni tono
zen-core.
Seguiranno degli approfondimenti per permettere di
creare, liberamente e in maniera abbastanza
semplice, i propri “Personal Model Expansions”.
Potete scaricare gratuitamente i 21 Personal Model
Expansions e i 21 Zen Core Tone corrispondentiqui.
Segue un video da cui si può
verificare la identicità del suono di un Model
Expansion (eseguito dal software Zenology-Pro) con
il corrispondente Tono Zen-Core che ne deriva,
questo suonato da un AX Edge, synth nativamente non
compatibile con i Models.
24 Febbraio 2021
Roland Fantom#444xchallenge
Sono stato
invitato a partecipare alla Roland Fantom
#444xchallenge ed ecco il mio video.
Ho sfruttato la incredibile flessibilità del motore
di sintesi Zen-core per la base ritmica: 8 layer/30
parziali per simulare una wavesequence, di
ispirazione Korg (i samples sono tutti campioni ROM
della sintesi Zen-Core) e in più un acustic drum
Kit.
I 4 models sono stati utilizzati per tutto il resto,
melodia inclusa: complessivamente 13 zone in
esecuzione senza alcun problema di timing o
polifonia.
Qui il link della scena che
contiene suoni e sequenze: chi possiede un Fantom lo
può liberamente scaricare e utilizzare.
...e qui con una improvvisazione di DoctorMix sul mio brano!!
Sintesi Wavetable e Wave Sequences con Roland Fantom....work
in progress
(Part 2)
Proseguono i
test riguardo la possibilità di implementare tramite
la sintesi Zen-Core di Fantom, dei Tones che
simulano degli oscillatori a sintesi wavetable e
wavesequence.
Per verificare la reale funzionalità delle
wavesequences, ho provato ad implementare quella che
“storicamente” viene considerata la più famosa: è il
classico preset SkiJam del Korg Wavestation.
Tale wavesequence è realizzata come catena di 30
samples, che si susseguono ad intervalli regolari,
con l’eccezione del primo e del sample N.16 che
hanno durata doppia.
La durata complessiva della sequenza, con
Tempo=140,52 bpm è pari a 6,5 sec circa: ogni slot
ha la durata di circa 213 ms.
Il metodo che ho utilizzato in Fantom è stato quello
di creare 8 Z-Core Tones, ciascuno composto da 3 o 4
parziali, con valori crescenti di delay
dell’innsesco del suono, implementato tramite il
paramentro Z-core Delay Time (0-1023).
La sequenza si attiva all’interno di una scena
grazie al fatto che i Toni sono in layer.
Per la scelta dei valori corretti di Z-Core Delay
Time, che ovviamente non possono essere inseriti a
tentativi, ho utilizzato una tabella che ho
compilato che associa ad ogni valore Z-Core Delay
Time (0-1023) il corrispettivo valore in ms. Fantom
all’aumentare del ritardo in ms “offre” dei valori
corrispondenti sempre meno precisi: tale
imprecisione è al di sotto dei 10 ms per ritardi
fino a circa 3 secondi e arriva ad una
approssimazione di 20 ms nel caso del ritardo
massimo che è pari a 6,7 secondi.
Per questo motivo, volendo un timing preciso, ho
scelto di splittare la wavesequence in due layer di
4 toni ciascuno: per fare eseguire la sequenza
intera occorre suonare pertanto due note: la prima
che innesca i campioni (1-15) e la seconda,
un’ottava più in alto, che innesca i campioni
successivi (16-30).
I 17 campioni utilizzati sono stati campionati dalla
versione VST della Korg Wavestation.
Segue una tabella riepilogativa.
Il fine del test è stato quello di verificare la
capacità di Fantom di eseguire le sequenze senza
problemi di timing e di polifonia.
Il risultato è incredibilmente positivo: ho creato
una breve song direttamente all’interno di Fantom e
senza alcun problema si riescono a suonare le
wavesequence, degli accordi, la parte di basso e di
batteria senza alcun problema di polifonia e di
timing.
Come è intuibile, il fine ultimo non è quello di
clonare le wavesequenze di Korg, cosa che è stato un
piacevole divertimento, ma quello di sfruttare tali
potenzialità del Fantom, per creare sonorità
apparentemente riservate ad altri synth, come il
recente Korg Wavestate.
Con Fantom,
grazie alla struttura di sintesi Zen-Core e alla
possibilità di utilizzare all’interno di una unica
scena fino a 16x4 catene di sintesi
OSC->Filtro->Amp, è possibile creare suoni che sono
tipici dei sintetizzatori con oscillatori Wavetable
e WaveSequence.
Segue un video
con una breve demo.
Gennaio 2021
Sintesi Wavetable e Wave Sequences con Roland Fantom....work in progress
Con Fantom,
grazie alla struttura di sintesi Zen-Core e alla
possibilità di utilizzare all’interno di una unica
scena fino a 16x4 catene di sintesi
OSC->Filtro->Amp, è possibile creare suoni che sono
tipici dei sintetizzatori con oscillatori Wavetable
e WaveSequence.
I metodi che ho
utilizzato sono molto simili a quanto descritto per
Montage e Modx, con una serie di differenze che
derivano dalla struttura di sintesi che è ovviamente
diversa.
Il principio di
base è quello di considerare le Wavesequence e le
Wavetables come una somma di singoli suoni aventi un
delay ben preciso per l’innesco del suono e un
inviluppo modellato ad hoc e in grado di creare
eventualmente crossfade tra campioni successivi.
I campioni nel
caso delle wavetables sono tendenzialmente “single
cicle wave” creati tramite software esterni e
caricati come user samples: è anche possibile
utilizzare i campionamenti residenti in ROM, cosa
che permette di utilizzare le stesse tecniche
sintesi per altri synth ZEN-Core come Jupiter-X/XM e
AX Edge.
A titolo di
esempio la “tabella” che crea il suono “synthesizer”
è realizzata tramite il layer di 3 toni che con 11
parziali creano la frase: Synt-esai-ser
Seguiranno
degli approfondimenti con delle tabelle utili per
calcolare in automatico i vari parametri da
impostare, come ad esempio la corrispondenza tra
ciascuno dei valori numerici (0-1023) di Delay Time
nei corrispettivi ms (0-6700 ms).
Utilizzando il motore di sintesi AWM2 presente nei
synth Yamaha Montage e MODX, sono riuscito a trovare dei metodi che permettono di avere
sonorità analoghe a quelle che si ottengono nei Synth e Virtual dotati di
oscillatori Wavetable o in grado di leggere Wave Sequences.
Per approfondimenti, test e sperimentazioni trovate:
- Un articolo che analizza in dettaglio 4 diverse tecniche ai seguenti links:
- Un articolo che spiega come creare le waveforms compatibili con il Montage
(MODX)
composte da forme d'onda "single-cicle". Tali waveform, ottenute partendo da una
Wave Single-Cicle di 2048 campioni (lo standard di Xfer Serum) diventano i
"mattoni base" per la creazione e l'utilizzo di wavetables nel Montage
- La libreria free WavetablesMontage.X7L che contiene 75 Waveform con forme
d'onda "single-cicle", più di 30 Performance organizzate in 3 LiveSet ciascuna
dotata di una User Audition creata in funzione di tali suoni. La libreria
è utilizzabile senza alcun problema anche con il MODX
Potete ascoltare le 30 Audition nell'articolo principale, mentre un "the best
of" in questo "Video Trailer". Per rimanere aggiornati potete
iscrivervi al mio canale Youtube (click su "subscrive").
12 Aprile 2020
Montage e Wavetables !??!
Chi ha un Yamaha Montage o MODX spera da sempre nella
possibilità che possano essere inseriti nuovi motori di sintesi che si sommino
alla AWM2 e FMX. L'analisi dell'Hardware lascia in realtà poco spazio a tali
ipotesi in quanto il chip SWP70, cuore della sintesi del Montage e del MODX
sembra essere un ASIC che contiene sezioni DSP programmabili solo per la parte
effettistica: la catena sonora di sintesi (il "synth core") sembra essere realizzata
con una architettura fissa che contiene in hardware le varie sezioni
(oscillatori con lettura di tabelle e campioni, filtri, ENV, modulazioni..).
A prova di tale ipotesi ci sarebbe l'attuale andamento degli aggiornamneti del
firmware che per la parte sonora, a meno della implementazione di un
incrementato dell'intervallo del parametro LFO Speed, ha inserito solo novità
negli effetti (VCM Mini Filter, Wave Folder,..).
A questo si aggiunge l'analisi degli ASIC Yamaha del recente passato, quali il
YMW820 e i core delle schede AN-200 and PLG150-AN, in cui la parte effetti è
l'unica implementata in DSP: qui in interessante
approfondimento
LINK
Non ci sono conferme ufficiali e pertanto, la speranza della implementazioni di
nuovi motori di sintesi (VA, Wavetables,...) rimane ancora: nel frattempo sto
cercando di simulare parte della classica sintesi con oscillatori wavetables,
utilizzando quello che il Montage può fare con l'attuale firmware (3.0).
Allo stato attuale sono riuscito ad simulare la lettura di una Wavetable
composta da 8 cicli di forma d’onda, letti in successione: in particolare ho
ottenuto un suono che fa "cantare/suonare" al Montage la parola FMX
(EFF-EM-ICS).
In più ho realizzato anche la simulazione della lettura cicclica tramite LFO a
velocità variabile di una
Wavetable composta da 4 cicli di forma d’onda.
Prossimamente pubblicherò un breve articolo con la descrizione di quello che ho
fatto con qualche performance di esempio
Qualche precisazione è doverosa: i metodi implementati non sono ne
semiautomatici e ne veloci da implementare, anche se con un buon numero di
performance già pronte e di "Waveform Single cicle" diventa possibile
sperimentare e programmare nuovi suoni in maniera più veloce.
In più non è neanche necessario utilizzare software esterni, a meno di
procurarsi i cicli di forma d’onda con cui "costruire" la wavetable: in
particolare in questi primi test, ho utilizzato l'ottimo Tone2 Icarus2 per
ottenere 8 cicli di forma d’onda che sintetizzano la parola FMX (EFF-EM-ICS).
Seguono i due esempi:
- FMX (EFF-EM-ICS) - emulazione della lettura lineare di una Wavetable composta
da 8 cicli di forma d’onda
- emulazione della lettura tramite LFO con velocità variabile di una Wavetable
composta da 4 cicli di forma d’onda (E-F-S-I).
Update Required
To play the media you will need to either update your browser to a recent version or update your Flash plugin.
Segue un video con qualche shot delle fasi di programmazione
6 Ottobre 2019
Montage e Loop Point
Come noto, il Yamaha Montage dispone di una Flash Memory di
1,75 GByte a disposizione per gli user samples. Se non si desidera utilizzare
software esterni, è possibile creare i propri Multisamples
(user Waveforms) caricando da chiavetta USB i campioni (.Wav, .AIF), assegnando
poi ciascun campione ad un KeyBank e settando i vari
parametri quali Key Range, Velocity Range, Volume, Tune,.... (vedi manuale in
Italiano Pag.96-97)
Se si lavora con multisample complessi (un esempio tra tutti, i classici 88
campioni di un pianoforte per N livelli di dinamica) è molto più comodo
utilizzare software esterni, molti dei quali in grado di fare l'import e la conversione
da formati quali il classici Sound Font e SFZ (.SF2 o .SFZ).
Esistono numerosi software in grado di creare multisamples utilizzabili dal Montage:
tra questi vorrei citare
Sample Robot, (gratuito per chi possiede il Montage),
Translator 6 di Chicken System
e l'ottimo Montage Waveform Editor di John Melas.
Recentemente, nell'utilizzo del software di J.Melas, ho scoperto che nell'import
di campionamenti il software Montage Waveform Editor modifica i punti di loop
start ed End, andando spesso a calcolare e aggiungere dei pezzi di onda per
creare dei loop leggibili correttamente dal Montage.
Confrontandomi tramite mail con lo sviluppatore, persona veramente molto gentile e disponibile, mi è stato detto che da sue informazioni il punto di End loop point
deve necessariamente essere del tipo N*16-1 (15, 31, 47,63,..): da qui le
modifiche ai loop point e al contenuto del campione.
A verifica della cosa, ho provato a realizzare dei campioni caratterizzati dal
fatto di avere un loop end point avente valori diversi da tali multipli
(N*16-1) e che se non interpretati correttamente, in grado di generare click
evidenti: tra questi una sinusoide molto "stretta" (periodo di soli 16 campioni)
che produce un artificio evidente nel caso in cui il loop è letto e gestito dal
Montage in maniera errata.
Volendo
escludere ogni possibile dubbio e la remota ipotesi che eventuali diverse
revisioni HW del Montage si comportino in maniera differente, ho creato
una libreria (e anche un file User) di test con una serie di performance in
grado di mettere alla luce eventuali click ed errate interpretazioni del punto
di loop. Le 11 Waveform sono state create caricando direttamente dal Montage i
.wav di test; in dettaglio 7 sono composte da un singolo campione, 3 da 2
campioni e 1 da 4.
Il test mi ha portato a concludere che, almeno sul mio Montage7 non esiste
tale limite sul punto di loop; tutti i campioni e le performance che li
contengono anche in Layers sono privi di click o anomalie: a riguardo gli unici limiti riscontrati sono
la dimensione minima della lunghezza di loop che è di 80 campioni (al di sotto,
il Montage interpreta il campione come one shot) e che per un sample a 44100 Hz
il campione può essere trasposto in alto di massimo 24 semitoni (per note più
alte, il pitch rimane fisso a +24 semitoni). Il limite è ovviamente superabile
creando dei multisample.
Web Audio Modules (WAM) - Synth e bassa latenza sul web
E' da parecchi anni che si sta cercando uno standard comune
in grado di permettere la creazione e l'utilizzo di synth caricabili all'interno di un Web
Browser e pilotabili tramite interfaccia MIDI. Le principali difficoltà da
superare sono sempre state quella delle performance e della latenza (al di sopra di 15-20 ms diventa
abbastanza complicata l'esecuzione in tempo reale). Riguardo le performance
si ambisce a garantire analoghe prestazioni rispetto ai classici Virtual Synth
in formato eseguibile (.EXE) o VSTi (AU per i Mac). L'ostacolo che sembrava
insormontabile era dovuto ai due linguaggi di programmazione utilizzabili nei
browser, Java e JavaScript, che non sono in grado di rivaleggiare con le
performance di un eseguibile programmato in C o C++ e successivamente compilato
in linguaggio macchina.
I limiti di performance sono stati superati dall'introduzione del WebAssembly,
che è un linguaggio "low-level" molto simile all'assembly che è già supportato
da numerosi browser e che garantisce performance di fatto identiche al
linguaggio macchina. Agli sviluppatori bastano piccole modifiche per poter
riutilizzare lo stesso codice C/C++ usato nelle applicazioni e compilandolo in
WebAssembly.
Il Web Audio Modules (WAM) è un pacchetto di sviluppo e un
insieme di librerie che ha
l'ambizione di diventare l'equivalente del VST ma sul web. Il sito di
riferimento è www.webaudiomodules.org
Tutta la parte più delicata del WAM riguardo le performance
(il "cuore" dei vari synth e del trattamento DSP dell'audio) può essere scritto
in C++ o in JavaScript per poi essere compilato in WebAssembly.
Ad oggi sono già disponibili quattro virtual synth alcuni dei
quali hanno l'equivalente in formato VST: due emulazioni della DX7 (l'ultranoto
Dexed e Webdx7), un "virtual analog" emulazione dell' Oberheim OB-X e per ultimo
l'emulazione del Synth Casio CZ101 in Modulazione di Fase (PD). Seguono i link
Dal 23 Agosto 2017 è disponibile l'app
KORG iMono/Poly per iPhone e iPad.
Il software viene fornito con 128 suoni (Bank Factory A) e
tramite acquisto in-app è possibile disporre di ulteriori 128 suoni (Factory B).
In aggiunta a questi, la app permette la importazione dei banchi di presets del
corrispondente software disponibile per PC e Mac, il Korg Legacy Collection
Mono/Poly.
La procedura per importare i 256 suoni (2 banchi presets) del
Korg Legacy Collection Mono/Poly è la seguente:
- effettuare il download dei 2 banchi
Presets Bank A e B - eseguire da Pc/Mac il programma iTunes e collegare l'iPhone - iPad
- unzip dei due banchi Presets_PC_BankA.mp4bank
e Presets_PC_BankB.mp4bank e copiarli nella cartella "condivisione File"
della app iMono/Poly
Il Fanton XR è stato commercializzato dalla Roland a partire dal 2004 e
relativamente ai driver USB, fondamentali per l'utilizzo dei software di editing dei suoni,
la Roland fornisce quelli compatibili con Vista, Windows 7 e Windows 8.
Segue una breve guida della procedura di installazione.
1) Disinstallare tutti i vecchi driver del Fantom XR.
2) Sconnettere il collegamento USB con il Fantom XR per evitare l'installazione
automatica dei driver.
3) Installare i driver modificati dopo aver riavviato windows 10 in modalità "riavvio con driver non certificati". In
Windows 10 click su Start, click su SHIFT+Arresta e mantenendo premuto SHIFT selezionare riavvia il sistema.
Al riavvio occorre seguire la successione delle operazioni indicate dalle
frecce: l'ultima operazione è quella di premere F7 "disabilita impostazione firma driver"
Tra meno di una settimana, a partire da giovedì 21 Gennaio,
si terrà in California il NAMM show 2016 in cui si attendono grosse novità nel settore dei Synth,
vista la presenza di marche quali Yamaha, Roland e Korg. Attesissima la
presentazione della nuova Workstation Yamaha che dovrebbe chiamarsi Montage.
In attesa di avere comunicazioni ufficiali da Yamaha, sono
apparse sul web (vedi
qui)
informazioni relative alle sue caratteristiche: polifonia a 256 voci, doppio
motore di sintesi (AWM2 e FM-X), display touch-screen,... I più scettici parlano
di un FAKE, ma viste le innumerevoli somiglianze con il MOXF, l'ultima
Workstation Yamaha, serei propenso a pensare che si è trattata di una foto vera,
frutto di una "fuga di
notizie" imprevista.
Ho realizzato un "collage" in cui appaiono le evidenti le
somiglianze. (click
per ingrandire)
Con l'inizio del 2013, parte una nuova sezione del sito
dedicata alla computer music: tra gli articoli in preparazione alcuni dedicati
alle migliori applicazioni Ios per Ipad e iPhone con particolari analisi della
polifona massima e latenza nella esecuzione real time, tecniche per "prelevare"
dall'Ipad informazioni e suoni non accessibili tramite il semplice filesharing
di Itunes, e una serie di soundfont free con alcuni suoni "storici" dei synth
degli ultimi 20 anni da utilizzare su Ios e pattaforma Windows.