Music Generation


The main aim of this working-group is to compose an application for generating computer music at real-time. Students must generate and create a patch in puredata, an application in supercollider, or a set in Ableton LIVE that would be controlled by an external MIDI controller.


Download and install the following applications: puredata (extended), supercollider and Ableton LIVE (trial version).


PureData. Introduction and Documentation

This visual programming framework allows to generate music programming graphical "patches".
Once you install it, take a look at the examples, to get used with the role of the different boxes or patches. Follow the instructions shown here. There is also a pretty complete tutorial here.


Exercises will be conceived in three different fields: sound synthesis, sampler handling, and sound modulation (effects). Students will have to complete these exercises implementing one or more patches in Puredata. Each solution will work with numbers and checkboxes that will change in real-time. Afterwards, the solutions will be linked to the MIDI Controllers using the MIDI patches for receiving MIDI data in Puredata.

Sound Synthesis.

  • Generate a tone where its frequency could be configurable. Generate it with different signal shapes (sin, saw, etc). This will be called the tone patch. Control the amplitude of the generated tone using other functions as volume modulators: sins, saws, lines, and a fader.
  • Additive Synthesis. Create a complex tone by adding several times the tone patch with harmonic frequencies. Control the timbre by changing the values of the different amplitudes.
  • Subtractive Synthesis. Generate white noise and filtering by Low Pass (LPF) and High Pass Filters (HPF), generate complex sounds. Repeat with pink noise.
  • Subtractive and Additive. Generate a complex sound by additive synthesis. Instead of using simple sin tones, use white noise filtered by a combination of LPF-HPF.

Advanced Exercise

Download the following patch. Do not try to understand everything at once and fast. This patch simulates a synthesizer, with different controls.
The main idea of this exercise is to link this synthesizer with the external MIDI controller. Therefore, the exercise consists in associating some of such synthesizer's controls with MIDI messages such as noteOn, noteOff and Control Change.


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License