Podška za rad u realnom vremenu
Generalno, ovo uputstvo se može koristiti za bilo koji proces kome su potrebne privilegije izvršavanja u realnom vremenu, ali će ovde naglasak biti na audio i jackd. Potrebno:
Verovatno ćete želeti da koristite i neki program za povezivanje jack klijenata (recimo, patchage), ali o tome u nekom drugom uputstvu.
Nakon instaliranja potrebnih paketa, potrebno je izmeniti ili napraviti ako ne postoji fajl /etc/set_rlimits.conf:
@audio /usr/bin/jackd nice=-1 rtprio=85 @audio /usr/bin/patchage nice=-1 rtprio=84 @audio /usr/bin/ardour2 nice=-1 rtprio=83 @audio /usr/bin/rakarrack nice=-1 rtprio=83 @audio /usr/bin/jamin nice=-1 rtprio=83 @audio /usr/bin/hydrogen nice=-1 rtprio=82 @audio /usr/bin/jackeq nice=-1 rtprio=81 @audio /usr/bin/jack-rack nice=-1 rtprio=80 @audio /usr/bin/jamin nice=-1 rtprio=79 @audio /usr/bin/qsynth nice=-1 rtprio=78 @audio /usr/bin/rosegarden nice=-1 rtprio=77 @audio /usr/bin/seq24 nice=-1 rtprio=76 @audio /usr/bin/specimen nice=-1 rtprio=75 @audio /usr/bin/vkeybd nice=-1 rtprio=74 @audio /usr/bin/zynaddsubfx nice=-1 rtprio=73 @audio /usr/bin/ams nice=-1 rtprio=72 @audio /usr/bin/amsynth nice=-1 rtprio=71
Izuzetno je bitno da jackd ima najveći prioritet (najveći broj pored rtprio=), jer je on zadužen za transport signala između programa te se tu javlja najveće kašnjenje. Naon ovoga, potrebno je korisnika pod čijim nalogom želite da pokrećete programe u realnom vremenu dodati u grupu audio:
# gpasswd -a <korisnik> audio
Da bi izmene bile primenjene, morate se odlogovati kao korisnik i ulogovati ponovo. Kada ste to učinili, pokretanje programa se malo razlikuje. Recimo, ako želite da pokrenete jackd:
# set_rlimits jackd -d alsa
Kako jackd, recimo, ima opciju kojom mu možete reći da je on sam svestan da radi u realnom vremenu, adekvatnija komanda bi bila:
# set_rlimits jackd -R -d alsa
Slično važi za sve programe iz set_rlimits.conf fajla: u koliko imaju opciju kojom bi se pokrenuli u realnom vremenu (-R za jackd), koristite je.
Čemu sve ovo? Ako ste ikada probali da svirate neki instrument, provučete ga kroz neke softverske efekte i čujete rezultat, verovatno ste primetili malo kašnjenje. Možda niste svesni da je kašnjenje u pitanju, ali ste sigurno primetili da "nešto ispada". Uz malo sreće, sve radi mnogo bolje sada. Ono što će takođe značajno smanjiti kašnjenje je veća frekvencija semplovanja, kao i manja veličina bafera. Ono što ja korisnim je sledeća komanda:
# set_rlimits jackd -R -d alsa -r 96000 -p 512
Pri tome, jackd izjavi da je kašnjenje u ovakvom okruženju 5.3ms. Samo radi poređenja, profesionalne sprave ne smeju imati kašnjenje veće od 5ms, tako da možete reći da imate profesionalnu spravu ... skoro. :o) Ako smanjite veličinu bafera (-p opcija) ili frekvenciju semplovanja (-r opcija), dobićete još manje kašnjenje. Sve zavisi od toga da li veće frekvencije podržava Vaša muzička kartica i da li imate "preskakanja" sa manjim baferima. Potrebno je da se malo poigrate sa opcijama da biste našli Vama odgovarajuće. Srećno! :o)
Document Actions