Visar inlägg med etikett ffado. Visa alla inlägg
Visar inlägg med etikett ffado. Visa alla inlägg

onsdag 23 december 2009

Success with new Jack settings

No wonder there are problems when you are stupid! I was using the obsolete "freebob" driver instead of the newer FFADO "firewire" driver in Jack. Once this was corrected, even Bristol seemed relatively stable. (I'm on Ubuntu Studio (Karmic) using an Edirol FA-66, FYI)

Now I can achieve lower latency, too. With a sample rate of 44.1 kHz and a buffer size of 64 frames/period (latency according to Qjackctl: 4.35 msec) things seem to work well. With a buffer size of 32 (latency: 2.18 msec) Adour disconnects from Jack, and with an even lower setting, my whole system gets very slow. But I've worked with higher latencies than 4.35 msec without being dissatisfied, so this is a win.

At maximum sample rate (192 kHz) I can get down to 4 msec (with 256 frames/period). I can go even lower but then my system gradually gets a bit slow. Somehow Hydrogen doesn't recognize the higher sample rate, or maybe all the samples in the drum kits are recorded with a lower sample rate, because everything gets more high-pitched when Jack is set to a higher rate.

I guess I could tweak the settings more to achieve optimal performance. I don't know what "No memory lock" or "Unlock memory is", and I know even less what the difference between these two is, so I will need to read up on it. Maybe "Periods/buffer" is something to get acquanted with as well. Checking the memory lock boxes has had no apparent effect, though.

Ardour still throws a segmentation fault once in a while, particularly when normalizing a region or when trying to reconnect to Jack once connection was lost (Ardour always dies when I try that at 192 kHz). This is quite annoying, and I hope I can fix it. Hydrogen has also died once for no apparent reason.

In short: I'm back on track. My goal is to have a stable environment for composing, recording and mixing. There are still some things to work out but I'm getting closer!

söndag 25 januari 2009

More problems: FFADO and jackd

I'm trying to make the new firewire audio drivers working (ffado instead of freebob, which was the old driver) on Hardy. At first I though I'd be compiling ffado and re-compiling jackd from source, but instead I found that there are .deb packages here! (Before finding these, I checked the dependencies using Synaptic.)

After installing the packages, I fired up qjackctl and chose the driver called "firewire" instead of "freebob" in the setup window. It gave me a familiar error at first, the cause and remedy of which I have already described - only this time it was a more human redable edition.


03646216877: [31mError (ieee1394service.cpp)[ 163] detectNbPorts: Could not get libraw1394 handle.
This usually means:
a) The device-node /dev/raw1394 doesn't exists because you don't have a
(recognized) firewire controller.
b) The modules needed aren't loaded. This is not in the scope of ffado but of
your distribution, so if you have a firewire controller that should be
supported and the modules aren't loaded, file a bug with your distributions
bug tracker.
c) You don't have permissions to access /dev/raw1394. 'ls -l /dev/raw1394'
shows the device-node with its permissions, make sure you belong to the
right group and the group is allowed to access the device.
[0mfirewire ERR: Error creating FFADO streaming device


Progress! So after modprobe raw1394 and chmod a+rw /dev/raw1394, I tried again.

(A more permanent solution to the permissions part might be opening /etc/udev/rules.d/40-permissions.rules and finding the line saying KERNEL=="raw1394", GROUP="XXXX"
where XXXX is the name of the group with permissions to write to raw1394. In the console, do adduser USERNAME XXXX to add your non-root user to this group.)

When I tried again, I got another error, this time without any explanation. I eventually realized I had forgot to plug in my audio interface. Clever! With this done, jack seemed to start, only to stop again, with the following cheerful message:


(...)
libiec61883 warning: iec61883_cmp_create_p2p_output: Failed to set the oPCR[0] plug for node 1.
libiec61883 warning: iec61883_cmp_create_p2p_input: Failed to set the iPCR[0] plug for node 1.
firewire ERR: Could not start streaming threads: -1
DRIVER NT: could not start driver
cannot start driver
starting server engine shutdown
stopping driver


I got a similar problem trying to use the freebob driver.

This will do for now, I need to get some sleep. Any and all suggestions are welcome!