Debian for Realtime Audio on Laptop

Con il mio gruppo ( yue ) suoniamo musica copileft utilizzando software open source.
Personalmente utilizzo il mio dell xps1330 con la sua scheda audio intel ich8 integrata ed una tastiera usb midi M-Audio di poco peso e poca spesa, come window manager è sicuramente meglio utilizzare fluxbox per sincerarsi della stabilità, ma non ho problemi utilizzando gnome.
L'installazione che vado a descrivere basata sul motore audio jack, è perfettamente equiparabile ai software windows o apple audio come cubase, qlogic ecc...

Premessa:
Normalmente linux utilizza alsa come motore audio primario, ma ultimamente ogni window manager ha sviluppato dei "connettori" a questo per permettere di integrare i suoni di sistema.
Es: esound(esd), pulseaudio, ecc..
Il mio consiglio è di pulire il più possibile il sitema lasciando solo alsa. Per gnome basta disabilitare il mixaggio audio vi software (ESD) nel pannello "opzioni audio" e esound non verrà avviato al login.
Alcune vecchie applicazioni come skype utilizzano ancora oss (ora rimpiazzato dal più prestante alsa), non è necessario abilitarlo nel kernel, esiste un pacchetto apposito che emula il tutto risolvendo ogni problema "alsa-oss".

Preparazione
sudo apt-get install qjackctl jackd jack-tools alsaplayer-jack rosegarden ardour alsa-base alsa-utils alsa-oss hydrogen hydrogen-drumkits timidity vkeybd rezound zynaddsubfx dssi-host-jack dssi-utils dssi-example-plugins fluidsynth-dssi xsynth-dssi fil-plugins ladspa-sdk mcp-plugins omins rev-plugins swh-plugins tap-plugins vco-plugins


Ora avete installato il motore audio Jack con interfaccia grafica di controllo qjackctl,
il motore alsa (nel caso vi siano stati problemi nella precedente installazione),
il sequencer alsa midi timidity,
la drum-machine hydrogen,
gli effetti ladspa (riverberi delay distorsori ecc...),
l'editor per il cut & paste rezound,
la tastiera virtuale vkeybd,
Il sintetizzatore zynaddsubfx

Configurare Jack per l'audio realtime:
Sappiate che troverete molti how to che diranno di compilarvi un kernel, e qui sono concorde, è necessario configurarlo con:
Timer frequency - 1000 HZ
Preemption Model - Low Latency Desktop
Però devo informarvi che dal kernel 2.6.24 in poi sono state stravolte le condizioni di sicurezza, quindi non si deve più patchare nulla, in quanto il modulo realtime non si usa più.

Aggiungete il vostro utente al gruppo audio:
sudo adduser nomeutente audio
create il file .jackdrc nella vostra home
vi .jackdrc
ed inseriteci la riga seguente:
/usr/bin/jackd -v -R -p128 -t2000 -dalsa -dhw:0 -r48000 -p1024 -n3 -o2 -Xraw -H -M
Ora modificate le security per permettere al gruppo audio le operazioni in realtime:
Editate il file /etc/security/limits.conf:
sudo vi /etc/security/limits.conf
inserendo in fondo le seguenti righe
@audio - rtprio 99
@audio - memlock 768000
@audio - nice -10

Configurazione del sequencer Alsa
Editate /etc/default/timidity e /etc/init.d/timidity modificando la riga
TIM_ALSASEQPARAMS="qualsiasi opzione ci sia"

con
TIM_ALSASEQPARAMS="-iA -B2,8 -Os1l -s 48000"

e solo in /etc/default/timidity
TIM_ALSASEQ=false

con
TIM_ALSASEQ=true

Editate il file /etc/modules
sudo vi /etc/modules
ed inserite le seguenti righe:
snd-seq-device
snd-seq-midi
snd-seq-oss
snd-seq-midi-event
snd-seq

Riavviate ed ecco ora pronto il vostro portatile per l'audio realtime

Chi volesse ottenere di più può comunque acquistare un scheda audio usb dedicata e potrà abbassare molto la latenza.

Per provare dovrete per prima cosa avviare qjackctl, che lancierà anche il demone jackd
Potete ora lanciare tutti i programmi che volete ed utilizzare la schermata connections di qjackctl come un normalissimo mixer.
Ciao a tutti
Swipon

2 commenti:

Anonimo ha detto...

grazie 1000 per questo articolo.
Non riuscivo a sentirei midi con rosegarden.ora è tutto ok.
son quai felice.
:)

swipon ha detto...

Ci mancherebbe, è un piacere! ciao swipon