We are developing an educational-involving game for music lovers who are interested in learning harmony and chord progressions.
We also incorporate the chord progression as a music accompaniment in the game mode
The study of harmony involves chord construction and progression. While a traditional paper-chorale style exercise is a good initial way to approach harmony study, keyboard harmony extends its theoretical concepts onto a real musical instrument -- Hearing the chords improves the study of harmony.
Chordrina is an educational-involving game for music lovers who are interested in learning harmony and chord progressions. We provide real-time feedback of chord that's being played by the user and incorporate the chord progression as a music accompaniment in the game mode.
The 'Chordrina' version of harmony training is divided into three stages:
1. Learning Stage
In this stage, we're purely testing if the learner is familiar with the construction of a single chord. Chordrina is assigning a chord to-be-played, and listening to the user input through midi instrument. Chords including major, minor, augmented, and diminished triads, dominant and diminished seventh chord. The root key of the chord is also assigned by Chordrina.
2. Chord Progression Stage
In this stage, the user is entering a chord-progression training mode - understanding the colors in switching chords.
3. Game Mode
Now the player is equipped with solid keyboard harmony training to enter the final stage -- applying chord progressions to a song. We were taking only the vocal part of the pop songs, and assign the user chord progression along with time.
Game mode has multiplayer support. You can plug-in multiple midi inputs. Setting them to different channels will allow multiple instruments playing together.
We created this program using C++ along with OpenFrameworks for graphics and fluidsynth for audio. We mapped the user input into a 12-dimensional chroma feature, and recognized the chord through matching with the binary chord templates.
For the GUI part, we utilized some particle systems to create the immersive interface and explosive effects.