Music Theory Engine

Music Theory Engine

SystemMusic Theory
Justin Nearing

Got this working to what I’ve decided is the new spec.

The requirements listed here are overbroad. What I’ve built so far, notes + scales, certainly enables chords, progressions, etc. I don’t want to go too far down the garden path here.

The next phase of the Music Theory Engine will be captured under Procedurally Generated Symphonies.

Live Design

The following link contains an in-depth look of how I’ve expressed music theory to the computer. It’s a blend of design doc, code tutorial and the struggles of setting up Unreal to work on C++.


In the past four weeks we have created a box that shows digits above it: Floating Number Particle System

We took those digits and made them musical notes: Audio Trigger Experiment

  • We created and exported the sound files of those musical notes from Ableton into Unreal.
  • We connected the sound files to play when the box was stepped on.

We created a Spawner that will make new notes appear in front of the player: Music Platform Spawner

This gives us the rudimentary workings of an actual game mechanic!

Let us consider what it takes to turn the above demo into a real game.

  • Visual theme
    • How do we represent the player?
    • How do we represent the music? A white cube with a letter is a start, but far from the finish.
    • How do we represent the world the player navigates?
  • Review the player controller
    • What are the player controls?
    • How does the player navigate the environment?
    • 1st person/3rd person?
  • How do we make the music being played good?
    • Random individual notes are a start
    • Chords
    • Percussion
    • Bass and instrument frequency ranges (Soprano → Bass)

All these things are hard. All are important. But I’m going to do the one that seems most interesting to me: Build a music theory engine into the game that will allow us to make interesting musics.


Do it in code
Knowledge of notes C1→C6(?)
Maybe tie this to Bass E →Soprano G?
Map each scale per tonic
Must be ordered list
Chords built on index
Rare Scales? Hungarian minor? (Double) Harmonic minors?
Greek names included?
Method to determine upper extensions
Experiment: What sounds better, exported chords or playing individual notes together?
Roman numerals?
Chord progressions
Random Music Theory Bits