If I understand the goal here: to visualize the state of particular parameters of interest to the player in a live situation - I was wondering if you’d thought of midi steganography as a possible way to output the results. Namely, send a load of midi out containing an encoding of a textual representation of states.
I’ve been experimenting with this as a long term fanciful goal of associating a kind of karaoke display with the progression of a looper over a number of bars - i.e to show the lyrics at that particular part of the song. The way I thought of doing it would be to use the velocity of a note to contain the ascii value of the character. Basically representing each text line as a chord (with max 128 notes/characters) - just get the notes going up one by one, but for each note giving a velocity to represent that character.
In Python, as an experiment, here is turning a text into a midifile (though in your system it would need to be dynamic) - I’ve used < and > as indicating start transmission and end transmission. The client would then need to recovert the received midi back into text to be displayed.
from midiutil import MIDIFile
MyMIDI = MIDIFile(1)
MyMIDI.addTempo(0, 0, 240)
MyMIDI.addNote(0, 15, 0, count/10, 0.1, 60)
with open("text.txt") as f:
line = f.readline()
if not line:
verseline = line
for j in range(0, len(verseline)):
# MyMIDI.addNote(track, channel, pitch, time + i, duration, volume)
MyMIDI.addNote(0, 15, j, count/10, 0.1, ord(verseline[j]))
count += 1
#notes = ""
MyMIDI.addNote(0, 15, j, count/10, 0.1, 62)
with open("text.mid", "wb") as output_file:
However, this might be totally irrelevant, and if so, ignore it!