The creator of the wonderful glitchDS, repeaterDS, and cellDS Nintendo homebrew music apps has turned his sights to the free and open coding-for-artists desktop tool Processing. The result: a drum machine that mutates and morphs in wonderful ways via a command-line interface. (I almost put the command line bit in the headline, but while I actually adore command lines, I think the more interesting part of it is the way it mutates its patterns in lovely ways. No boring endless step sequence repeat here.)

The tool is called Quotile, and since it is built in Processing and the code is entirely free, you’re welcome to try it out and change it around if you like! Apparently the Mac camp are having some troubles, but I don’t see any reason it shouldn’t work on Mac; the problem is generally that getting Java MIDI running on Mac has some tricky bits because Apple dropped support for the Java MIDI API, even though it’s a standard part of the Java platform. In this case, I expect it’s the library’s reliance on mmj or people having trouble installing that MIDI subsystem that’s the culprit. Keep the faith: it can work, and I hope we can get a standard, reliable MIDI library soon.

The sound source above: Machinedrum, of course.

I’ll give this a try on Linux later today, on the platform that I think has the best MIDI support, hands-down – yes, even compared to the Mac. (I’ll explain why I think that soon.)

Speaking of MIDI libraries, the Processing library this is based on is a new one called MIDI Bus. It’s very similar to wesen’s rwmidi, which we’ve covered before.

The project:
Quotile – new PC MIDI sequencer written in Processing at glitchDS

The free library for Processing (Mac + Windows + Linux)
Small But Digital – themidibus

Previous musical creations in Processing:
Strange, New Musical Interfaces, Built in Processing
DIY 3D Controller: Inspired by Theremin, Powered by Arduino, Processing
Tiction: Animated, Nodal Generative Music App in Progress, in Processing
Build Your Own Game of Life Sequencer in Processing: Video Featuring rwmidi
Help! I’m Trapped in an Acid-Colored Wash of a Thousand General MIDI Pianos!
Spaces and Roots: Manipulating Sound with Processing + Touch, Tangible Interfaces

  • Tachikoma

    It's amazing, who needs now an expensive lemur interface?, with arduino, processing, PD, max/msp, haha even you can now buy a ds screen and it's digitalizer for less than 30$ add arduino and creative people like this guy, and you would have wichever tool you want for live performance or iphone, it really awsome and inspiring.

    Thanks Peter for this blog ^^

  • Woohoo, Processing! I've only had a quick look at the website for this new midi library, but it looks promising. Hopefully it will improve on the other two midi libraries which are available – they can sometimes be a bit limited.

    With regards to the problems when running on a Mac, I've been there – and, perhaps, solved them. It was to do with (as you said) something called "mmj". I've uploaded the zip file I got (I can't remember the original website I got it from, unfortunately) here:

    Then, extract this zip and put the contents here:


    Now, it's been a while since I had to cross this bridge, and for some reason I have libmmj.jnilib and mmj.jar in that folder, and then the entire contents of the zip in libraryjavaextensionsmmj. I'm not sure which of them is needed, but I know that it works for me.

    Hopefully this will help somebody out!

    Changing the subject slightly (but still relevant, I think), most Processing libraries come with their source. What this means is that you can import the source of the library into your sketch and do whatever you want to it! Perfect for those times when a library does 95% of what you need it to do, but misses out on the crucial last 5%.

  • Hi everyone! Just a heads up. The current version of Quotile sends out on the wrong midi channel. For example, if you specify channel #1, it sends on channel #2. I'll have a fixed version up tonight.

  • Andy

    I like the fact that the macro language is based on Bean Shell. This opens up all kinds of programming flexibility.

    I've been using PD to play around with evolving sequencers. I think it would be great to develop a vocabulary using something like PD, then implement it in this system so that you could call higher level commands.

    Also, it would be cool to tack on an OSC server so that commands could be issued over an OSC connection. Then at that point you could go meta on the whole thing, having Quotile send MIDI messages to PD, which would then execute patches that would send OSC commands back to Quotile updating the sequences. Heck, if Quotile spoke OSC in addition to MIDI it would go a long way.

    But that's all just icing on the cake. The system itself looks great as it is. So nice work guys.

  • Andy

    Um . . . is the source available somewhere? I'm not seeing it in the zip file, and I can't find a link on the site.

  • Andy: The source isn't available, but I'm certainly happy to make it available.

    It looks like there's already a Processing library available for it called oscP5. It shouldn't be too difficult to tie that in to Quotile. Feel free to email directly (using the email at if you'd like to work closely with me on it. 🙂

  • nice!

    I'm a big fan of mutating drums, I usually do it with a lot of manual editing, can always use more tools

    I'm also a huge fan of cells/glitch/repeater on the DS. Now I'll have to get into Processing

  • Pingback: Bret Truchan Quotile, a freeware MIDI sequencer written in Processing()

  • Why is there not more morphing, generative drum sequencers FOR MAC! Ones with advanced rhythm functions and can transmit midi.
    The best example i have seen of this is Circuit by XOXOS (for windows) and for mac the best available for mac is the Euclidian rhythm gen plugin by Shuriken.
    everyone suggest max/msp, but even with reasonably good programming skills, the actual theory behind the rhythm morphing is a blur to me? have tried markov probs and more! any suggestions?

  • Math-you,

    I'll create a distributable version of Quotile for the Mac. Processing is fairly cross-platform, but the MIDI library is the trick. My previous versions of Quotile didn't use TheMidiBus library, so there is hope that this new version might work. I'll post a version soon for Mac users to test.

  • In order for Ruin Wesen's midi library to work on a Mac Book Pro and G5 Power Mac, I also I had to download the MMJ library. I followed a this different link from the Processing forum.

    I am working on some Processing musical sequencing applications right now and I am using the Tactu5 library to handle timing, and the Sonia library to handle audio playback.

  • I'm really excited to see people making cool stuff with my library.

    As people have said above, for mac users, because Apple doesn't provide a built-in Midi subsystem you must get a third party Midi subsystem. I think mmj is currently the best solution I think and as far as I can tell it works really well. I have heard these rumors of that it doesn't work for some people, but I have never had any problems myself. (if it doesn't for you please tell me about it, I'm curious)

    Please checkout my themidibus library on my website if you're interested and I would encourage people who are having mystery Midi trouble with Quotile (or if you have any questions about the library) to e-mail me or post in <a>my topic on the processing forums.

    I've downloaded the mac version of Quotile and it works perfectly for me (I use a PPC and an Intel mac). Very cool, I'll have to show all my friends.


  • Pingback: Create Digital Music » glitch-sequencer: Free, Processing-Based App from GlitchDS Creator Hearts Netbooks()