ardour
What I've been up to lately
2009-03-28-
The Psycho Acoustic Bass Plugin
I promised to develop it in a public svn repository, but never published the URL. Sorry about that. Anyway, it is now in a working state and available here. It doesn't do miracles, but it does do something. I'll blog more about this when I get some feedback from the project report... -
Suunto heart rate monitors in Linux/OS X
I bought myself a Suunto Heart rate monitor with a "pc pod" for connecting it to a computer. However, Suunto provides only Windows software for getting training data out of the device. Long story short, I ended up writing a small ANT driver for Linux and have been able to get some data out of the device. However the data format is rather cryptic, and I've been in contact with Suunto about the possibilities of getting a Linux/OS X version of their (rather good looking) Training SDK out. I haven't yet gotten a good response from them, but once I do, I'll blog... -
Futurice
In the beginning of the year I started working part-time as a software developer at Futurice. I've been doing mainly mobile software development, and so far I've enjoyed it :) -
Ardour 2.8 is out!
It looks like this time I haven't made a single commit to the 2.X tree since the last release. Partly because of my new job and lots of school work I haven't had quite as much time to work with Ardour as I could have wished. However, I have been doing some little work here and there in the 3.0 branch. Nothing big though. -
Boids (flocks herds etc.)
This is a school project that I got a bit obsessed about :) The idea is to make a flocking model where each character in the flock acts autonomously, together forming clear flocking behavior. This is a Java project which is not ready yet, but you can nevertheless check it out here if you wish. It uses the great Processing framework (from "Java mode") for the 3D graphics. More on this once The course finishes. I'll also make the source code publicly available :)
GUIs for audio plugins
2008-10-11I've been developing a nice plugin visualization idea together with Ardour co-developer Sampo Savolainen lately. Sampo originally had the idea of feeding white noise through an EQ plugin, and displaying a spectrum of this to see the frequency response. This way you could see what the plugin is actually doing, instead of some approximation of what it is trying to do. The idea is to update the graph every time plugin parameters are adjusted. This will probably be embedded in Ardour's plugin GUI at some stage (probably in 3.0).
However, this approach had it's problems with getting a smooth graph. After a bit of thinking, I finally noticed we could simply use the impulse response of the plugin, and *drumroll* it works great! Sampo has cooked up a test client, which hosts a ladspa plugin and shows it's amplitude and phase response.
For anyone who knows his DSP, it should be pretty obvious that measuring the impulse response is only useful for LTI filters. However, another idea emerged from this one: Showing the difference between output and input (output_spectrum - input_spectrum) could be useful for non-LTI plugins. Plotting non-linear plugins like this should give valuable information about new signal components produced by non-linearities. However, selecting the parts of the signal to be used for the analysis is not trivial and will need quite a bit of thinking and experimenting.
To say a few words about Ardour development in general: 2.6 should be released any time now and 3.0 is moving forward fast. I finished a region export dialog for 3.0 today. It offers the possibilities to export the raw region output, region output with fades or track output.
Ardour tidings
2008-09-26So, I've been spending some time not being paid for working on Ardour, but it seems I just can't keep my hands off it...
After quite a bit of changes from the 2.X branch were merged into the 3.0 branch, it was time to merge my Summercode stuff there also. Merging my stuff was mostly pain free, but the 2.X merge seemed to be more problematic. libsndfile was removed from the source tree, but a pre-release version has to be used. Unfortunately, to have Ogg Vorbis support, you need to also get a svn version of Vorbis.
Today I also committed my session merging code, which is capable of merging regions, playlists, locations and the tempo map from external sessions. The GUI still needs work, and tracks is definitely something that should still be implemented.
Ardour's 3.0 branch in general is a bit messy at the moment. One big problem is memory corruption, which we haven't been able to diagnose yet. Some people say things work fine, but other have problems all over the place. Hopefully this will be solved soon.
Most development has moved to 3.0, as commits done to 2.X have to be committed to 3.0 also. That means no more merges to break things ;)
Summercode project report
2008-08-27I finally got my Summercode report written. This means that when I get confirmation that it is good enough for the project coordinators, my project is over. However, I will still be giving a short presentation regarding the project at the Openmind conference on Tuesday October 7th in Tampere, Finland.
I must say this summer was a great experience. I would like to thank everyone involved, especially the people who tested my work and gave great feedback. The project coordinators and all other people responsible for organizing and sponsoring the project also deserve credit. They are the people who made this all possible. Thank You!
For now I think I'll take some time off from Ardour and maybe fill my coding desires by writing a LV2 plugin. This is something I've wanted to do for some while, but never got it done. Nevertheless there is still some work that should be done regarding Ardour's export, which I will tackle some time later.
Anyway, here is the report, and as a bonus, the not-yet-published presentation slides I used at the finals.
Wrapping up this summers work
2008-08-20My Ardour summercode project is getting very close to it's end. The last few days I've been working on minor bugs, GUI tweaks and integration of the new export dialog into Ardour.
If you are up to building Ardour yourself, please check out my branch and do some testing. Everything should be functional now, but there might still be some bugs. Region export is one thing that is not yet functional and will need some planning before it is re-implemented, since the current model has caused a lot of confusion. Again, the best place to report bugs is #ardour @ freenode
For the next two days I'll be writing my final report and maybe touching up a few places here and there in the code. When I get my report done, I'll publish it here with some final screen shots. Until then, Happy Testing ;)