I’ve been updating my Ambisonics decoder and it was all going swimmingly until I put in the near field compensation (NFC) filters. I’d changed the implementation from that used in the B-format encoder to something that should have been more efficient. It is. However, it also gives me a load of noisy garbage along with the filtered sound. Not good.
After a quick inspection I can’t see what’s wrong with it but the whole code has become a bit messy in the upgrade from the previous version so I’ll maybe have to cut my losses and start afresh. That way I’ll hopefully avoid any problems and can fix whatever has gone wrong with my current implementation. It’s probably something really stupid that I’ve done but it’s so frustrating.
The worst thing is that I don’t have the time to work on it. I’ve a whole bunch of other things to be getting on with that debugging code isn’t at the top of my to-do list. Annoyingly, until I get the time to work on it and fix it, I’ll have this nagging away at the back of my mind.
Anyway, I’d best get back to looking for the problem.
Posted in Coding
Tagged coding woes, VST
I’ve updated the B-format encoder. The first change was to make the GUI a bit lighter so the text is easier to read. The second change was more serious. There was a memory leak that was causing a build up in the RAM over time and, if used for long enough, a crash. This is now fixed and it seems to be working stably.
I’ll be spending this weekend updating the code for the decoding plugin. I doubt I’ll have the time to make a GUI but if I can get the code and a usable GUI ready then I’ll be sure to post them.
I’ve updated my UHJ encoder and I’m making it available for people for free. It’s still an alpha-version so I can’t guarantee it’ll be without glitches but I’ve not had any problem on my systems yet.
It’s available as 32bit Windows and Mac versions.
I spent the whole day looking for an error that caused intermittent compatibility problems with Sonar X1 Producer and, even though it’s now fixed, I’m still not really sure what was causing the problem… It seemed to be something about how the plugin was reporting its name to the host. The weird thing is that the error in Sonar was related to “receiveVstTimeInfo” and I didn’t end up changing that dealt with the time information.
Anyway, live and learn… or, live and do without learning…
So now that I’ve done the alpha version of the encoder it’s probably time I should tackle the decoder. There are already changes I want to make to the encoder but I’m going to wait and see what other feedback so I can make all the changes at once.
I’m not looking forward to the decoder because I’ll probably have to scrap my previous version and start again from scratch. It’s hard to know how to structure it, what features to include and what to leave out. I’ll probably spend a while thinking about it before I just into it.
As always, suggestions are welcome!
I’ve finished the alpha version of my updated B-format encoder. I’ve already got a list of changes I want to make but I guess that’s the nature of an alpha version of any piece of software.
This VST is made freely available but I make no guarantees it’ll work with every system (though I hope it does!). If you have a problem with it then please contact me.
First draft of new B-format encoder GUI
I’m going to take a very quick break from coding to post this. It’s the initial design for the B-format encoder GUI that I’m working on. Right now I’m just getting it coded up and hopefully it’ll be available for alpha testing in the next couple of days.
Click on the image to make it larger.
If anyone has any suggestions on changes or improvements that can be made then I’ll be glad to hear them. Just leave a comment or send me an email.
Bruce Wiggins has expanded his set of Ambisonics VSTs to include up to 3rd order. They’re well worth checking out – there’s a reason they’re one of the most popular Ambisonic plugins!
I’d the pleasure to meet him at the 2012 Ambisonics Symposium/AES conference. He’s a nice guy and presents a great workshop on how to use Ambisonics with Reaper (which is by far the easiest way, IMO).