Hard to believe that next week it will be Five Full Years I live and work in Barcelona.
It seems like only yesterday that I closed the door on the empty house I then shared with three good friends, and drove our truck through the icy mist on to a new life. That night where we had no place to live I passed by my grandmother’s house for dinner, a few hours late. My grandmother’s not here anymore. Neither is her house. At least part of her floor is now the floor of my apartment.
Originally we planned to give it a try and see after a year. And then one turned into two, then two-and-a-half, and now five.
When I left there wasn’t even a company yet to give me a contract. Now we’re three companies, and our fifth move has taken us to an office of around 50 people now, and already people are complaining again about space. Par for the course.
I also guess I never actually publically informed about my move from Fluendo to Flumotion – it was just a logistical confirmation of a practical situation. Today Julien is managing Fluendo (the GStreamer/codecs/DVD company), and Elisa was always managed by Lionel anyway. And Flumotion is a full-blown commercial company.
Meanwhile, after a bit of a hiatus on my GStreamer involvement, I am slowly coming back to my plans of using GStreamer – the plans I had originally when I discovered GStreamer more than 7 years ago. I just reread my first post the mailing list, from April 10th 2001 – at least it wasn’t a completely stupid question.
My original plan was to write some code that would play your music just like a radio would. Nicely mixed, correctly levelled, a good flow between songs, and playing what you like to hear. An extension of the thesis project I did a long time ago which I used in our student radio at the time.
But GStreamer being what it was at the time, I got sucked into the vortex and didn’t really work on these ideas for a long time. I took a quick stab at it during 0.8 in the form of gst-python’s gst.extend.jukebox which worked quite well already on the mixing front, but when it got ported to 0.10 using gnonlin it just never worked for me and was left abandoned.
So third time’s a charm. After close to 10 years of random hacking, it’s about time to decide on one good personal project to invest my time in before life takes over. And this time I think I want to write something that not only Linux people can use. I want to write something that my friends can use too, and that means it has to work on Windows.
My motivation comes from being annoyed at not being able to listen to my music the way I should want to. I’ve been lax at ripping my new CD’s over the last 5 years, and a 300 CD backlog to show for it. My automatic playlists reflect my tastes of five years ago, and only once in a while do I bother to get some new tracks on one of my three computers or my Nokia, to which I then listen only in certain conditions. And every player I deal with annoys me to some extent. And none of them do any kind of decent crossfading, if at all.
I’m not promising anything yet, and I’m only at the beginning, but my experience makes me a happier hacker, advancing quicker from the idea to the code stage than way back when. That’s a nice feeling. Over a few two hour nightly sessions, I’ve put together some code that analyzes tracks, calculates RMS and attack/decay envelopes, and puts together a half decent mix. I’ve written a simple example using gnonlin which allows me to pre-listen these mixes, playing 5 seconds of the first track alone, then the mix, then 5 seconds of the second track alone.
This makes it a lot easier to evaluate different mixing strategies, making them easier to tune later on. I’ll have a fun plane trip with my laptop, earphones, and three batteries.
If you happen to be adventurous and interested, you can always check out the repository and play around a bit and see if it can mix your tracks at all.
So, I’m celebrating my Lustrum of Fluendo and Barcelona with a bit of code for a new project!
Sadly, the names I was considering a few years ago were already taken – pyjama is now a jamendo python application (mine would have been Just Another Music Application – in Python), and Orpheus, which also exists. So for now I recycled a name of a previous project that handled another aspect of the problem.
8 hours of plane hacking baby! Here I go.