Using the Casio CDP-S350 with Chordie, Synthesia and PianoMarvelThe Casio CDP-S350 Compact Digital Piano does not come with a 5-pin DIN MIDI Out Port. Instead, it comes with USB 2.0 To Host and To Device ports to interface with your Computer.
Unfortunately this has become the norm with entry level Digital Pianos. While this makes it easy to connect your Digital Piano to your Computer, it makes it difficult to interface with external gear having regular MIDI IN/OUT ports.
The solution is to buy this
Camola USB MIDI Host Box or this
Kenton USB to MIDI Converter Box or this
MidiPlus USB MIDI Host Box.
These standalone boxes convert a USB MIDI device interface to a pair of standard 5-pin MIDI IN/OUT ports.
This lets you connect the Casio Digital Piano to an external sound module without having to use a Computer.
Of course, for most users this Casio Digital Piano will be connected to a Computer to drive other apps.
The Casio CDP-S350 comes with a Class Compliant USB-MIDI port. This means this is completely plug & play. There is no need to install a USB-MIDI driver.
However, I found that the Casio USB-MIDI driver does not support multiple clients. In other words, if you use the Casio USB-MIDI port to connect to the Chordie App, you can no longer connect this to the Synthesia app. The port is no longer available.
This was never an issue with the Roland PCR-800 controller. It came with a multi-client USB-MIDI driver and would work with the Chordie App, Synthesia and PianoMarvel all at the same time.
The solution to get around the Casio USB-MIDI single client driver limitation is to install loopMIDI and MIDI-OX. Both are free.
LoopMIDI supports multiple clients.
MIDI-OX 7.0.2 lets you control the routings.
The idea is to connect the Casio USB-MIDI port to the LoopMIDI port and subsequently have all other apps connect to this loop back MIDI port.
In essence, none of your apps are interfacing directly with the Casio, but rather connecting to the LoopMIDI port which is mirroring the MIDI Output from the Casio.
This is a nifty little trick and it works flawlessly.
I could now see the keys that I press on the Casio along with the Note names and Chord names in the
Chordie App.
I can see the duration of notes being played on the
Synthesia App.
Chordie and Synthesia offer valuable visual feedback as I practice songs and exercises on PianoMarvel.
I have explained how to set everything up with LoopMIDI, MIDI-OX, Chordie, Synthesia and PianoMarvel in this
Casio CDP-S350 USB-MIDI Connection Guide.You can use this workaround provided by loopMIDI whenever you encounter issues with single client USB-MIDI ports.
I could see why Casio decided not to provide a multi-client USB-MIDI driver. It would mean writing OS specific drivers for Windows XP, 7, 8, 10 and MacOS 11, 13, 15, etc. It adds to the cost.
Other companies like Korg, Roland and Yamaha do go the extra mile to write multi-client USB-MIDI drivers. The downside is that they are not plug & play. You have to download and install the driver specific to your OS.
David