Hi Martin and Chuck,
Pitch bending on every note is one way of doing it, but you need to do this on more than one channel if you want polyphony. you could do this by setting up pitch bends on as many channels as notes in your just intonation scale, or trying not to go more than 16 note polyphony and dynamically changing pitch bend values on any free channel before playing the note there. not sure if this would be much fun in Pd, I did this using java and was not particularly hard, but a reasonable amount of code. the other way I suggested (in a message with the wrong subject title) was to go into scala (http://www.xs4all.nl/~huygensf/scala/), create the scale and export as a tuning dump to a MIDI file, then prepend that dump to the MIDI file you want to use, or the MIDI device you are streaming to.
cheers, mark
Martin Peach wrote:
I'm not sure if there's a standard way of doing microtonal music in MIDI, i.e. do you use Pitch Bend on every note or Continuous Controller?
So I parsed the file lou.mid from http://works.music.columbia.edu/~chris/micromidi/ using midifile and find that here it's the pitch wheel on almost every note: midifile: Parsing track[1]... midifile: tick 0 delta 0 status C0 MIDI: 0xC0 2E: channel 1 Program Change: 46 midifile: tick 480 delta 480 status E0 MIDI: 0xE0 00 40 : channel 1 Pitch Wheel 8192 midifile: tick 480 delta 0 status 90 MIDI 0x90 3C 63 : channel 1 Note 60 On velocity 99 midifile: tick 960 delta 480 status 80 MIDI 0x80 3C 00 : channel 1 Note 60 Off velocity 0 midifile: tick 3120 delta 2160 status E0 MIDI: 0xE0 12 34 : channel 1 Pitch Wheel 6674 midifile: tick 3120 delta 0 status 90 MIDI 0x90 3D 4F : channel 1 Note 61 On velocity 79 midifile: tick 3600 delta 480 status 80 MIDI 0x80 3D 00 : channel 1 Note 61 Off velocity 0 ...
Martin