Author |
Message |
MartinL
Joined: May 18, 2013 Posts: 1 Location: Sweden
|
Posted: Sat May 18, 2013 8:51 am Post subject:
MIDI to USB problem Subject description: MIDI to USB give note e instead of sustain on |
 |
|
Since a USB MIDI converter usually is expensive in an ordinary music shop and it is merely a cable with a small box I bought a cheap one on the internet "made in china" and no product name. It is a very common converter and seems to work for many. But it seems as it has a known problem with sustain pedals; sustain on converts sometimes to the note e - which of course is not good!
This problem seems specially common for Yamaha keyboards according to internet search, and mine is a Yamaha. The sustain signal passes through the keyboard. Sustain has MIDI command cc64 and note e3 is MIDI note number 64.
Technically it seems as the MIDI status nibble gets a bit flipped in the conversion of this MIDI USB converter device. For MIDI channel 0 it looks like this:
B0 40 7F - control change 64 sustain value 127
90 40 7F - note 64 (e3) velocity 127
The hexa decimal status values above in binary form:
0xB0 = 10110000
0x90 = 10010000
Only one bit is different.
When I play on the keyboard with the build in sound it sounds good of course. But if I either:
- record the MIDI data in a sequencer program and then play it back
- play with a software synth through the sequencer program
- look in the recorded MIDI data in the sequencer program
then the problem is noted: The sustain on is instead the tone e with full velocity. The problem thus happens when the MIDI signal passes the USB MIDI converter.
I tried the same equipment but with another "made in china" USB MIDI converter from a friend and then this problem did not happen. I am convinced the problem is in the MIDI USB converter. So maybe there are some good batches and bad batches of them.
This error is documented on the internet, eg:
http://www.amazon.com/review/R1U5BIROE9RCJP/ref=cm_cr_pr_viewpnt#R1U5BIROE9RCJP
http://forum.cakewalk.com/tm.aspx?m=2465165&mpage=1&print=true
But no direct solution except for buying an expensive MIDI interface.
Does anyone know a cheap or clever solution to this problem?
Equipment:
Keyboard/Synth: Yamaha NP-31
Sustain-pedal: Proel
Sequencer: Cubase
OS: Windows XP
MIDI-USB-converter "made in china" (I bought it through the ebay-site tradera.com):
http://www.prisdumpat.com/product/7542-70
About the MIDI protocol:
http://www.ccarh.org/courses/253/handout/midiprotocol/
EDIT: Links fixed! Last edited by MartinL on Tue May 21, 2013 4:09 am; edited 1 time in total |
|
Back to top
|
|
 |
MusicMan11712
Joined: Aug 08, 2009 Posts: 1082 Location: Out scouting . . .
|
Posted: Mon May 20, 2013 6:31 pm Post subject:
|
 |
|
Those links didn't work for me; not sure why.
The problem is interesting. I do not know enough about how usb drivers work (or don't work), about possible conflicts, usb priorities, etc. to make solid diagnostic suggestions.
If it were just a problem with one piece of gear being confused, you could try to use something like midi ox as a work around. But that doesn't sound like it would help you.
There might be other solutions--other than expensive midi interface. Do you have an old sound card with a joystick port or does your XP machine have a built-in card with a joystick port? If so, that might provide inexpensive midi I/O.
With a microprocessor (like an arduino) and some supporting components and the "hairless" usb/serial-midi bridge, you can build your own interface.
If your PC has a parallel printer port, last time I looked, decades old motu midi routers which connect via a parallel printer port were far less expensive than usb models.
Not sure if this is what's happening, but I was wondering if somehow running status on the software (dll driver?) was faulty. With E-Mu gear, I have heard a number of complaints that those basic usb-midi things can be problematic with software updates the OS. My as of yet un-tested theory is that they do something to mess up sysex communication. But since I don't have one of those usb-midi things I cannot test this.
Not sure if any of this helps. Maybe others have better suggestions.
Steve |
|
Back to top
|
|
 |
elmegil

Joined: Mar 20, 2012 Posts: 2179 Location: Chicago
Audio files: 16
|
Posted: Mon May 20, 2013 8:43 pm Post subject:
|
 |
|
You need to buy a (more) expensive MIDI interface.
I also tried to start with a cheap one, and for most of my own uses (I'm more of an engineer than I am a musician) I didn't have any problems with it...until I tried to use MIDI to do SysEx data to and old sampler (Roland S-10). Now, this is a REALLY basic sampler, and shouldn't take much to do SysEx data to, but it absolutely refused to work correctly until I got a more expensive model.
Sorry I don't have a better solution for you, but really I don't think you will be satisfied in the long run, even if you find a solution for this particular problem, because it seems likely that you will just stumble over some other limitation of the cheap device.
I got an M-Audio MIDISport Uno which I see is $40US at Amazon right now. That's a lot more than the cheap ones, but it's fairly reasonable when compared to the costs of computers and synths.
Or you could try to talk your friend into swapping with you  |
|
Back to top
|
|
 |
jbeuckm

Joined: Nov 30, 2008 Posts: 165 Location: Stockholm
Audio files: 9
|
|
Back to top
|
|
 |
MusicMan11712
Joined: Aug 08, 2009 Posts: 1082 Location: Out scouting . . .
|
Posted: Tue Jun 23, 2015 10:24 am Post subject:
|
 |
|
From what I have seen in other forums, there are major with some of those cheap 1x1 midi interfaces. I won't go into all the details, but I have seen people commenting on issues with sysex and running status. I believe there is a website with a detailed analysis of many of the issues. If I find it, I will post it.
If you have an arduino with a UART, you can make your own midi interface. Also, there is a piece of software (hairless serial/usb midi bridge, or something like that) which will allow a computer to communicate midi with an arduino.
I am not sure if either or both of these might meet your needs, but since I am aware of them, I thought I'd share.
BTW, I borrowed a 1x1 midi interface from Guitar Center a year or so ago and tested it with short sysex commands, an arduino, and a Casio CZ synth. It worked. I did not specifically test it to see if CCs got converted to note on messages. If the device is built properly and the drivers are correctly written, you shouldn't get that problem.
Can you share any details about your design for the arduino-based midi controller? A few years ago, I started on one. It's been collecting dust, though I keep thinking maybe I will get back into working on it.
Steve |
|
Back to top
|
|
 |
jbeuckm

Joined: Nov 30, 2008 Posts: 165 Location: Stockholm
Audio files: 9
|
Posted: Tue Jun 23, 2015 11:47 am Post subject:
|
 |
|
Thanks, Steve.
I have read that some MIDI sources will work with the cheap USB cables, so I am hoping to play with the arduino MIDI source code to get it working.
I use the arduino programming system but I make a dedicated PCB with the atmega328 and the parts I need for the MIDI interface. Here are eagle files for the board and arduino code (and panel design for a resonant eq:)
https://github.com/jbeuckm/atmega_midi_knobs_controller |
|
Back to top
|
|
 |
|