Using
From FreeBoB
Playing
First, run jack:
$ jackd -d freebob
with or without more parameter (think about --realtime). If returns something looks like...
FREEBOB: Driver compiled on Apr 13 2006 16:39:14
FREEBOB: Created driver freebob_pcm
period_size: 512
period_usecs: 10666
sample rate: 48000
running with Realtime scheduling, priority 60
DRV MSG: freebob_driver.c:82 (freebob_driver_attach): Registering capture port cap_0_0_0_LineIn 1+2 right
DRV MSG: freebob_driver.c:82 (freebob_driver_attach): Registering capture port cap_0_0_0_LineIn 1+2 left
[...]
Driver start....
[...]
...uhu, should be ok. Don't worry about Warnings.
So, use a player directioning to jack, e.g. mplayer. And don't forget: run as same jackd user.
$ mplayer -ao jack coolsong.wav
(or mp3, or, well, you know!) Listening? Of course :) If not, it can be for several reasons. This is extremely complicated. First thing's first, check UdevConfiguration. If this doesn't do it, you are going to have to look around and try to find someone to help. At this stage in development, there are often errors in the implementation of so many different possible places that the freebob developers are hard pressed to assist each interested individual in trying to correct problems. Review our FAQ for more possible solutions.
Recording
Start jackd bla bla bla....And so, run something looks like
$ jackrec -f test.wav -d 30 "freebob_pcm:cap_0_0_0_LineIn 1+2 right"
for record 30 seconds in file test.wav from "freebob_pcm:cap_0_0_0_LineIn 1+2 right" port (include " if port name includes blank spaces). Well, but how do I find the port name? Look at the jackd output. Remember line
DRV MSG: freebob_driver.c:82 (freebob_driver_attach): Registering capture port cap_0_0_0_LineIn 1+2 right
above?
Test all capture ports.
Good luck.
Decreasing Latency: Realtime Preemption
jack playback latency, in seconds, corresponds to -n parameter times -p divided by -r. Below, default values for freebob:
-p, --period Frames per period (default: 1024) -n, --nperiods Number of periods of playback latency (default: 3) -r, --rate Sample rate (default: 48000)
So, latency = p.n/r = 1024.3/48000 = 0,064 seconds or 64 milisseconds. It's high for audio critical applications as live record, by example. So, you want decrease -p and -n values and increase -r values. However, -r is fixed: your hardware fix it. Try decrease -p and -n values. For example:
$ jackd -d freebob -p 512 -n 3 $ jackd -d freebob -p 256 -n 3 $ jackd -d freebob -p 512 -n 2 $ jackd -d freebob -p 128 -n 2
There's a limit when xruns happen. For advice, if you use Debian GNU/Linux, you can check here (http://pkg-freebob.alioth.debian.org/lowlat.html).
