MIDI Signal Augmenter


Github Repo

This was a project I did for an elective in college on computer music. Using this program I wrote in SuperCollider, musicians can play notes on any common peripheral controller, and have transformations applied to the MIDI signals which can cause a number of effects, such as creating chords from each note press, or automatically playing a held chord as an arpeggio.

Chord mode and Arpeggio mode can each be toggled independently. When only chord mode is on, single note presses result in a whole chord being output. Users can choose between major, minor, diminished, major 7th, minor 7th, dominant 7th, sus2, sus4, and augmented chords.

When only arpeggio mode is on, any notes held down will play one after the other in a loop. There are several patterns to choose from:

  • Upward: plays notes starting from lowest to highest before looping
  • Downward: plays notes starting from highest to lowest before looping
  • Random: plays notes in completely random order
  • Random Walk: plays a random note, then randomly plays either the next highest note or next lowest note
  • Ping Pong: plays notes starting from lowest to highest, then highest to lowest, and repeats
  • Users can also enable both modes at the same time, allowing them to create complex arpeggiated patterns with a single note press.

    These functions usually exist in most commercial Digital Audio Software (DAW) programs, such as the one I use, Ableton Live. I decided on this project because I wanted to see what it would be like to build these things myself, and to learn what sort of technical challenges I might be taking for granted under the hood.

    Home