Reggeli elfoglaltság gyanánt (ma korán kellett kelni, és még nem vagyok munkaképes :)) elkezdtem szórakozni az ardour 2-vel. Illetve kezdtem volna, de ismét azt kellett tapasztalnom hogy ez biz nem megy.
m.j.: Amarok legyen jelen esetben a mindenféle hangot lejátszó program.
A problémáról nagyvonalakban:
- alapértelmezett hangrendszer a pulseaudio, ami direktbe az alsa-t használja
- az ardour a jackd-et használná alapból (csak sejtem, hogy miért nem lövik hozzá a pulse-t)
- jackd is az alsa-t használná alapból
A megoldás látszólag pofonegyszerű (és nem csak látszólag az, tényleg egyszerűen összelőhető):
jackd => alsa
pulse => jackd
amarok => pulse
ardour => jackd
Lássuk milyen problémákat kell leküzdeni:
- pulseaudio deb csomagja nem szállítja a szükséges modult ubuntu alatt
- jackd futtatásásához elengedhetetlen egy olyan felhasználó akinek van joga állítani a folyamatok prioritását
- a jackd csomagja nem szállít felhasználót és rendszer szintű daemon indítást (init.d)
És a megoldások:
- deb csomag: ezzel sajna nincs mit tenni, újra kell forgatni a csomagot a debian eredeti alapján, hogy a szükséges deb csomagokat megkapjuk.
- jackd felhasználó: ezt, jelenleg úgy oldottam meg, hogy a saját 1000-es felhasználómnak adtam jogot a folyamatszabályozásra
- rendszer szintű indítás: kézzel indítom a pulse-t és a jackd-t, szóval nem megoldott
Releváns lépések:
apt-get install ardour2
apt-get source pulseaudio
pulseaudio deb újraforgatás
(nem részletezem, install és control fájlokat össze kell vadászni az unstable forrásából és a jack-dev csomagot fel kell tenni. Ki fogom tenni a deb fájlokat amiket csináltam.)
~/jack.pa:
#!/usr/bin/pulseaudio -nF
#
load-module module-jack-sink
load-module module-jack-source
load-module module-native-protocol-unix
load-module module-volume-restore
load-module module-default-device-restore
load-module module-rescue-streams
load-module module-suspend-on-idle
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif
.ifexists module-x11-publish.so
.nofail
load-module module-x11-publish
.fail
.endif
/etc/security/limits.conf:
@connor - rtprio 20
@connor - memlock 4194304
@pulse - rtprio 20
@pulse - nice -20
~/.jackdrc tartalmát ki kell kommentezni
jackd futtatása:
jackd -R -P4 -dalsa -r44100 -p512 -n4 -D -Chw:0 -Phw:0
pulseaudio futtatása kézzel (ami fut azt ki kell lőni előbb):
pulseaudio -nF ~/jack.pa
(sorrend: jackd, pulse)
A ardour-hoz tesztként egy mp3ból csináltam wav-ot:
mplayer -ao pcm:file="raw.wav" teszt.mp3