[PD] Re: MIDI file anatomy

Mark Havryliv mhavryliv at hotmail.com
Thu Mar 2 23:36:15 CET 2006


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




More information about the Pd-list mailing list