A Rust-based utility that bridges Yamaha RCP (Remote Control Protocol) commands to OSC (Open Sound Control) messages, enabling integration between Yamaha mixing consoles and OSC-compatible systems.
This project translates Yamaha's proprietary RCP protocol into standardized OSC messages, making it possible to control Yamaha mixing consoles through OSC-compatible software and hardware. It's particularly useful for custom control solutions and integration with various audio control systems.
You might be surprised to know that Yamaha does not provide a real-time interface to their consoles. The only way to get real-time data is to use the RCP protocol, which is a proprietary protocol that is not documented by Yamaha. This project provides a bridge between the RCP protocol and OSC, making it possible to control Yamaha mixing consoles through OSC-compatible software and hardware.
Additionally this provides a small work around for Yamaha's RCP protocol which does not give detailed information when a notification of sscurrent_ex
is received. In this case this utility will send a ssinfo_ex
command to get the current scene information.
Any commands send over OSC are passed back to this library as is.
yamaha-rcp-to-osc --console-ip 192.168.69.165
Example for DM3
Create a Custom OSC connection.
Change Address 1
to /ssinfo_ex/scene_a
Create a layout from Custom OSC with the label set to Console: %1:2 %1:3
yamaha-rcp-to-osc --console-ip 192.168.69.165 --udp-osc-out-port 5003
- Add support TCP OSC
- Add 1.1 OSC Support klingtnet/rosc#62
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
This implementation is based on the following resources:
- Companion Module Implementation - Examples of RCP protocol usage
- QL Series SCP Commands Documentation - Additional protocol discussion
- Yamaha RCP Protocol Documentation - Yamaha RCP Protocol Documentation
- yamaha-rcp-docs - Additional protocol discussion