Materiale Quinto Incontro
Dilettarsi in Home Studio
Contents
Jack
Introduzione
salvare le connessioni:
jack_snapshot http://tapas.affenbande.org/wordpress/?page_id=14
- jmess (xml)
Latenza in campo di elaborazione audio digitale
È il tempo che passa tra la conversione analogico-digitale del segnale in ingresso ad un sistema (ad esempio nell'ingresso microfonico della scheda audio di un computer), l'elaborazione del segnale stesso e la sua successiva conversione digitale-analogico in fase di riproduzione. In termini pratici è il tempo che intercorre tra l'acquisizione di un segnale audio in ingresso da parte di un sistema digitale e la sua (quanto possibile immediata) riproduzione in uscita. Si parla di latenza anche nel caso dell'intervallo di tempo tra la pressione di una nota su una tastiera MIDI (o analogo controller) collegata ad un pc o expander e la riproduzione del suono corrispondente da parte di quest'ultimo.
Di norma per elaborazioni in tempo reale si cerca di avere un valore basso di latenza, il limite massimo può essere considerato di circa 30 ms in quanto al di sopra di esso il suono verrebbe percepito come eco, è tuttavia pratica comune tenersi ben al di sotto di questo valore. Allo stato dell'arte con un calcolatore dedicato ad alte prestazioni (DAW) ed una scheda audio professionale o semi-pro si possono raggiungere latenze inferiori ai 5 ms.
Qjackctl
Qjackctl http://qjackctl.sourceforge.net è una interfaccia grafica per il server audio Jack, con cui si possono impostare e gestire i parametri e le connessioni del server senza utilizzare la command line.
La finestra "setup" è il punto in cui si impostano i valori con cui far girare Jack, come quale scheda audio usare, la dimensione del buffer, il numero di periodi nel buffer, etc...
La finestra "connect" rappresenta invece un centro di smistamento dei flussi audio del sistema, tutte le porte audio (sia che siano porte hardware o porte virtuali software) possono essere collegate tra loro arbitrariamente.
Hydrogen
Hydrogen (http://www.hydrogen-music.org) è una batteria elettronica basata su campioni. Utilizza anche Jack come sistema audio, e supporta il meccanismo del trasporto Jack (jack_transport). Questo consente la sincronia con altre applicazioni jack, come ardour, rosegarden, etc...
Zynaddsubfx
ZynAddSubFx (http://zynaddsubfx.sf.net) di Nasca Octavian Paul è uno dei sintetizzatori virtuali più potenti per Linux, e produce suoni veramente eccezionali. Come si può (non facilmente) intuire dal nome, questo synth ha la possibilità di utilizzare sintesi additiva e sottrattiva, ed ha inoltre un banco di effetti incorporato.
Molti parametri sono gestibili e controllabili via MIDI e l'uscita audio prevede anche l'uso del server jack, cosa che lo rende molto appetibile per essere usato in contemporanea ad altri programmi (ad esempio il sequencer muse) e di poter catturare l'audio prodotto ad esempio in una traccia audio del sequencer.
ZynAddSubFx è un software abbastanza complesso e sarebbe difficile descrivere completamente le sue caratteristiche qui, comunque queste sono le maggiori "features" :
- sintetizzatore realtime
- polifonico e multitimbrico
- capacità microtonali
- 2 motori di sintesi:
- o ADsyn che implementa la sintesi additiva sommando voci ognuna delle quali con filtri, inviluppi, LFO, morphing, modulatori, risonatori, etc... o SUBsyn un modulo più semplice che permette la creazione di suoni sottraendo armonici a rumore bianco.
- Gli strumenti possono essere organizzati in kits
Effetti: Reverb, Echo, Chorus/Flange, Phaser,AlienWah, Distorsion e EQ
- Gli effetti possono essere usati come effetti di sistema o in insert sulla singola parte
- filtri fino a 60dB/ottava
- Molti settaggi hanno un parametro di casualità che permette la creazione di suoni interessanti in cui una nota non è mai uguale alla precedente.
- supporto MIDI e server audio JACK
- Tastiera virtuale
- Licenza GPL
Ardour
Ardour (http://ardour.org) è un multitraccia audio digitale, o DAW (digital audio workstation): con ardour si registra, edita e mixa l'audio proveniente da qualsiasi porta Jack, sia essa una porta fisica della scheda audio che una porta virtuale di un'altra applicazione.
Un manuale abbastanza completo: http://en.flossmanuals.net/ardour/
LADSPA e lv2
LADSPA (Linux developer simple plugin architecture http://www.ladspa.org ) è uno standard per la scrittura di plugin audio. LADSPA fornisce alle applicazioni che ne includono il supporto un grande numero di plugin, la cui interfaccia grafica non è codificata ma viene creata al volo dall'applicazione host.
Una nuova versione di ladspa, ladspaV2 o lv2 (http://lv2plug.in) è stata sviluppata per andare oltre le limitazioni di ladspa, per esempio i plugin lv2 includono la possiblità di avere una interfaccia grafica custom.
LADSPA e lv2 forniscono, attraverso svariate librerie o collezioni di plugin, una rosa molto variegata di funzioni di dsp (digital signal processing) o di generazione sonora:
Probably the largest range of plugins is available from Steve Harris at http://plugin.org.uk/.
Blop, by Mike Rawes, provides a set of oscillator plugins and more. http://blop.sourceforge.net/index.html
The CAPS Audio Plugin Suite by Tim Goetze provides a number of plugins, including a range of guitar amp emulations. http://quitte.de/dsp/caps.html
The Computer Music Toolkit (CMT) contains plugins by David Bartold, Richard Furse, Jezar and Nathaniel Virgo. http://www.ladspa.org/cmt
Fons Adriaensen provides a wide range of plugins includings filters, phase vocoded compression/expansion, reverb and ambisonics. http://www.kokkinizita.net/linuxaudio/ladspa/index.html
Dr. Matthias Nagorni has provided a set of EQ biquad filters. http://www.suse.de/~mana/ladspa.html
TAP Plugins are by Tom Szilagyi. http://tap-plugins.sourceforge.net/
Settel's Vocoder program has been ported to LADSPA by Josh Green. http://www.sirlab.de/linux/
VLevel is a dynamic compressor with look-ahead by Tom Felker. http://vlevel.sourceforge.net/
jack in rete
- Netjack is a Realtime Audio Transport over a generic IP Network. It is fully integrated into JACK.
When you transport Audio Signals over a Network, you will always have the problem, that two Computers are bound to two different Sample Clocks. The other Network Transports face the Problem of compensating for the drift between these Sample Clocks. This is very hard to do.
NetJack works around this problem, by syncing all Clients to one Soundcard. So there will be no resampling or glitches in the whole network. Packet loss is now also handled gracefully. By using the celt codec, its even possible, that single packet losses get masked by the Packet Loss Concealment Code.
http://trac.jackaudio.org/wiki/WalkThrough/User/NetJack : se si usa netone si puo' usare celt con qualche instabilità. E' nato per avere hardware solo d aun lato (quello dove si esegue jack_netsource)
So if I am not wrong, to use celt at last need: add line: #include "config.h" in netsource.c and compile use: jackd -d netone -p<frame_size> -c <same_kbits_bitrate> with frame_size from 64 to 512 (1024?) jackd -p<frame_size> <your options> with frame_size from 64 to 512 (1024?) ./jack_netsource -H <slave host> -c <same_kbits_bitrate>
http://trac.jackaudio.org/wiki/WalkThrough/User/NetJack2 : questo non usa ancora celt
https://ccrma.stanford.edu/groups/soundwire/software/jacktrip/ ( ha un server jack da ogni lato con hardware connesso e non usa celt)
llcon: The llcon software enables musicians to perform real-time jam sessions over the internet. There is one server running the llcon server software which collects the audio data from each llcon client, mixes the audio data and sends the mix back to each client. Utilizza Jack e celt https://sourceforge.net/apps/mediawiki/llcon/index.php?title=Main_Page
Soundjack enables musicians to perform real-time jam sessions over the internet. Once you launched Soundjack you can choose between two modes - the automatic server based mode or the manual p2p mode. Nonostante il nome usa alsa e celt. Licenza chiesta all'autore. http://www.soundjack.eu sample session in http://youtu.be/fhyXSrvSRbU
evoluzione di celt
Opus Codec
BFSF Wiki