danboid
Posts: 15
Joined: Sat Jul 28, 2012 1:07 pm

ARM Linux JACK / music production success story

Mon Jul 30, 2012 11:36 am

Hi Raspbians!

I have seen a few posts in this forum about people trying to get JACK running with the intent of using their RPi for music production. I have had some success with JACK and numerous top Linux audio apps running on my Pandaboard and I realise most of you won't be subscribed to the Linux Audio or Pandaboard mailing lists so I thought you may find the following (slightly edited) posting I made to those mailing lists recently helpful.

Pi users may not have as much luck as I have because the Pandaboard has a better CPU and, more significantly, 1GB RAM but all the programs I mention below are pretty lightweight so YMMV!

Good luck!

Dan

------

One of the most compelling and attractive aspects of GNU/Linux and Free software for me has always been portability and so to that I end I have been striving for the last 16 years to make sure that I can do everything I need to do with a computer with open, free software. My other main hobby is music and so naturally these have converged with my focus being put on testing free audio software for Linux.

My first foray into running Linux on a non-x86 machine was back in '99 when I bought the original iMac mainly so I could install and play with Linux on something that wasn't a PC. My first exposure to ARM Linux came in 2004/5 when I got hold of a Sharp Zaurus SL-C3000 which was a mighty impressive device at the time as it was the first Linux PDA to have a HD, USB host etc. The C3000 only has 64MB RAM but, as anyone who has run Linux on the original XBOX will tell you, you'd be surprised at how much you can do under Linux with only 64MB RAM. I managed to get JACK, specimen, seq24 and a few of the Linux trackers running on the Zaurus.

Now its 2012 and I'm the proud owner of a Pandaboard - a mini ARM dev board with a dual core ARM Cortex, 1GB RAM, SSD and HDMI output etc. Apart from it 'not being a PC' - what I really like about this device is its low power consumption and total lack of fans or other cooling methods hence its totally silent. I've got Ubuntu 12.04 running Fluxbox on it and yesterday I achieved one of my main Pandaboard goals as I'm very happy to report it is possible to run at least one instance of the DISTRHO TAL Noisemaker LV2 plugin under qtractor (latest svn) on the Pandaboard with no xruns! As soon as you add a second Noisemaker track the xruns start to appear but you can of course mix NM down to audio tracks to get more instances that way.

It should be noted that I have had to use an external USB soundcard to get JACK running on the Pandboard as the current ALSA driver for the Panda's onboard audio isn't working with JACK yet - in fact the onboard audio isn't working at all with the latest TI kernel and I also had to set the CPU governor to performance to get xrun free performance for Noisemaker. It goes without saying that the Pandaboard is not cut out for forming the basis of a pro-audio DAW and will not be replacing your i7 rig any time soon but its literally sooo much cooler!

Kaspar Bumke
5:44 PM (4 hours ago)

to me, pandaboard, Linux, Filipe, Patrick
Great stuff Dan!

I too am really interested in these new ARM board appearing everywhere and what role they could play in Linux Audio.

It seems like you are going all out for the most powerful one and seeing how far it can go head to head with the x86s.

I have been looking closer at the BeagleBone and wondering how some of the Linux Audio projects, that separate out the "Engine" and the GUI, such as SooperLooper, LinuxSampler, Bristol and many more could perform on a device like that.

While the BeagleBone does away with the Graphics it also has no onboard sound. So I have been researching CODECs that have Linux drivers that could be interfaced with it. So far the Analog AD1939 is coming out on top. It is a 4-in 8-out 192Khz capable device and the drivers are part of ALSA. So I have been gearing up making a Beagle Cape with this thing.

A major concern for me is that, even without X, even with a CODEC connected over I2S I won't get the performance (and memory) I need to run any of the aforementioned programs.

Have you done any tests running audio programs without X?

Another thing, have you been compiling yourself or are the repositories for ARMv7 for this kind of stuff fairly good for Ubuntu?

All the Best,

Kaspar

Louigi Verona
6:13 PM (4 hours ago)

to Kaspar, me, Linux, pandaboard, Patrick, Filipe

I just hope this Secure Boot does not reduce Linux ARM devices to a tiny number!

Dan MacDonald
9:19 PM (1 hour ago)

to Louigi, Kaspar, Linux
Kaspar:

Apart from the apps I've already mentioned, the only other Linux audio software I've used on my Panda so far are alsamixer, pactl, pavucontrol and Audacity - all of those have worked just as you'd expect them too.

I'm using standard jack and qjackctl from the 12.04 repos but I've had to compile LV2/ drobilla libs, qtractor and Noisemaker myself. LV2 and qtractor were straightforward but I had to modify the makefiles to get JUCE and Noisemaker to compile under armhf. I dunno how much use qtractor and noisemaker make or SSE but thats one thing both apps lack when built for ARM CPUs. When I get better at C++ I'd like to have a go at adding NEON support to Noisemaker.

There aren't many terminal-only Linux audio apps I make regular use of. I'd be interested in trying NAMA on my pandaboard but thats no fun without a mic input which is something I don't quite have yet on my panda- I have achieved limited success using its onboard one with arecord and my external USB soundcard is playback only.

I forgot to mention I've also used Rui's samplv1 LV2 sampler plugin successfully under qtractor on my Panda but I've only used a few instances - I've not stress-tested it to see how many samplv1 tracks the Panda can push out just yet.

darkcity
Posts: 66
Joined: Wed Aug 03, 2011 3:01 pm
Contact: Website

Re: ARM Linux JACK / music production success story

Wed Aug 01, 2012 9:11 pm

Hi Dan,

Good to hear someone supporting linux sound.

On an off topic note...

I've been trying to compile qtractor for x86 puppy linux. it works but LV2 plugins crash the system after I package the files - and only work to a limited degree on the installation I compiled them on.

Wonder if you had any tips?

Jon ; -)

danboid
Posts: 15
Joined: Sat Jul 28, 2012 1:07 pm

Re: ARM Linux JACK / music production success story

Thu Aug 02, 2012 1:36 pm

Hi Jon!

I mentioned NEON in the above posting but neglected to mention the 466Mhz Tesla DSP sat doing nothing right now on my Pandaboard. I hope that one day I'll be able to use this with the TAL-Noisemaker synth and various other LV2 plugins (like the convolution reverb and CALF plugins etc. maybe). I should be able to get much more mileage out of it then but I've never done any DSP programming so unless someone else picks this idea up we'll be waiting some time for me to do it!

You've not really given me enough info to help you ie what plugins and which versions of the LV2 libs you've got installed but there are better ways to get your Linux audio probs resolved than on this forum.

For general usage and compilation help, your first port of call should be #opensourcemusicians on Freenode irc but if anyone has any dev questions go to #lad . Other highly recommended Linux audio resources are the http://linuxmusicians.com/ and AV Linux forums as well as the Linux Audio Users mailing list.

darkcity
Posts: 66
Joined: Wed Aug 03, 2011 3:01 pm
Contact: Website

Re: ARM Linux JACK / music production success story

Thu Aug 02, 2012 2:41 pm

Thanks for the heads up, danboid

now back to jack on rpi or at least arm 8-)

Return to “Graphics, sound and multimedia”