jstutters / MidiOSC

A bridge between MIDI and OpenSoundControl
http://jeremah.co.uk
GNU General Public License v2.0
62 stars 9 forks source link

no effect of midi output on Raspberry Pi #3

Closed robertoostenveld closed 8 years ago

robertoostenveld commented 8 years ago

I have been able to do some more testing, trying to send commands to "midiosc" running on my Raspberry Pi.

Just for reference: the first issue I ran into was that I had to specify the midi port (in the OSC message) as "Shuttle Control v2 20:0" including the device number. With another (python/mido) interface it is "Shuttle Control v2 MIDI 1" and on my Mac it is simply "Shuttle Control v2". After solving that, midiosc forwards the messages to the MIDI port.

I can see by blinking LEDs on both my Endorphin.es Shuttle Control and my Volca Beats that they receive MIDI messages. However, they don't act on them. Might that have to do with the Raspberry Pi having a big-endian CPU and therefore an unexpected byte order?

jstutters commented 8 years ago

The byte-ordering thing's certainly a possibility. I've got a Pi here so I'll try to do some testing myself.

jstutters commented 8 years ago

I've just tested the combination of a Raspberry Pi v2, Edirol UA-25 MIDI interface and DSI Evolver synth. MidiOSC functions as expected with that setup (note on and note off do trigger the synth) so I think we can rule out endianness being a problem.

Looking at the MIDI implementation of the Volca Beats maybe you need to adjust the MIDI RX ShortMessage option or some other MIDI related global option?

robertoostenveld commented 8 years ago

Thanks for testing it yourself and your reply.

Using Python->MIDO->PortMidi I am able to control all of the Volca Beats/Bass/Keys and a Yamaha Keyboard (all over a USB2MIDI converter cable), Novation Launch Control and the Endorphin.es Shuttle Control (both over a USB cable) from the Raspberry Pi. So it is not a completely generic problem. But it might be a difference between the low-level PortMidi and RtMidi backends.

I will try using RtMidi from within Python to check whether that allows to pinpoint the problem.

... oh, wait a second. Reading this after googling for RX ShortMessage, I realize that I have not been paying specific attention to the MIDI channel and that it probably is not correct in the OSC messages that I have crafted. I will look into this.

robertoostenveld commented 8 years ago

sorry for it taking some time getting back to this. I have hooked it all up and specifying the correct MIDI channel it all works as it should! So it was my own fault.