> MENU
Samba Logo

Realizzare un Primary Domain Controller con SAMBA, Openldap e...

Automatizzare Firefox con iMacros

23 gennaio 2008 Visualizzazioni: 175 Focus

Un’introduzione all’audio su Linux - PyAudio e PyGst con Gstreamer (5/6)

Dopo aver trattato nella scorsa puntata un approccio ad alto livello per la programmazione dell’audio su Linux, oggi  viene presentata una soluzione che si colloca ad un livello ancora più alto rispetto a JACK. L’idea consiste nell’usare Python con Gstreamer, oppure la libreria PyAudio per PortAudio.


Spulciando la documentazione PyAudio è possibile trovare diversi esempi che consentono di acquisire familiarità con il codice qualora si desiderasse imparare a programmare con questi strumenti. Il codice degli esempi inizia sempre con le direttive di importazione delle librerie audio (pyaudio e wave) e della libreria sys che consente di leggere e scrivere file. Dopo queste import si procede con la configurazione del formato dell’audio e del dispositivo audio.

Python logo

Si apre uno stream, si scrive nello stream ed infine si salva in un file WAVE. Si può notare che per ognuno dei tre esempi presentati, è necessario scrivere pochissimo codice; ciò dipende molto anche dall’assenza di interfaccia grafica. Per chi non conoscesse già Gstreamer una buona introduzione può essere l’articolo di Jono Bacon che descrive i lavori di Gstreamer e anche la libreria che si appoggia su di esso PyGst. Gstreamer ofre molte possibilità creative, e come ESD, offre la possibilità di avere più stream audio contemporanei allo stesso tempo, oltre ad offrire molte altre caratteristiche interessanti.

gstreamer logo

Nell’esempio contenuto nella documentazionedi PyGst è presente un esempio molto interessante che realizza una semplice audio player. Dopo aver importato i moduli relativi a sys, l’interfaccia grafica realizzata con gtk e pygst, viene configurata la finestra e il player. Risulta degna di nota l’implementazione, particolarmente adatta a dispositivi di tipo handheld, come ad esempio palmari o smartphone. Anche in questo esempio, che include anche una interfaccia grafica, la quantità di codice necessaria è relativamente modesta se paragonata a quella richiesta con un linguaggio di livello più basso.

LEZIONI PRECEDENTI:
19 Dicembre 2007: Un’introduzione all’audio su Linux (1/6)
20 Dicembre 2007: Un’introduzione all’audio su Linux (2/6)
9 Gennaio 2007: Un’introduzione all’audio su Linux (3/6)
14 Gennaio 2007: Un’introduzione all’audio su Linux (4/6)

FONTE: LinuxDEV Center

di Francesco Argese - TuxJournal.net

twittergoogle_pluslinkedinmail