Linux and Pro Soundcards
It’s not often you’ll catch me singing the praises of Windows but when it comes to sound cards it’s got to be a winner. Every professional, balanced sound interface I’ve come across comes with drivers for the OS. But what about the Open Source Linux world?
Well, you might call looking at Linux a waste of time in the professional audio world. However, with playout systems like Rivendell capable of powering some of the smaller stations (community or small scale commercial) and editing software like Ardour or Audacity (just as capable as Audition in my eyes and at the right price), it’s possible to run your station in the Open Source world.
However, when it comes to hardware things are still a bit hit or miss. Your off the shelf 99p AC97 special will probably work A-OK. The professional balanced card you’ve had for years – maybe not. It’s often cited that Audio Science cards will work very well with the right drivers. I can’t comment on this as they’re not hugely popular in the UK and I’ve never come across in the wild I can test with.
On the other hand, the M-Audio Delta cards (e.g. 44/66/1010) seem to just work out the box. These are fully supported by ALSA and even come with their own GUI tool for managing them (envy24tool). The catch I’ve found with the Delta 66 is levels. The cards are capabile of professional levels but top out at about +4dBu. This resulting in the meter floating around PPM1 when operating Rivendell with a 13dBFS overhead. A somewhat standard level for playout systems.
A card with a similar (but not the same) chipset is the Phase 22. This again works out of the box with Linux but suffers from the same levels problem as the Delta 66.
That said, you must not confuse the Phase 22 working with the Phase 88 PCI card working. It uses the same family of chipsets but I’m yet to see anyone successfully getting Linux to play nice with the breakout box.
To add to the confusion, there are soundcards that appear to work but end up being a nightmare in reality. The LynxTwo is a good example of this. It claims to be supported under Linux but needs you to install a special version of the audio system OSS for the proprietry drivers. This in turn isn’t highly compatable with software like Rivendell. In fact, you ought to publish something if you ever manage to make it reliably work.
Talking of reliablity, the Digigram VX range are often considered professional, reliable soundcards. And in most cases they are. However, only a limited range of these cards are supported under Linux. For example, the VX222 and Mixart are supported but the VX822 isn’t. On top of that, you need to install both the ALSA firmware and firmware loaders for your operating system (Debian users will need to crack the compiler out).
Experimentation found that the VX222 is reasonable reliable running software like Darkice, LiquidSoap and even Audacity. However, the machine thew hard errors when Rivendell’s audio engine was launched. This doesn’t write off the card completely but does limit its use.
Despite all this, if you do find a soundcard that plays nice and has drivers, you’ve got yet another issue with audio under Linux – what API/audio engine do you use? ALSA seems to be the default and is what applications like Rivendell will use by default. However, by default ALSA will not share a soundcard between applications. Oh, and if you do want to enable it, be prepared to mess around with config files (I’ll be talking about this in a later post – splitting a Delta 66 in two and sharing between multiple applications including Rivendell playout).
Another option is JACK. It’s an amazingly flexible, low latency system that allows you to plug applications and sound cards into each other. You could (in theory) have your playout, processing and distribution all on one box with this system. Heck, throw in some open source DAB TX software (plus associated RF hardware) and you could have your TX system in that box as well. Catch is that JACK really needs real-time priority and can be a bit fiddly to set up with hardware.
You can also use OSS for audio. While some systems like Digiplay will need it, it is getting on a bit now and not directly supported in much software. The trick if you’re using systems like this is to emulate OSS using ALSA or JACK (with the right software).
So, the upshot is it can be fairly plug-and-play in the Linux world but it can be a real hit or miss exercise (with a lot of misses) at other times. Shame really as I’ve worked with Linux for years in broadcast but it’s never come up to the same ease of use level as Windows when it comes to audio.
We’ve been using Rivendell with JACK and RME soundcards, mostly HDSPe AES but also the MADI version. Seems to work very well.