Materiale Quinto Incontro

Dilettarsi in Home Studio

Jack

Introduzione

salvare le connessioni:

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" :

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:

jack in rete

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.

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>

evoluzione di celt

Opus Codec

altri software per studio

BfSf: CorsoAudioDigitale/quinto (last edited 2012-01-26 17:04:03 by PaoloPatruno)