L’altre dia vaig comprar al Cash Converter, per 18e, una bateria Wii de segona mà, amb la idea de fer-la sonar en el meu Ubuntu. Aquestes bateries van sortir al mercat el 2007, ara ja fa cinc anys. Evidentment hi ha altra gent que ha portat aquestes consoles a l’entorn Linux, i m’he beneficiat del codi que he trobat per aquí i per allà. Tanmateix, el codi que he trobat no era per al meu model (també existeixen versions per a PS2, PS3 i X360), així que he hagut d’esbrinar els codis que envia el drumset (amb la dificultat que quan toques les dues baquetes a l’hora, o les dues baquetes i el bombo, s’envien d’altres codis). No tenia experiència prèvia en la programació de la llibreria libusb. Utilitzant aquesta llibreria ha estat la única manera possible de detectar la força amb que colpeges la baqueta, i per tant fer una mica de control de volum, encara que amb poca resolució.
Per tal de fer sonar la bateria es necessita generar missatges MIDI i enviar-los a un sintetitzador. He utilitzat Hydrogen com a sintetitzador de sons de bateria. He programat quatre presets diferents que s’accedeixen amb els botons de la consola (els típics botons 1, 2, A i B de la Wii). S’ha fet dues versions del codi, una que utilitza ALSA de forma nadiua, i una altra per al servidor d’audio JACK. Pots descarregar-te el codi del projecte:
projecte jrbdrum