In the past year, I have regularly attended Drake Music's DMLab as it is a great monthly event that supports the development of new accessible musical instruments. It has been an opportunity to learn from what other musicians and technologists are doing and to share my own progress.
The Hackathon featured Bela, a new embedded platform for low-latency interactive audio, which I mentioned in my last post. This was perfect to start making progress on the new version of Kazumi.
My objective for the hackday was to be able to get data from the MPR121 capacitive touch breakout boards and send it to the Pure Data patch. However, this seemed to be slightly too ambitious as I had to implement I2C communication on the C code in order to read the values from the MPR121s and I am not comfortable with that programming language (and most others). For this reason, I decided to leave this for an other time and settle with a realistic objective considering the time I had. Consequently, I chose to make the most of the analog inputs, which I new could be an interesting approach after having a go at the Bela examples.
One of the PD on Bela examples is a Karplus Strong patch (by Christian Heinrichs) which allows you to use either an accelerometer, a piezo transducer or a force sensitive resistor as the input to generate a string sound. You can see the main patch window below:
I particularly liked this for its simplicity and responsiveness and so decided to replicate it with 7 piezo transducers, each with a fixed tuning. This is how it looked on software and hardware:
Once this was tested, I went on to mount the piezos on the 7 pads of Kazumi. I removed the Raspberry Pi and the MPR121s and replaced them with the BeagleBone Black, the Bela platform and the breadboard with the piezo circuits (the positive lead from each piezo out to the analog input in between a 220k resistor going to ground and a 330k resistor going to 3.3V).
As you can see in the video below, this was straightaway very responsive and engaging as a musical instrument. The panel agreed and awarded me with one of the prizes (a BeagleBone Black with a Bela platform), yay!
Another very positive outcome from the Hackathon was that Andrew McPherson provided us with a Bela example to read values from the MPR121 boards. This has made things far easier for the next steps and I will explain more about this on the next post.
I really look forward to see how things develop in the last two weeks of the challenge!