[queued] Mini MIDI Controller

NickCulbertson

New member

This build is a starting point for making a MIDI Controller using Teensy & the Control Surface Library.

I recently got a Teensy 4.0 and these small breadboards. Initially, I intended to use the breadboards as a convenient way to switch the Teensy between projects. However, I liked the tiny aesthetics so much that I made this first. It's a straightforward build for most of us here, but hopefully it sparks the curiosity of newcomers.

Here is the code:
Code:
#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();
}



MiniMIDIController.jpg
 
Back
Top