26 Novembre 2017

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

Web Dexed

Web OBXD

Web CZ 101

Web Dx7

Per suonare i WebSynth occorre utilizzare un Browser "certificato" che allo stato attuale  è Google Chrome Canary (V64.0.3275.0 64-bit per Windows o MacOS 10.12.4 e successive). Qui il link per il download. Altri browser in certi casi vanno altrettanto bene: ad esempio webdx7 e webcz101 funzionano anche con Firefox V.57.0.

Installato Chrome Canary, browser che può convivere in parallelo con il classico Google Chrome, occorre abilitare le funzionalità di WebAssembly inserendo nella barra degli indirizzo di Canary il testo
chrome://flags/#enable-experimental-web-platform-features
e selezionando "Enables"

Ho effettuato alcuni test per verificare le performance della nuova piattaforma: il "candidato" prescelto è stato Dexed che esiste da parecchio tempo anche in formato VSTi. Le performance sono vicinissime a quelle della versione VSTi: con il mio Surface Pro i7 6650U 2,20 Ghz  ho suonato il classico TUB BELLS, polifonia 16 voci,   con una occupazione CPU che si attestava attorno all'11-12% rispetto al 9-10% della versione VSTi: Dexter in formato Web Audio in questa prima fase è quindi solo circa 15-20% più "pesante" in termini di occupazione CPU.

Riguardo la latenza nei prossimi giorni cercherò di fare alcuni test misurandola con l'oscilloscopio: in tutti i casi sembra abbastanza ridotta tanto da rendere i synth suonabili: in Web DX7 è possibile selezionare il Buffer (256, 512 o superiore) e testarne l'efficienza.


Venerdì' 15 Gennaio 2016

Yamaha Montage

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)

 

 

Giovedì 03 Gennaio 2013


Inaugurata la sezione "Computer Music"

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.