So I’m now creating scripts to do the Ambisonic to DTS-WAV conversion. Unfortunately for me, the only DTS-WAV encoders out there are for Windows and OSX. The ambisonia.com server is on Linux. So that means I will need to have at least one manual step in the process.
I going to use Fons Adriaensen’s LADSPA plugins to create a 4 speaker square decode. Fons has got shelf filters in there, as well as distance compensation, so they should produce a quality decode.
The brilliance of doing sound on Linux is that there are goo solid standards that have been created, and have broad support amongst many of the Linux audio applications. Ofcourse, I’m talking about Jack (a way for different audio apps to send audio strems to each other) and LADSPA (Open Source’s equivalent of VST instruments).
I need a scriptable environement, because the Linux server has no head on it, it is GUI-less.
Ecasound is my first port of call. Unfortunately, I’ve hit a couple of bugs. Firstly, Ecasound has problems reading the *.amb files (even though it uses libsnd which should be able to understand WAVEX). When I ocnvert the WAVEX file to WAV then I can apply Fons’ LADSPA plugins very nicely. The second bug is that I cant write out 4 mono wav files (if I start with a 4 channel recording, there is a bug in the ‘loop’ object which means I can separate the 4 channels into mono ones to write to disk). I can get around this by running 2 ecasound scripts… but then I’m doubling my disk read and writes. I was getting to like Ecasound. I hope those bugs get fixed. It was going to be a very elegant solutio.
SND is my second port of call. It is a more complete and powerful audio environement, which also promises to be able to meet my requirements. Being more complete, it will take longer to learn, and longer to setup (I have to recompile it to be able to run ‘headless’). This is my task for this afternoon. Lets see how I go.