amarok, ardour, pulseaudio és jackd ubuntun (félmegoldás)

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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.