What did work (and what I’ve been using since) was a few euro cheapo cable that I bought later on eBay. That has been my answer to USB-midi communication with midiboxes ever since
The problem with these is that you don’t know what you get until you test them in your setup. Unfortunately, chances are that they will not work properly, as evidenced in the blacklist over in the wiki. It seems you got lucky, but it’s rather the exception to the rule I would say.
Thank you jjonus for the info on the CakeWalk USB-Midi unit I am using. Will pick up a different one in the future to see how it works.
I want to add that I uploaded the bootloader from the directory mios32_bootloader_v1_009.zip\mios32_bootloader_v1_009\MBHP_CORE_LPC1769 since this is the board that I am using. Is this right?
Update: Found that whenever the Midibox is powered Off then On, that the MIOS Studio QUERY function doesn’t work. You can see it retry multiple times but no response. If I push the > button a few times it started working. This was repeatable about 5-10 times than it locked up solid again. To fix it I had to restart MIOS Studio again. But once the Query works once, it keeps working until the Midibox is powered off and then on again. The problem just isn’t always repeatable to get it working again. It sometimes starts working with just rescanning the Midi ports. All I know is that it doesn’t come up in a usable state. Maybe the issue has to do with initializing variables on POR or something like that.
I think that I should replace the “rescan MIDI devices” option by a message box which informs the user, that it doesn’t work reliable, and that it’s better to restart MIOS Studio instead!
It would be interesting to know, if you restarted MIOS Studio after the update, and after reconnecting the USB cable?
I didn’t see your response so I thought I would just do an update. Sorry
I didn’t restart MIOS Studio the first time after loading the new bootloader. But since then I must have tried 100 different times to come up with a pattern. With your comment I am currently closing Mios Studio, then power cycling the MidiBox, then starting MIOS Studio after the indication the USB port is active. It is failing on bring up. If I reselect the Midi IN and OUT on MIOS Studio to the MIDIO128 port it doesn’t even show the auto QUERY request being sent out. From this state the only way that I have been able to get things to work every time is to press the > function key that causes the MidiBox to send out a test message that displays the next file name. It takes about 3 presses of the key to start seeing the messages. From here on out everything on the Midi side seems to be working.
Now if I enable MSD mode from the MidiBox and try to copy the mios_studio.exe file onto the SD card it crashes with a “!! HARD FAULT !!†message at PC=0x511c244c. I have caused this failure a few times but the PC address was different each time. After this error I have put the SD card directly in a port on my PC so I can run a check disk and fix anything that might have been clobbered.
I also took my MidiBox to another PC with Windows XP. I loaded MIOS Studio 2.3.1 and tried to see how its different from Windows 7. It seems to work fine. I did have to do a rescan of the Midi ports if I power cycle the MidiBox (as expected) but the Query works every time.
From this state the only way that I have been able to get things to work every time is to press the > function key that causes the MidiBox to send out a test message that displays the next file name. It takes about 3 presses of the key to start seeing the messages. From here on out everything on the Midi side seems to be working.
Looks like the known multi-USB port issue under Windows is still not solved!
MIDIO128 V3.011pre5
~~~~~~~~~~~~~~~~~~~
o Number of USB devices temporary set to 1 again
o OUT4 can now be selected in all config pages
[/code]
USB MIDI should be available immediately without pressing buttons multiple times. (background: the '\>' button sends some messages. Once enough messages are sent, Windows accepts the USB MIDI connection and continues as normal... for unknown reasons)
This weekend I've the possibility to test this on a Win7 PC
> Now if I enable MSD mode from the MidiBox and try to copy the mios\_studio.exe file onto the SD card it crashes with a “!! HARD FAULT !!†message at PC=0x511c244c. I have caused this failure a few times but the PC address was different each time. After this error I have put the SD card directly in a port on my PC so I can run a check disk and fix anything that might have been clobbered.
MSD is really hard to debug. This code hasn't been developed by myself, it's based on an example from NXP and there are some parts in the code that I don't really understand...
However, the upcoming [MIOS Filebrowser](http://www.ucapps.de/mios_studio/mios_studio_filebrowser.png) will help to overcome this issue! :)
> Instead of pressing the \<\> buttons, might it be better to use the encoder to select a MIDI file?
Not so easy, because switching between MIDI files takes so much time, that they can't be selected without the "feeling that something got stucked".
Button Inc/Decs are slower (because you can't push the button fast enough), therefore you haven't noticed this performance issue.
The same for FRwd/FFwd
A workaround would be, that I stop the file operations when the encoder has switched to the next file (because you won't listen to a temporary selected file anyhow), but the implementation won't be straightforward.
> Am also getting no output from OUT 3 and 4.
Works at my side - please check if you've enabled OUT3 and OUT4 in your .MID setup
Somebody requested to make the MIDI port selection option - and your confusion might be the result ;-)
> From the AINS menu, OUT4 isn't shown.
Fixed
Best Regards, Thorsten.
Tested V3.011pre5 release that changed back to 1 USB Midi port and it works fine now. Doesn’t lock up and using the RESCAN function on MIOS Studio works every time.
As far as the MSD crash, it still does. I don’t know when this crept into the builds since I thought I tested this early in my testing.
BTW-If you remove the SD card and use the control panel switches to enter MSD mode, the MidiBox switches lock up with no errors on the display and you get a message on the PC indicating that the disk needs formatting. This may be just another problem with writing files. I saw this issue before we upgraded to the new bootloader. Just forgot to mention it.
I have just joined to the community, as I built my first MIDIbox project yesterday! It is working fine! Many thanks to TK, as it is a really flexible and useful project.
I built a MIDIO128 v3 for midifying an organ console. It is working really fine. I am using a matrix for scanning the keyboards.
I have only one question (or request for improvement). Would it be possible to add a flag to invert the behaviour of the matrix. I mean there is a flag for DIN (midio_patch_cfg.flags.INVERSE_DIN). As I saw there is nothing for the matrix like this. I think it would be useful - especially for me
really nice to read that you were able to setup the MIDIbox without additional hints from my side!
Inversion flag: I can add this but it will require some testing… but just to confirm, the diodes of your keyboard are soldered with the reverse polarity, right?
Back to the Windows MIDI USB topic: there is no acceptable workaround for the Microsoft driver… but with the permission of Ploytec I enabled MIOS32 for using the GM5 driver!
This driver gives you the best performance, and especially robust SysEx transfers!
(Note: if you haven’t done this yet, install MIOS32 Bootloader V1.009 first! This update is still required!)
MIDIO128 V3.011pre6
~~~~~~~~~~~~~~~~~~~
o Number of USB devices set to 4 again
o support for GM5 driver under Windows.
MacOS and Linux users: just install this update, no additional changes required.
Windows users:
- upload the application with MIOS Studio
- close MIOS Studio
- install the GM5 driver which can be downloaded from http://www.ucapps.de/mbhp_usb_gm5.html
- start MIOS Studio -> 4 "GM5" USB ports should be visible
[/code]
I really hope that this solves your USB issues under Windows! I've intensively tested this setup under WinXP and Win7
Best Regards, Thorsten.
In the matrix I am using the structure of the original plan. So the diodes are not reversed. The only difference is that as buttons I am using optocouplers. They are working so: when they can see each other (Button OFF) the output is 0V. When the key from the keyboard is pressed they can’t see each other (Button ON), and he output is 5V.
In this way the MIDI messages are generated, but Note OFF is generated for Button ON, and vice versa.
I loaded the midio128_v3_011_pre6 software but only tested it using the Midi player. Its working fine with windows 7 and all 4 USB ports. I went into the .MID panel and noticed for the first time that the encoder knob had more options added to it. Also surprised that the PORT field has completely separate entries for enabling play and record modes for all of the ports like you had discussed in previous posts.
Tested playback on all 4 USB ports and Midi Ports 1 & 2 and they work fine. If I enable Midi ports 1, 2, & 3 for both record and playback and then start playing a song, the Midi Port 2 eventually starts sending Program Change 7 messages to ch 2 and repeats this forever. Only way to stop this is POR the board. Suspect issue is due to floating input into the CPU. Funny thing is that the repeated output doesn’t happen to Midi port 1. The problem can also be caused by enabling the play & rec for the DI/O port.
I tried enabling the MSD mode but had nothing but problems. Even worse issues than before and locked up the PC’s USB task and couldn’t even shut the PC down normally. But this doesn’t seem to be related to the USB 4 port issue does it.
I loaded the midio128_v3_011_pre6 software but only tested it using the Midi player. Its working fine with windows 7 and all 4 USB ports. I went into the .MID panel and noticed for the first time that the encoder knob had more options added to it. Also surprised that the PORT field has completely separate entries for enabling play and record modes for all of the ports like you had discussed in previous posts.
Yes - this handling needs proper documentation - it was the most simple way to provide separate configuration flags for all ports.
Tested playback on all 4 USB ports and Midi Ports 1 & 2 and they work fine. If I enable Midi ports 1, 2, & 3 for both record and playback and then start playing a song, the Midi Port 2 eventually starts sending Program Change 7 messages to ch 2 and repeats this forever. Only way to stop this is POR the board. Suspect issue is due to floating input into the CPU. Funny thing is that the repeated output doesn’t happen to Midi port 1. The problem can also be caused by enabling the play & rec for the DI/O port.
It seems that I should add a loopback detection, but I’m unsure if this will really help.
E.g. if transfers are stopped and you missed the message, that a loopback has been detected (which could also happen if the detection algorithm is not good enough to identify a *real* loopback), the behaviour could be confusing as well.
I tried enabling the MSD mode but had nothing but problems. Even worse issues than before and locked up the PC’s USB task and couldn’t even shut the PC down normally. But this doesn’t seem to be related to the USB 4 port issue does it.
Please ignore MSD mode, it works only properly without such issues under MacOS.
Once MIOS Studio 2.4 has been released, accessing the SD Card via MIDI will be the prefered choice anyhow.
The latest pre-version I’ve been using/testing is pre4, and button-wise it’s completely sufficient for me. So, as far as I’m concerned, there’s no need for extra buttons. I’m thankful for all the new features this far and just looking forward (fast forward to the transpose function
I uploaded the new bootloader and MIDIO 128. With MIOS studio the first scan of the midi ports is successful, I can see the new version of MIDIO128, but if I press the Query button, it can’t reach the core. I tried to upload the Bootloader again, but the was a Timeout. And it happens always.
I installed a new driver for MIDIO128, but did not help.
Without this driver, SysEx transfers will hang under Windows after the first bytes have been transmitted whenever an application provides more than 1 USB port.
I installed the driver again and it is working now. At least the Studio can see the Core. Maybe the first installation was corrupted…
But I have now again problem, with the SD card. I activate the MSD function, but I cannot reach the card. When MSD is off, I can see that No FAT. It was working with the previous version. And also I cannot format this.