Skip to content

Instantly share code, notes, and snippets.

@NickCulbertson
Last active March 11, 2024 21:58
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NickCulbertson/c68b71ba8eb56eee6320ad58702a9374 to your computer and use it in GitHub Desktop.
Save NickCulbertson/c68b71ba8eb56eee6320ad58702a9374 to your computer and use it in GitHub Desktop.
This is a Teensy/Arduino sketch for a tiny MIDI Controller with transpose.
#include <Control_Surface.h>
USBMIDI_Interface midi;
using namespace MIDI_Notes;
// Transposer that can transpose from one octave down to one octave up
Transposer<-12, +12> transposer;
// Selector to change the transposition
IncrementDecrementSelector<transposer.getNumberOfBanks()> selector {
transposer, {10, 11}, Wrap::Clamp,
};
// Array of NoteButton objects
Bankable::NoteButton buttons[] {
{transposer, 13, note(C, 2)}, {transposer, 23, note(D, 2)},
// Additional buttons for pins 0-7
// {transposer, 0, note(C, 4)}, {transposer, 1, note(D, 4)},
// {transposer, 2, note(E, 4)}, {transposer, 3, note(F_, 4)},
// {transposer, 4, note(G, 4)}, {transposer, 5, note(A, 4)},
// {transposer, 6, note(B, 4)}, {transposer, 7, note(C, 5)},
};
void setup() {
Control_Surface.begin();
}
void loop() {
Control_Surface.loop();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment