#mixing #networking #yamaha #audio #remote-control #api-bindings

bin+lib yamaha-rcp

Remote control of Yamaha mixing consoles using TCP/IP networking

1 unstable release

new 0.1.0 Jan 12, 2025

#647 in Asynchronous

Download history 125/week @ 2025-01-08

125 downloads per month

MIT license

22KB
409 lines

Yamaha RCP Rust Library

Remote control of Yamaha mixing consoles using TCP/IP networking in Rust.

Disclaimer

This a very pre-production crate. The API is subject to change (and almost certainly will).


lib.rs:

Yamaha Remote Control Protocol (Rust)

Remote control of Yamaha mixing consoles using IP networking.

Disclaimer

This library's API is nowhere near the "final" API. Development will follow Semantic Versioning, but expect many changes.

Also, yamaha-rcp is mainly tested against the Yamaha TF Series of consoles, specifically the TF1. Fully tested compatibility of the Rivage PM, DM7, DM3, CL, and QL lines is the final goal of this library, but I do not have access to any of these consoles to be able to test against. If you do happen to have access and are willing to help out development, please get in touch.

Example

use yamaha_rcp::{TFMixer, Error};

#[tokio::main]
async fn main() -> Result<(), Error> {
let mixer = TFMixer::new("192.168.0.128:49280").await?;

// Set channel 1 to -10.00 dB
mixer.set_fader_level(0, -10_00).await?;

Ok(())
}

Extra Documentation

The following is a personal collection of documentation on Yamaha's mixer control protocol since they don't provide any decent version of their own: github.com/BrenekH/yamaha-rcp-docs

Dependencies

~4–13MB
~147K SLoC