Seth Kenlon

Authored Comments

Good point! It's worth noting that the Zoom H4n digital recorder has an inbuilt preamp, and it can be used as an audio interface. Since the Zoom H4n is so useful, it's not a bad investment in general for audio creators.

Maybe a topic for a follow-up article...

JACK has gotten a lot easier since The Big Low-latency Patch of 2.6.38, so if you think you may not have tried it since then, give it another go. The problems that existed prior to that kernel simply do not exist any more, and mostly it's just a bunch of routing exercises.

However, that's basically saying "works for me", which is useless. So here's some ideas off the top of my head:

Most JACK problems fall into one of two categories: low-level (memory and CPU) problems, or high-level audio routing problems.

The low-level stuff is mostly solved, in my experience, by kernels version 3 and above. But if you encounter them: 1) find and delete any old config files (especially .jackrc). 2) Make sure your user is appropriately privileged; in fact, launch JACK with sudo to really make sure you're not just butting heads with system permissions. 3) If desperate, lower JACK's requirements (for example, tell JACK *not* to seek realtime performance, even if only for testing).

For audio routing issues, get to know your audio devices. JACK talks to Pulse, but JACK also needs to know what device you want it to govern, and for that, you have to look at available sound devices and determine which one you want to use with JACK. It can all be done in QJackCtl settings, but it's easier to type commands, so here's the process:

1. Look at your audio devices:

$ aplay -l | grep card

or

$ cat /proc/asound/cards

2. Identify your preferred output device:

ALSA probably lists your standard speaker (PCH) and maybe a fancy digital device, like HDMI. This is hypothetical; just an example - but assuming your HDMI gets priority, it gets designated by your computer as hw:0 (first device). But your speakers are probably not hooked up to your HDMI port, so you actually want to use your PCH device, designated in this example as hw:1.

So now you know you want to use hw:1 as your JACK output.

3. Set your desired output in QJackCtl settings. Or just try launching jackd from a terminal:

$ jackd --realtime -d alsa --midi seq --playback hw:1

4. Once that's all set, you should be able to use JACK as intended, bearing in mind that Pulse could, theoretically, be routing sound away from hw:1 (in this example, your speaker), so do a dummy check in pavuctl (Pulse Volume Control) to make sure your output is set to something sane.

These great tips - and more! - can be found here:

http://slackermedia.ml/handbook/doku.php?id=jack
and, a little more broadly:
http://slackermedia.ml/handbook/doku.php?id=linuxaudio

Hope that helps.