Coconut – Step-Sequenced Mbiras
After many sleepless nights and a few lost hairs I’m chuffed to announce the completion of Coconut: a self contained music sequencing tool made within the MaxMSP visual programming environment. At the heart of Coconut is a multisampled toy Mbira (a small finger piano made from the shell of a coconut) that was given to me as a gift some years ago. Since then it’s been bitterly starring at me from my shelf collecting dust, but now it’s woody sonic-spirit has been immortalised in the digital realm as ones and zeros! If you’re a Mac, download her and give her a whirl! I’d love to hear how you get on. :)
Do you remember the first Max patch you ever made? What was it?
Good question! Besides a few simple ones that were essentially replicated from tutorials for learning purposes, Coconut is actually my first and (so far) only Max patch! I definitely plan to do more in the future when I can muster enough free time.
How did you come up with this project idea?
During my final year at University I took a class titled ‘Programming Experimental Music’ and was tasked with developing a music creation tool of my choice. I stormed into the project with desperation after having missed 6 weeks of classes and virtually no knowledge of Max. If I had any hope of passing the unit I knew that I either had to very quickly become a programming wizard, or instead conjure an idea that could thrive in its own simplicity. Having some previous experience with UX and UI design I figured I could circumvent my limited programming abilities by taking a run-of-the-mill device and giving it a unique twist by focusing on the elements that would make it fun, interesting, unique and above all easy to use; I wanted to make something that would allow anyone, regardless of his or her musical or technical knowledge, to jump straight in and instantly experience the joy of making music!
The device I opted for, quite unoriginally, was the common step-sequencer. There are tonnes of amazing sequencers out there with all sorts of bells and whistles, but what’s important to note is the very distinct decision I made not to include any of them in Coconut. The tempo, timbre, key and time signature are fixed. You cannot change the length of bars or the length of a whole sequence, or even the preset number of beats within the bars. There is some choice over the levels and reverb within Coconut, but the reverb types are restricted to 3 and can only be applied to the whole mix and not individual instruments. As far as step-sequences go it’s extremely limited, but for me Coconut works precisely because all of these functions are taken away from the user. Instead it faces you with a musical setup that removes the possibility of endless choice and hopes that you will simply enjoy coming along for the ride. I really tried hard to focus on the user experience and I hope I have managed to put it together in such a way that the limitations become transparent.
The foundation, upon which all this relies of course, is the strong musical theme that is reflected throughout the patch. The inspiration for this came from a dusty old Mbira (a finger piano made from the shell of a coconut) that’s been sitting on my bookshelf for a couple of years, as if waiting for it’s moment to be revived in the digital realm! I sampled all the notes from it, created percussion elements by tapping the underside with my fingers and then imitated the painted pattern it featured on it’s top side for the GUI.
What sorts of problems did you have to solve?
The biggest problem is that I had absolutely no idea how to go about making Coconut when I began the project. In fact I had no idea that Coconut would grow into what it has become; I started small with a simple vision and kept learning and adding until I could no longer comfortably add more.
Some of the technical elements I had to solve were the ability to save and load sessions that contained multiple instrument sequences and an independent global pattern sequencer within a single pattrstorage object. Other points of interest were the addition of subtle amplitude randomisation on sample playback to create the illusion of ‘human’ note velocity variation, and perhaps the convolution reverb tabs that use a selector to switch between 3 preloaded impulse responses. Other than that it’s all super basic stuff and I’m sure there are much better ways to achieve the same results.
If anyone is interested, I had kept a blog whilst creating Coconut that describes some of the processes I went through in depth.
If there were one person who you would want to see your project, who would it be?
In retrospect I’d have to say the person grading my degree! If it never landed on his desk my final grade would have been dramatically lowered. After some hiccups at the beginning of the project Coconut turned out to be my highest graded unit from the whole 3 years! I had an absolute blast making it and I hope people may find enjoyment from it. Special thanks must go to my lecturer Pere for giving me the kick I needed to get started, and to you guys for creating such an imagination-unleashing piece of software!
At the conclusion of this project were you:
b) ready to do a new one
c) thinking of ways to expand it
d) [other, please describe]