MIDI Notes & Scope Modes on EYESY

Question and possible feature request - should MIDI notes have any effect on Scope modes? In my head, I was picturing that MIDI notes, either through pitch or velocity, could be used to automate the scope modes. Trigger mode works about as expected, with notes firing a trigger.

In thinking further on it, I realize this would make the scope behave differently than with an incoming audio signal with constant movement in its waveform, but I think it would be cool to use MIDI notes as a sort of keyframe marker for the various levels of the scope, maybe if no audio source is detected. As a related aside, I always forget that MIDI notes don’t behave like an envelope, they turn on and off without any attack or release.

Hi,

This is a great idea. You can do this with the following objects from the EYESY API:

  • etc.midi_notes - A list representing the 128 various MIDI note pitches. Each value in this list indicates whether that note is current on or not. For example, you could create a threshold function that executes when “middle C” (MIDI note 60) is being held down with something like…

if etc.midi_notes[60] : yourFunctionHere()

  • etc.midi_note_new - A boolean value indicating whether or not at least one new MIDI note on message was received since the last frame was drawn (via the draw() function). So:

if etc.midi_note_new : yourParameterChangeHere


So you could program a mode-specific function that had an attack/release aspect when a specific MIDI note (or any MIDI note) came in. Pseudo code:

if etc.midi_note_new : increase line width 1 pixel each of next 20 draw loops
then with the next etc.midi_note_new : decrease line width 1 pixel each of next 20 draw loops

More on the API in the manual:
https://www.critterandguitari.com/manual?m=EYESY_Manual#52-eyesys-api

1 Like