Neo-Chord = DIY MIDI Controller for Playing Chords
by Neonradians in Circuits > Microcontrollers
472 Views, 6 Favorites, 0 Comments
Neo-Chord = DIY MIDI Controller for Playing Chords



The Neo-Chord is a USB-MIDI controller made with the Adafruit NeoTrellisM4 that plays full chords at the push of a button. 12 Chord Types: Each type has unique identifying colors, from basic triads to extended jazz chords. This design allows for quick chord playing, music theory exploration, and performance flexibility.
Modes
Global Chords Mode - Lots of chords. A chromatic grid with configurable chord types by grid or row. Major, Minor, Diminished, Augmented, 7th, 9th, Sus4, Add9, Maj7, Min7, Maj9, Min9. Color-coded into grids by type.
Mode Features: Octave shifting, row/type shifting, chords in chromatic order.
Favorite Chords Mode-Gives the user a blank grid to save chords from the other two modes. This allows the user to easily access several chords needed for a song without jumping modes or shifting screens.
Mode Features: Octave shifting, chord strumming, chord save, chord delete, grid clear
Circle of 5ths Mode - Chords in I, IV, V, ii, iii, vi, vii° order. Diatonic chord progressions in 12 keys.
Mode Features: Octave shifting, access all keys.
Why?
The idea for this device came from my desire to sequence/loop synthesizer chord accompaniment while playing guitar. I wanted to make a device that would help me do this without committing a lot of time to learning piano chords.
I have children who are interested in music. This project is for them and anyone who wants to easily create music without learning a lot of music theory.
Hardware
The Neo-Chord uses the Adafruit NeoTrellisM4 hardware platform. The NeoTrellisM4 is sold as a kit from Adafruit. Adafruit has robust tutorials for getting started with their products. Following the steps listed here, you must set up the Arduino IDE with the correct library prerequisites.
Included Libraries.
The Neo-Chord Arduino sketch can be found here. https://github.com/stuntunicorns/NEO-CHORD.git
Disclaimer: The Neo-Chord does not generate sounds on its own, you will need an external synthesizer, audio software(DAW), or synth website like this one.
Supplies

Global Chords Mode

Chord Layout: 4 rows × 6 columns. First and last columns are reserved for utility buttons. Each row's chord type can be changed (e.g., Major, Minor, 7th) using orange utility buttons in the last column or right hand side.
Columns represent semitone steps (chromatic scale).
Chord Selection: Change the entire chord grid type using utility button 4.
Octave Shifting: Toggle between octave ranges (1-2, 3-4, 5-6) using utility button 3.
Example: Major Chords Grid
Favorite Chords Mode

Layout: 4 rows × 7 columns (28 slots total) to save/recall custom chords. Saved chords are highlighted in their chord-type color.
Save Chords: In Global Chord Mode or Circle of Fifths Mode, press Save (button 2) and press the button of the chord intended to be saved. The mode changes to Favorites Mode. Press an empty slot (Row if saving from Circle of Fifths Mode) in Favorites Mode to save.
Delete Chords: Press button 2 to toggle delete mode, then press a saved chord. The chord button will turn off to indicate it has been removed from the grid. To clear the entire grid, hold button 2 for 3 seconds.
Strumming: Toggle strum mode using button 4. Strumming up or down is toggled by button 3.
Octave Shift: When not in strum mode, button 3 shifts saved chords ±1 octave relative to the current octave of the chord.
Circle of Fifths Mode


Layout: 4 rows × 7 columns split into 3 grids to accommodate all keys. The first column is reserved for the utility buttons. Circle of Fifths mode takes the I, IV, V, ii, iii, vi, and vii° for each musical key and arranges them in that order across seven buttons into a grid layout. The tonic chord of the key is in the second column. Chord types are color-coded to match the format of Global Chords Mode.
Columns
2, 3, 4 = Major Chords ( I, IV, V ) = Green
5, 6, 7 = Minor Chords ( ii, iii, vi ) = Blue
8 = Diminished Chords (vii°) = Red
Save a Row (Key)
Press Save (button 2) and press any button (chord) in the row (key) to be saved. The mode will change to Favorite Chords Mode. Press an empty slot in any empty row in Favorites Chords Mode to save.
Octave Shifting: Toggle between octave ranges (1-6) for the entire mode using utility button 3.
Keys: To transpose the circle of fifths onto the NeoTrellisM4, the circle had to be arranged into 3 grids, 4 keys for each grid. Button 4 cycles through the 3 grids.
Utility Button 4 Color States
All Available Chords and Associated Colors (Global Chords Mode)

Extras
Accelerometer Effects:
Tilting the device adjusts pitch bend and modulation.
MIDI Output:
Sends notes over USB/UART MIDI on channel 0.