a MIDI controlled polyphonic organ in Chuck!

Here we would like to share with you an experiment we made usign the chuck programming language!

Chuck is a very powerful tool; it was a long time since we wanted to explore it and we would also like to share with you a great resource we used to learn it: we are talking about the kadenze’s “Introduction to Programming for Musicians and Digital Artists” MOOC by Ajay Kapur (with special participation by Ge Wang, Perry Cook e Spencer Salazar).

If you are interested in some other corse which uses chuck as one of the main core tools, take a look a the “Physics-Based Sound Synthesis for Games and Interactive Systems” by Perry Cook at kadenze.


Now, concerning our experiment, this is a MIDI controlled 4-voice polyphony organ. In order to run the chuck code you must first install it and install also the miniAudicle chuck IDE.

The program is meant to be used with a MIDI keyboard connected to the computer. Probably You’ll need to change the port variable to match with your input MIDI device.

The program is a sort of exercise we’ve done playing with functions, midi events and classes.

We implemented a dynamic voice allocation mechanism which is responsible to steal the oldest voice in order to re-allocate it to new incoming MIDI note. The POLYPHONY is set to 4 in order to make the stealing mechanism more evident but you can change it if you like.


The code is full of comments so to understand all the different instructions used. Feel free share the code and use it in your own project. Let us know if you need help or if you have any suggestions. Enjoy!


If you find this article useful and you like it, please leave a comment below: let us know what do you think about it, we'd really appreciate it. Thank you very much and, as always, stay tuned for more to come!