[PD] Was there a change in how MIDI is transmitted ????
cyrille henry
cyrille.henry at la-kitchen.fr
Mon Jun 21 20:53:16 CEST 2004
hello,
Frank Barknecht wrote:
> Hallo,
> jim ruxton hat gesagt: // jim ruxton wrote:
>
>
>>I'll take a look at this. Do you mean a " noteout "? Is there a way that
>>I can see the actual midi data going out so I can see what I'm sending?
>>I'm using Linux.
> You could use a virtual midi connection using the snd-virmidi virtual
> card, which works even with only Pd as clients. Example:
using a software to see the data you send will not help for the running
status problem.
if you ask pd to send a control out 2, channel 0, value = 63,
and then a control out 3, chanel 0, value = 31
you'll get 5 bytes on your midi line :
b'10110000' Control change channel 0 status
b'00000001' control number (2 - 1)
b'01000000' =63d
nothing here because it will not send the same status 2 times.
b'00000010' control number (3 - 1)
b'00100000' =31d
most software (including pd) will told you that midi information was :
ControlChange 2, channel 0, value = 63 and
ControlChange 3, channel 0, value = 31
because midi specification allows it.
but you will not receive the 6 bytes your expecting. only 5.
to check this on the midi transmition line, I use an oscilloscope.
but if you replace all your ctlout object with :
|
[t f b]
| |
| [1<
| |
| [noteout]
|
[ctlout]
(this is because note-on status is not the same than control change status)
everything should then work as espected. it's something I use a lot...
it's not a problem if you don't nead lot's of bandwidth. otherwise,
you'll have to make your device compatible to running status...
cyrille
> $ su -c modprobe snd-virmidi
>
> $ aconnect -lio
> client 0: 'System' [type=kernel]
> 0 'Timer '
> 1 'Announce '
> client 64: 'Rawmidi 0 - M Audio Audiophile 24/96 MPU-401' [type=kernel]
> 0 'M Audio Audiophile 24/96 MPU-401'
> client 72: 'Virtual Raw MIDI 1-0' [type=kernel]
> 0 'VirMIDI 1-0 '
> client 73: 'Virtual Raw MIDI 1-1' [type=kernel]
> 0 'VirMIDI 1-1 '
> client 74: 'Virtual Raw MIDI 1-2' [type=kernel]
> 0 'VirMIDI 1-2 '
> client 75: 'Virtual Raw MIDI 1-3' [type=kernel]
> 0 'VirMIDI 1-3
>
> $ aconnect 72:0 74:0
>
> $ aconnect -lio
> client 0: 'System' [type=kernel]
> 0 'Timer '
> 1 'Announce '
> client 64: 'Rawmidi 0 - M Audio Audiophile 24/96 MPU-401' [type=kernel]
> 0 'M Audio Audiophile 24/96 MPU-401'
> client 72: 'Virtual Raw MIDI 1-0' [type=kernel]
> 0 'VirMIDI 1-0 '
> Connecting To: 74:0
> client 73: 'Virtual Raw MIDI 1-1' [type=kernel]
> 0 'VirMIDI 1-1 '
> client 74: 'Virtual Raw MIDI 1-2' [type=kernel]
> 0 'VirMIDI 1-2 '
> Connected From: 72:0
> client 75: 'Virtual Raw MIDI 1-3' [type=kernel]
> 0 'VirMIDI 1-3
>
>
> $ pd -midioutdev 11 -midiindev 13
> (using 11 = 'Virtual Raw MIDI 1-0' + 1 and 13 = 'Virtual Raw MIDI 1-2' + 1)
>
> Now open "Test Audio and MIDI" and if you enable "MIDI OUT" you should
> see the notes coming in at "MIDI IN".
>
> Ciao
More information about the Pd-list
mailing list