All posts by glibersat

La brasserie Terken de Roubaix

Aujourd’hui, nous sommes allés nous balader près du Quai de Gand, à Roubaix. Il y a juste en face un impressionnant bâtiment en cours de démolition, la zone totale s’étendant sur 4 hectares. Il s’agit en fait de la brasserie Terken, celle à l’origine de la fameuse bière Septante 5, maintenant reprise par la brasserie Grain d’Orge. Elle a été à l’origine d’une gamme complète de bières.

Vue densemble
Vue d'ensemble

Cette brasserie a été fondée en 1920, lors de la fusion de 3 brasseries régionales : Union, Alliance Tourquennoise et Jean Ghislain. Elle est alors nommée la GBM (Grande Brasserie Moderne). On peut d’ailleurs apercevoir le sigle gbm sur la façade, en blanc. Elle a cependant été renommée “Terken” en 1989 afin de représenter au mieux son produit phare : la bière Terken.

Sous le statut de SCOP, elle s’est arrêtée en 2004 suite à sa liquidation par le tribunal du commerce de Roubaix-Tourcoing, malgré une tentative de sauvetage par ses employés. Pourtant, elle a fonctionné jusqu’à employer plus de 1000 personnes à sa plus grande époque, la faisant ainsi la plus grande brasserie indépendante française. Si elle n’a pas survécu, c’est principalement du à ses difficultés de reconversion suite à l’arrivée des grandes surfaces dans les années 80, la menant d’échecs en échecs. D’autres diront que des histoires politiques ou magouilles économiques ont eu raison d’elle.

Toujours est-il qu’aujourd’hui, le site est en cours de démolition par l’EPF (Établissement Public Foncier) depuis février 2010. La brasserie avait été construite sur le site d’une usine à gaz, sans que le sol ait été dépollué. Il y a donc un gros travail de dépollution et désamiantage à finir avant de passer le relai. En parlant de relai, c’est Kipsta, la marque de sports du groupe Oxylane/Décathlon qui reprendra le site en 2012 afin d’en faire son siège mondial. Si Kipsta vient s’installer à cet endroit, ce serait à la fois du à son attachement à la région et par la proximité du CETI (le Centre Européen de Textiles Innovants). Niveau emplois on annonce environ une petite centaine de postes créés…

Toujours est-il que la reconversion totale de la brasserie Terken a démarré et qu’il ne faut pas espérer revoir au moins avant plusieurs centaines d’années une production de produits régionaux sur ce site, dommage !

It’s been a long time since a… rockn^W post !

Yeah, right. I haven’t written a post since a long time… but, wait, there’s a good reason.

In fact, I’ve quit my PhD to start my company (it’s called FuzzyFrequency) and our first project is SpreadBand. SpreadBand is an online booking tool for independent musicians. I was kind of fed up with the french research system and, more personally, with me spending my days coding something alone and with no faith in it. So… maybe that was the moment to start blending my two passions : computer sciences and music. SpreadBand was born :-)

In this platform, we’ve put all our philosophy (openness of information, reuse and contribution to free software as much as possible, social impact, …) , a lot of our knowledge (software design, scaling issues, collective intelligence, …) and most of our energy (we don’t want no investors while we don’t have a lot of money, we want to keep our independence, …). So, in fact, that’s a big adventure since a few months. And it’s just *great* !

SpreadBand has been released since a few days as alpha software. It’s clearly still a big WIP but as we want to be Agile as much as possible, we wanted to give it very early to our volunteer testers. And it’s a success until now ! Oh. I’m writing this post right now in english while SpreadBand hasn’t been translated yet in English. It will come of course. Feel free to send us an e-mail if you like the idea of this project and want it sooner in english.

See you !

Django dependencies

For some reasons, I have to come back to web development. I hate having to write websites, because I feel that so boring, but what I want to achieve is more something that is a close to a real application, but web-based. At least, the business code and the goal is going to be much funnier. Anyway, in a pythonic logic, I therefore fired up django and started writing this web app.

The first step lead me to collect a few of reusable apps. One of the problem is that most of them aren’t packaged or if they are, most of them are too old compared to what is released. Some cool guys had a good idea : include a way to fetch dependencies automatically using the “manage.py” command. This piece of code is called django-dependency. All you have to do is something like this :

1
2
3
4
5
6
7
DEPENDENCIES = (
# subversion
deps.SVN(
'http://code.djangoproject.com/svn/django/trunk/django',
root=DEPDENDENCY_ROOT,
),
)

and then, from the command line :

1
./manage.py up

While it looks sexy, this software have some problems :

  1. It doesn’t support GIT
  2. It relies on shell commands (not the python libraries) for RCSes
  3. It doesn’t handle checking out/updating a specific revision

I therefore decided to patch it. But, while I was adding things, I felt something was wrong and I ended up rewriting it completely.

This is why I now have a new system that is very close to the idea of django-dependency (thank you guys for this awesome idea !). I’ve called it django-autodeps and it is licensed under the GPL v3. I plan to released it as soon as possible (it works well for me, but I prefer to use it a few weeks, fix bugs, etc before releasing a stable version).

Enlarge your python x10 !

X10-controlled
X10-controlled

I have recently ordered a few X10 equipments to play with. For those who don’t know, X10 is a standard for Home-automation (domotics) that enables you to remote control devices over a classical power line. A typical scenario could be for example remotely changing the intensity of a light. This has many “serious” use cases but honestly, for me, this is more a fun device to play with. Even if I may use them later for my home, I guess, I’m more interested in seeing how they can be used in another contexes such as artistic installations.

CM15
CM15

One of the devices I’ve ordered is a USB controller (model CM15) that you plug both to a usb port and the powerline. It can also receive and send events coming from wireless controllers, but that’s out of the scope for now.

So, first, I’ve of course started lurking at the existing free software to control all these toys and discovered a few projects such as Eclipse, MisterHouse, etc. They all seem to be interesting but my initial plan was more to have a good library so that I can integrate them into my existing projects. I’ve then found a low-level perl library, another one for the CM17 in ruby and my best result was a C one with a demo application.

The later works like a charm and allowed me to enter the cool world of X10 by sending some commands to my actuators. Fun. But, even if C is good for many things such as operating systems, we nowadays tend to use higher level programming language, such as my prefered one : Python.

After searching for some CM15/X10 stuff for Python, I’ve only found three libraries : a module for the firecracker (CM17) which exposes a low-level interface (very C style, low level commands) and two others called PyXAL and PyX10 that basically wrap the X10 Abstraction Layer library. While they may seem interesting, these three projects are no more maintained and the latest commits are from 2000… erg !

One possible solution could have been to wrap this C code to a Python module, but even if it works well, I had the feeling that I could rewrite it in a more consive way and in an object-oriented manner. Moreoever, this kind of USB devices are usually not too much complex to use, leading me to prefer to write a pure Python module. Beginning of another story :D

My goal is to make a generic, yet not complex, X10 library. Using the documents and specifications I’ve found, I’ve already written what’s needed to detect, setup the CM15 and made a pretty object-oriented interface to talk to the devices. I’ve also added the concept of House and plan to have virtual groups to be able to send a command to a set of devices you have chosen. Have a look :

1
2
3
4
5
lamp = dev.actuator("A2")
lamp.dim(10)
lamp.off()
house = dev.house("B")
house.lightsOff()

By the way, the module can be used for any other X10 device, it’s made for that. All the code is almost generic, you just have to write your own controller class. Also, the API is likely to change so if you have suggestions…

I’ll publish the module soon and my plan is to enhance it little by little… in fact I’ll add a feature every time I need it. If you want it faster, I’ll be happy to apply your patches :-)

Composing with (Tux)Guitar(Pro)

TuxGuitar
TuxGuitar

A few weeks ago, I’ve started trying to use the free tablature editor TuxGuitar. It’s a clone of Guitar Pro written in Java and available for Linux, MacOSX and Windows. Basically, it works, but hell, this is really no fun to use. You start playing a riff on your guitar, then you want to translate it onto a tab and it takes ages before you get the perfect timing.

Melodyne
Melodyne

A friend showed me earlier a new software called melodyne, and have to say, it’s quite impressive. The idea is to read an audio file, analyze it and find out the notes that were played. The result is therefore a score and you can change the pitch and length of any note, transpose them to a new scale, etc. With this example, I wanted to show that we do have the technology to extract notes from an analogical music stream.

Roland GK-3
Roland GK-3

Indeed, we have it, and Roland did not wait for melodyne to make some interesting devices such as the GK-3. It’s a device you add to your guitar and it produces the corresponding MIDI signals. They have also made some devices to go along this one such as the GR-20, which can synthesize a plethora of instruments (e.g. sitar, piano, …).

Ok, but the downside of the Roland approach is that you have to buy and attach a device to your guitar. This device uses a dedicated microphone, which can read the strings independently, therefore simplifying the signal analysis. Moreover, the GK costs about $200 and it’s more than twice for the GR…

Back to the original topic, what I’d like to have is the ability to plug my guitar in the sound card, play my riff so that it writes the notes to the tablature editor as if I had a MIDI guitar… but without adding any device. This may be quite complex to be able to do realtime analysis, but I guess it’s worth trying.

Using keyboard to play
Using keyboard to play

Another much easier way to do that would be to, at least, have a way to tap the notes on the keyboard. Maybe you can already do that by using the MIDI input of the tablature editor and by using a virtual keyboard connected to it. If so, why isn’t this integrated into the tablature editors ? This is rather boring to use the mouse and the keypad to write music, really. So, basically, you would play FretsOnFire with your keyboard (using enter and F1/F2/Fx keys) to give the rhythm.

Anyway, since I’m quite lazy, I don’t want to use the mouse and keypad anymore for this task, so I’ll investigate these ideas a bit as soon as I can allocate time. Oh, and if you know about some software or combinaison of software that can do that, I’m really interested in knowing them (and also scientific publications).

Lymbago, final round (Day 7)

cons_monitorOk, sorry for the late post, but I wasn’t there at the beginning of the week.

Basically, we completed everything. Yeah really. Just on time :-) Celltool was our target of choice for the morning and from the afternoon, we worked on HJ and Salami.

bowo HJ was difficult to complete because of the bow. We have tried to find the same ambiance as recorded at Arras, that was clearly not easy.

mehdi_poseSalami was easier than expected and Mehdi managed to find a solo in a reasonable amount of time. Anyway, we still have a few things to record, but that’s really bonus. We have the essential. Mission complete ! :D

What I can say is that was a really great experience. Very intense but I think we were all happy to live it, that was just fucking great. Also, we’re all happy with the result, which is just awesome.

To try to sum up this crazy week, here are a few numbers of what happened, in random order :

  • 19+ Pizzas
  • 37,2 Gb of music (!!)
  • 1 dead hard drive
  • Litters of shit soda
  • Around 15 tracks per song
  • Litters of coffee
  • 7 days
  • Around 100 hours of work (!!!)
  • 1 BBQ
  • A few beerspizza
  • 7 Songs
  • 10+ Pasta boxes
  • 50+ Cables
  • 1 unusable bass
  • 1 unusable amp
  • 13 Microphones
  • 9 Guests

Of course, we now have another BIG work to complete : the mix. People are used to say this formula : “One day of recording equals to two days of mix”. Considering that we spent about 15 hours a day, we therefore have around 30 hours of mix per song. So… we have 7 songs, 7*30, result : 210 hours of mix. *GGG*. So, you now understand why the album can’t be out in a few days. We really still have a lot of work.

I’ll try to update this blog as soon as we make some progress on the mix, so keep an eye on it ! :-)

Rock’n’roll !

PS: For the specialists, the Tubefire8 and Ardour worked very well and I’ll use them for sure during the next session !

Lymbago is just awesome (Day 6)

Saturday, week end. No rest, no mercy !

We’re all late this time, but we reached the studio as fast as we could. We opened this day with a beautiful riff coming from the acoustic guitar. Beautiful & intoxicating tunes spread into the studio and put it into an atmosphere of melancholy and seriousness. Nobody was talking. mehdi_acc_blubThis acoustic guitar was played by Mehdi and this was of course the Nouvo riff…

This day was smooth. Maybe the smoothest we had. Nouvo was recorded and finished at 5:39PM, then followed Ttta at 8:50PM. Louis & Mehdi did a good job. So at this moment, we had 4 songs completed, just awesome. So awesome that we made you a preview of the end of Ttta ! Beware, this is total preview, the sound is very raw, expect a much better one on the album.

We also had the visit of Diego’s brother and some of his friends. They brought their energy with them (even if they have missed Mister Moreno at the “Cabaret Vert”, hehe), so that was great  :-). Btw, look at our new diet (see picture), isn’t that so delightful ? kawabull

Once these two songs were recorded, we started Salami and HJ. Louis made his part on Salami and Mehdi on HJ. The goal was to complete the fast parts on these songs, even if we had to stay very late, so that we can complete the hardest ones the next (and last) day.

We indeed did that and started recording Mehdi’s guitar on HJ at 1:29AM… and finished around 3AM.

state2At least, only one hard song remains (Celltool) and 2 hard parts : the bow on HJ and the big solo on Salami.

See you next day with a happy end I hope ! :-)

Lymbago and the (dying) Lady of the Lake (Day 5)

Alarm, Shower, Shoes, Car, Road, Studio. Standard.

brunetti As planned, we took the Brunetti to the studio. We tried it and it revealed to be perfect for the sound we were looking for. I don’t need to precise how relieved we felt. Good point !

But we didn’t record this morning, we preferred to dedicate it to a rehearsal in order to finish all the remaining issues of the songs. Since there’s a lake just behind the studio, this was obviously the best place to go and get inspired. After a few hours, Louis, Mehdi & Diego came back with everything wrapped up.

lake

Around 12AM, we calibrated again all the amps to be sure we were safe for the rest of the recordings. Then, we jumped to the recording. Louis and Mehdi managed to record successfully Stomach and we added some parts to get a richer sound. I don’t tell you more, you’ll discover it with the album :D. Around 8PM, Stomach was done.

louis_gratteThen started a nightmare. We started to have many xruns during the recording. Xruns are basically desynchronization with the soundcard that makes the sound crack. After a few minutes, I realized that the disk was full. Ok. Shit. Let’s move some stuff to the backup device. What ??? The backup is just dead. Yeah, the hard disk decided to stop displaying its contents and we couldn’t write anything nor read on it. The bright side of the story is that I always make two backups. So, yes, we had another drive with to save us :D. We therefore lost one hour replicating the hard drive (we have more than 30Gb of data at the moment) to another, to be safe again.dead_hdd But ok, we could go on with the recordings.

We finished Blub around midnight and we added a bit of acoustic guitar, which, I have to say, make some parts of the song really better !

back_roadAnd then, as every night, we came back home… knowing that only two days remain to complete that. Waho !

Lymbago, from dawn till dusk (Day 4)

Fuck. I’m late. It’s more and more difficult to wake up on time for us, we’re accumulating the effects of many missing hours of sleep (we do about 15hours of studio per day…). Hopefully, the spirit here keeps us motivated and we’re doing everything we can to succeed.

We have three guests today : Laurine, Chloé & Elvina ! Cheers :-)

diDo you remember our DI box problem yesterday ? We were very lucky. I was near the Gambetta metro, waiting for Laurine and I met a friend who works at the Euroguitar shop. He could sell me a DI before the shop opens. Yeah !

The morning was dedicated to finish the bass. We planned to finish around 3PM and… we finished at 6PM. Hum. Anyway, Diego managed to record everything even if some songs (especially HJ) was, as expected, an obstacle course for him.

It was time for Louis to start recording. He did Stomach fast and we were happy with the sound. To save a bit of time, I then decided to record both guitars to finish the songs one by one.

orange_ampWe therefore moved the Orange amp of Mehdi to the big room so that he could get a better sound. After a few minutes of micro placement, we indeed managed to get a great sound. Louis was jealous. Yeah really :D. That’s right, Mehdi’s sound was much better. So, we moved his amp to the big room too. The problem is his sound was still the same… I therefore fired the jamin500visual scope and we found the problem : his sound was, again, very low in the mediums. After spending minutes (hours?) of tweaking his GT-6 pedalboard and his amp, we couldn’t get the sound we wanted.

We therefore decided to give up and bring my Brunetti amp the next day and use it instead of Louis’ amp.

At this point, we couldn’t do anything better, so we came back home knowing that the following day was going to be very busy.

Lymbago, gogo bass ! (Day 3)

And… another new day. Wednesday was… kind of a dark day for us. After our daily 50 minutes of road and some chocolates, we calibrated the bass and configured Louis & Mehdi gears so that they can play along with Diego.
Even if we managed to find a good sound for the bass, we encountered a big problem : the old bass of Diego gave a weird sound and his new one added strange ones : result we had no bass to record.

diego_bass

We therefore fired up our GSM & instant messaging software to borrow a bass. We contacted at least 6 guys and some shops and eventually found a good bass ! While Diego & Bertrand were out to get the bass, we started calibrating Louis’ amp.

louis_calib

At least we tried. First, the room where Louis is recording is so small that we had a (too) strong natural reverberation. Second, the micro for the guitar we have is a mid quality product, so we have to make sure to use it as its best. We managed to get a decent sound thanks to JR (the bassist of my band) who helped us by listening to the takes through the Internet. Still, the sound was a bit low in the medium, which is not good at all. JR therefore told us to make a direct recording of the guitar so that we can tweak the result during the mix. Err, but the problem is that we don’t have a DI box to record the guitar without going through the amp : damned.

gui_console18:51. Back to the bass, we calibrated it, got a good sound and started recording. Diego successfully recorded Stomach, Ttta and finished on Nouvo. It was 0:35. Time to go back home, totally tired…