Final year project

I think I’ve finally settled on an idea for my final year project and dissertation. I won’t go in to the details right now but it involves a lot of work with audio files, quite possibly of different formats.

While researching the feasability of this idea as a project I hit a pretty big road block. I need to find an audio toolkit that will allow me to work with audio files, of different formats, in a fairly simple way whilst at the same time exposing enough complexity for me to do various mixing between audio tracks.

Fortunately, several such toolkits exist, the most attractive of which being GStreamer. GStreamer is the audio framework that the GNOME Desktop is built upon. It’s pluggable, allowing support for new formats to be added and removed independantly of the applications that use them and it’s very stable. However, traditionally, the language of choice for GStreamer applications is C - which I don’t know, so I decided to check out the various language bindings available.

Unfortunately, the only stable language bindings are all for dynamic languages (Python, Perl, Ruby etc.) - the bindings for both Mono and Java are unstable and deemed “suicide to use”.

This is a shame because I would really like to develop this project in a strong-typed language, especially C# - more specifically: Mono.

Unless the bindings for C# are completed and stabilize before I begin my project I’ll just have to make do with Python. Don’t get me wrong, I like Python. I would just rather have the debugging support of the Mono CLI behind me to help me iron out problems.

Leave a Reply