Giter Club home page Giter Club logo

yamaha-rcp-docs's Introduction

Yamaha Remote Control Protocol (RCP)

Unofficial documentation for Yamaha's mixer control protocol with an emphasis on the TF Series of mixers. The concepts in this documentation do apply to some of Yamaha's other mixers (notably the QL, CL, Rivage, and DM3 series), but since I only have access to a TF console, that's what this documentation is most relevant to.

Note: This is a big work in progress. If you want to help out, feel free to open up a Discussion, Issue, or Pull Request.

Official Sources

Basics

Yamaha uses a simple TCP connection to transfer all of the data between the client and the mixer. The data is split into messages that are delimited by a newline character (\n). Each message starts with one of the following command keywords:

Client to Mixer:

  • get - Request a value from the mixer
  • set - Set a value on the mixer
  • ssrecall_ex - Recall a scene to the mixer

Mixer to Client:

  • OK - Indicates that the client's request was accepted
  • OKm - The difference between this keyword and OK is likely to be an indication of a modified value, but this has not yet been confirmed
  • NOTIFY - Unsolicited message from the mixer indicating a change was made outside of the current connection
  • ERROR - Indicates an error with the client's request

Data Types

  • Strings
    • Represented by a variable length of characters surrounded by quotation marks (")
  • Decibels
    • Represented by an integer where the dB value has been multiplied by 100 (10 dB -> 1000)
    • Max Fader Value: 1000
    • Min Fader Value: -13800
    • Negative Infinity Value: -32768
  • Booleans
    • Represented by either a 0 or 1, 0 for false and 1 for true

Getting and Setting Values

Getting and setting simple values uses essentially the same syntax. The only difference is really that a get command doesn't contain a value on the end while set does.

Here's some basic examples:

  • Channel 1 Fader Values:

    • get MIXER:Current/InCh/Fader/Level 0 0
    • set MIXER:Current/InCh/Fader/Level 0 0 1000
  • Channel 16 Fader Label:

    • get MIXER:Current/InCh/Fader/Name 15 0
    • set MIXER:Current/InCh/Fader/Name 15 0 "My Label"

List of Command Paths

Credits

yamaha-rcp-docs's People

Contributors

brenekh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.