hugbug / conpianist

App to control Yamaha CSP digital pianos from Windows, macOS or Linux.
GNU General Public License v3.0
32 stars 4 forks source link

Connect to piano via network (RTP-MIDI) #14

Closed hugbug closed 6 years ago

hugbug commented 6 years ago

Currently the app connects to piano via Midi-ports. These ports can be local midi-ports if the piano is connected via USB cable. The piano also supports network connections. On Mac network access to piano can be configured using Mac's Audio Midi Setup settings. Then local Midi-ports appears in the system and the app can talk to piano. Similar is possible on Windows and Linux.

iOS however doesn't have system settings to configure network Midi. iOS does support network Midi but it cannot initiate network connections and can only be used as controller for Mac/PC.

Even on Mac the using of system configuration settings isn't that comfortable as it's necessary to manually click "Connect" every time the piano is switched on; the system settings do not restore connection automatically.

It would be very cool if the app could connect to piano via network on its own, without relying on system MIDI setup.

For network connections devices use special protocol - RTP-MIDI (also known as AppleMIDI). Implementing that protocol is a huge thing but luckily for us there is a library we can try to integrate - https://github.com/lathoub/Arduino-AppleMIDI-Library.

In this issue:

Then in the app: