4

I need to connect a keyboard with only a USB-B 'to Host port' to another, as Midi slave, which only has standard 5-pin DIN Midi in/out ports.
How will I achieve this?

I have a new synth action keyboard with MIDI in port (Yamaha CK61) and I'd like to use a fully weighted piano as a controller for some songs, but the piano only has USB to host (USB-B) as opposed to traditional MIDI. I know I can get a fully weighted MIDI controller, but I already have a piano with action I like. I tried using a (cheap off Amazon - could be the issue) adapter cable like this: https://amzn.to/3LLHgma along with an adapter (to convert the USB-A in the cable to USB-B in the keyboard) https://amzn.to/44u6dtE and had no luck. Any suggestions?

4
  • 2
    What's wrong with using the 'to Host' port? BTW, send both those amazon devices back, the first is a scam… ermm… total waste of money, the second is just not the right product at all. All USB cables except the new USB-C must go from an A-type plug [host computer] to a B-type plug [peripheral device], so much so it's hard to actually find any that don't.
    – Tetsujin
    Commented May 1, 2023 at 18:13
  • 1
    ahh, I only just noticed, because it's only clear in the title… another keyboard… You'll need something to act as host & throughput device. This will be "a computer" with each device connected to it by whatever means is available to it. I've edited to bring the entire issue to the opening paragraph.
    – Tetsujin
    Commented May 1, 2023 at 18:49
  • 1
    Don't buy that MIDI USB adapter. There's an infamous MIDI USB adapter being mass produced in China that doesn't work right and causes all sorts of strange compatibility problems- and I think that's the one, given the design and the fact that it's sold by a hundred different non-brands on amazon. Find one on a reputable music equipment retailer's website instead. Edit: ok, you already bought it, send it back.
    – Edward
    Commented May 1, 2023 at 23:39
  • What's the other device? We know one is the CK61, but the other?
    – PeteCon
    Commented May 2, 2023 at 13:22

4 Answers 4

3

To use a keyboard which only has a USB to host (USB B) port on it to control another sound source, the device at the end of the cable (B -> A) needs to one which controls the USB bus. The word for such a device is a host.

That explains why the port is labelled 'to host' in the first place. The traditional thing to use as a host is a computer.

There are however other devices which are not fully fledged computers which can be a USB host for MIDI. These devices have a USB A port on them just like computers do and then other ports to send/receive the MIDI data onward to something else.

In USB (ignoring newer stuff with USB-C) the host is the thing expected to provide any power to devices (if needed) but never the other way around. So a USB host device will always need its own power supply.

For Midi over USB the host device requires 'drivers' to be able to understand the MIDI device, but since MIDI is very common most devices work with the same 'driver' as any other. A person with a computer would never need install this 'driver' as it is baked into the OS. Using this common driver is what is known as being Class Compliant.

So putting all this together, it would stand to reason that a computer substitute device could be made. It would have a USB-A port on it. A power input port, plus some way of getting the MIDI in/out of it, such as a pair of 5 pin DIN ports.

These devices exist and are called "USB MIDI Hosts" and would be how somebody would use say a Digital Piano with USB-B only to control a synth that has DIN MIDI IN. This would work for you. You power the box, connect it via an A to B cable to the controller and use a MIDI DIN cable to the CK61.

Many USB host boxes do support hosting more than one USB keyboard when used with a USB 2.0 hub so even if the CK61 was a different board with no legacy MIDI ports and just USB-B then a MIDI host box + HUB is still possible to join two USB-B only boards together. Some may support being powered by one of the A ports as power source only negating the need for a separate power supply.

The most well known USB Host is made by Kenton and is the most expensive, but others exist and start around the $50 mark.

Given the Yamaha CK61 is very modern I thought that perhaps it may have a MIDI implementation on it's USB A [to device] port. Hardly any keyboards support this but I have a Dexibell which does.

The manual disagrees with this and says the [to device] port supports only mass storage.

9 USB [TO DEVICE] terminal (CK61 and YC61 say this) For connecting a USB flash drive to the CK, allowing you to save a Live Set Sound you have stored, load a Live Set Sound back to the CK, or play audio files.

There is no harm in trying an A to B (USB printer cable) cable in with the A end in the CK61 and the B end in the controller. It may well work, despite what the manual says but the OS of the keyboard would have needed to be written to support that. It could be the sort of thing to be added in a firmware update later perhaps. For the CK/YC series especially the ability to plug in a cheap USB MIDI only controller to use as the lower manual would be nice.

Lack of MIDI on the host [to device] ports is in many respects a reason why USB MIDI has never replaced traditional DIN MIDI in computer-less setups. Having IN+OUT over the same wire and not being able to physically understand what's going where in a live situation is another reason.

In effect what you want to do is bridging two worlds (studio vs live) so requiring a bridging device is not that surprising.

1

MIDI is quite an old protocol for sending musical events between synthesizers, keyboards &c. Computer usually do not do this, which is why we need special devices taking midi signals and communicating these to the computer, which will then handle this as some sort of digital MIDI stream. This is basically what you have linked us: A small adapter that takes MIDI input and communicates it to the computer via USB, as well as turning PC midi instructions into traditional MIDI output. Now, many keyboards intended to be connected to some sort of computer will have such a device built in, which is what you connect via USB.

Now the problem is that if you want to use such a keyboard to drive another synthesizer this synthesizer would need to have a computer able to communicate with this device and make sense of it. (This does also require the necessary driver!) If the other synthesizer does not do this what you need is a computer in between that translates this signal into a traditional MIDI signal, which is basically the reverse of the device you’ve sent us.

One option would be to get a small SOC computer (e.g. raspberry pi) and a PC midi interface such as the one you’ve linked us (needs midi out!) compatible with whatever operating system you run on that pi (e.g. some Linux distribution). Also make sure that your source keyboard is compatible!

Then you can set this up in such a way that the computer will take the events from the source keyboard via USB and send these to the other synthesizer via the midi interface.

Note that this will induce latency, as the signal from the source keyboard will need to be parsed by the computer, sent to the interface and sent to the other synthesizer.

If on the other hand you are using keyboard and synthesizer alongside of a computer anyway you might just combine these, which allows for more options such as using the keyboard for the computer or sending midi output of some computer software to your synthesizer.

1
1

I'm afraid that when the old 5-pin MIDI ports were replaced by 'MIDI over USB' we lost the facility of directly connecting two keyboards. There now has to be a computer in the middle, running a program (usually a DAW) with MIDI routing capability.

0

The interconnection device you need here is called a USB Midi host. Those are available as standalone devices. Alternatively, you can use a general-purpose computer (or something like a Raspberry Pi which sort of is a general-purpose computer) and some good USB-MIDI interfaces (not the cheap Chinese adapters known to garble SysEX and chords) and suitable software for routing MIDI.

On Linux, you can achieve the routing just by using aconnect commands, assuming your devices are accessible with ALSA MIDI.

The legacy MIDI connections using current loops on 5-pin DIN connectors were heavily limited in bandwidth, but they did not produce ground loops (when correctly implemented) and supported ad-hoc hookups of multiple devices.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.