[PD] xeq & bending

Krzysztof Czaja czaja at chopin.edu.pl
Tue Oct 29 18:04:46 CET 2002

Czesc Michal,

thanks for a bug report... actually, two bug reports -- one for
xeq_parse, the other for the Pd's 'bendin'/'bendout' code!

 > When I print from the [xeq_parse]'s 6th outlet I get: 14401
 > and I don't understand why...

and rightly so, because I screwed things up.  It should have sent
8432.  Pitch bend data is little-endian (while midi files use
big-endian numbers, and I guess I was then assuming everything was

 > bendin object lets me read a 14 bit(?) value for pitch bend (out the left outlet) and 
channel (right outlet).

yeah, it is in the range 0..16383.  But the range accepted by
a 'bendout' object is -8192..8191.  So instead of
[bendin]->[bendout] one has to put [bendin]->[- 8192]->[bendout].

3. (no bug here)
 > I tried midiin with midiparse (maxlib) but it seems to be converted to 7 bit so it 
wouldn't help...

do you really mean maxlib -- I have thought 'midiparse' was
available through the cyclone only.  I have a note in the source
about checking that max/midiparse filters lsb out (perhaps I need
to recheck this?)

4. (lots of bugs here)
I have all but started a 0.2 branch of xeq.  But this is not so
easy.  Allocating time to Pd, even to just reading this list,
is a luxury I barely afford these days...


Michal Seta wrote:
 > I'm trying to record into xeq_record.  The notes are recording fine, however I really 
need to capture the pitch bend messages.  I imported a midifile to take a look and I see 
how the bend messages show up.  I get:
 > 0 1-track 224 112 65 1 ;
 > which I understand as: time, track name, pitch bend status byte (0xe0), lower 7 bits , 
upper 7 bits and finally channel number.  Right?

More information about the Pd-list mailing list