Hi there,
I experienced a strange problem trying to use the pitch-bend midi data coming from my synthesizer (Kawai K11):
The bendin-objekt receives the aftertouch data and touchin receives something like pitch bend data but only '0' or '127'. If I move the wheel I allways get '0', only at it's very end I suddenly get '127'...
This happens with WinNT-pd 0.28 to 0.31 (haven't tried any other versions jet). Using another synth does not help (I have checked midi data with a small software that diplays midi bytes: pitch bend is present if I move the wheel...).
Any suggestions how / where to get the pitch bend data from?
thanks,
Olaf
Hi all,
I just tried on 0.30 and didn't have any problem with bendin/touchin (except that I think the MIDI channel numbers are off by 1!)
Anyone else getting funny MIDI input?
cheers Miller
On Wed, Jun 28, 2000 at 06:13:04PM +0200, Olaf Matthes wrote:
Hi there,
I experienced a strange problem trying to use the pitch-bend midi data coming from my synthesizer (Kawai K11):
The bendin-objekt receives the aftertouch data and touchin receives something like pitch bend data but only '0' or '127'. If I move the wheel I allways get '0', only at it's very end I suddenly get '127'...
This happens with WinNT-pd 0.28 to 0.31 (haven't tried any other versions jet). Using another synth does not help (I have checked midi data with a small software that diplays midi bytes: pitch bend is present if I move the wheel...).
Any suggestions how / where to get the pitch bend data from?
thanks,
Olaf
Hi All
It happened in my case.
pd030/ s_nt.c / void sys_poll_midi(void)
switch (msgtype)
{
case 0: inmidi_noteon(0, chan, byte1, 0); break;
case 1: inmidi_noteon(0, chan, byte1, byte2); break;
case 2: inmidi_polyaftertouch(0, chan, byte1, byte2); break;
case 3: inmidi_controlchange(0, chan, byte1, byte2); break;
case 4: inmidi_programchange(0, chan, byte1); break;
case 6: inmidi_aftertouch(0, chan, byte1); break; case 5: inmidi_pitchbend(0, chan, byte1<<7 + byte2 - 8192); break;
case 5: inmidi_aftertouch(0, chan, byte1); break; case 6: inmidi_pitchbend(0, chan, byte1<<7 + byte2 - 8192); break;
~
Still BENDIN is buggy,but confusion is corrected. Sorry to Strange English. :-)
Hi there,
I experienced a strange problem trying to use the pitch-bend midi data coming from my synthesizer (Kawai K11):
The bendin-objekt receives the aftertouch data and touchin receives something like pitch bend data but only '0' or '127'. If I move the wheel I allways get '0', only at it's very end I suddenly get '127'...
This happens with WinNT-pd 0.28 to 0.31 (haven't tried any other versions jet). Using another synth does not help (I have checked midi data with a small software that diplays midi bytes: pitch bend is present if I move the wheel...).
Any suggestions how / where to get the pitch bend data from?
thanks,
Olaf
Toshinori Ohkouchi 大河内俊則
Aha -- the line,
case 5: inmidi_pitchbend(0, chan, byte1<<7 + byte2 - 8192); break;
should read:
case 5: inmidi_pitchbend(0, chan, (byte1<<7) + byte2 - 8192); break;
I'll fix this for the next release (not for another 2 weeks or so; I'm away frmo my NT machine right now...)
cheers Miller
On Thu, Jun 29, 2000 at 10:52:04AM +0900, Toshinori Ohkouchi wrote:
Hi All
It happened in my case.
pd030/ s_nt.c / void sys_poll_midi(void)
switch (msgtype) { case 0: inmidi_noteon(0, chan, byte1, 0); break; case 1: inmidi_noteon(0, chan, byte1, byte2); break; case 2: inmidi_polyaftertouch(0, chan, byte1, byte2); break; case 3: inmidi_controlchange(0, chan, byte1, byte2); break; case 4: inmidi_programchange(0, chan, byte1); break;
case 6: inmidi_aftertouch(0, chan, byte1); break; case 5: inmidi_pitchbend(0, chan, byte1<<7 + byte2 - 8192); break;
case 5: inmidi_aftertouch(0, chan, byte1); break; case 6: inmidi_pitchbend(0, chan, byte1<<7 + byte2 - 8192); break;
Hi
Aha -- the line,
case 5: inmidi_pitchbend(0, chan, byte1<<7 + byte2 - 8192); break;
should read:
case 5: inmidi_pitchbend(0, chan, (byte1<<7) + byte2 - 8192); break;
should write:
case 6: inmidi_pitchbend(0, chan, byte1 + (byte2<<7) - 8192); break;
Ah.... case 5 mean DxH ( channel pressure), isn't it?
You're right, thanks.
Miller
On Thu, Jun 29, 2000 at 02:51:19PM +0900, Toshinori Ohkouchi wrote:
Hi
Aha -- the line,
case 5: inmidi_pitchbend(0, chan, byte1<<7 + byte2 - 8192); break;
should read:
case 5: inmidi_pitchbend(0, chan, (byte1<<7) + byte2 - 8192); break;
should write:
case 6: inmidi_pitchbend(0, chan, byte1 + (byte2<<7) - 8192); break;
Ah.... case 5 mean DxH ( channel pressure), isn't it?