The Code

Stella’s code is the heart of the instrument. It determines how the user inputs are translated in to the MIDI signals that enter your synthesizer. The code is a vital part of determining the character of the instrument.

Stella’s code is licensed under the GNU General Public License, and can be accessed at https://github.com/dbaylies/Stella. All are free to use, modify, and sell it, as long as it maintains the same license conditions.

The code is well commented and somewhat simply structured. A general breakdown is outlined below.

  • The valve state is continuously read.
  • FFT results are continuously analyzed.
    • The frequency peak is determined, though not precisely
  • The valve position and FFT results are combined to determine the note being played.
  • Corresponding MIDI data is sent via USB, consisting of:
    • note on signals
    • note off signals
    • note velocity signals
    • volume signals

That’s about it. There’s certainly complexity buried in each segment, and quite a few challenges had to be overcome to generate the code, but it’s fundamental principles are simple.