Smoothing a Raw Midi Stream
philifor last edited by
Midi being received from MAX patch -- which is likely where this work should happen -- via Note On actor. I need to hone in on individual notes being sent via raw midi stream (audio from a contact mic attached toa small harp) and filter out excess noise and "false" tones. Smoother is not useful, as I want to avoid latency. Using notes to activate blocks of solid color. Any advice appreciated.Thanks!
So that I better understand.. you are using a 'Note On Watcher' to receive MANY incoming midi messages ?
and you want to pass along only a defined range of notes..If this is true, can you define to me the notes that are good (or if easier the bad notes)? Seeing how the data is organized will help in deciding on a method of sorting the values and removing noise.
As for smoothing... what do you mean by hone in on notes?
vanakaru last edited by
I think that MAX can send you exact notes according to the string played. So no ”honing” needed in Isadora. Or you really need to receive RAW MIDI for some reason? In that case you need to decode it as I understand:”The basic contents of an incoming MIDI stream can be retrieved using the [midiin](https://docs.cycling74.com/max5/refpages/max-ref/midiin.html) object, and a MIDI stream can be sent using the [midiout](https://docs.cycling74.com/max5/refpages/max-ref/midiout.html) object. However, in most cases, it is easier to deal with individual message types using their message-specific objects. The [notein](https://docs.cycling74.com/max5/refpages/max-ref/notein.html)/[noteout](https://docs.cycling74.com/max5/refpages/max-ref/noteout.html) and [ctlin](https://docs.cycling74.com/max5/refpages/max-ref/ctlin.html)/[ctlout](https://docs.cycling74.com/max5/refpages/max-ref/ctlout.html) objects provide an easy way to deal with messages without having to decode the raw MIDI input or create raw MIDI output.”
Unfenswinger last edited by
+1 for doing this in Max. The plethora of nodes available in Max to perform granular analysis of the Midi stream makes it ideal and once these data have been filtered I'd wrap them up as OSC data and fire them over to Izzy.