This page is read from MIDI Instrument Definitions, a Python library used in the author's other projects, in which every number is traced to a document its maker published. Its source is on GitHub.
Yamaha reface CS MIDI implementation
The MIDI implementation of the Yamaha reface CS: what it answers to, and the 21 controls it offers.
At a glance
- Firmware
- Not recorded.
- MIDI channel
- Any one of 1 to 16.
- Voices
- Not recorded.
- Note range
- 0 to 127: C-1 to G9, counting middle C as C4.
- Velocity
- Sent and received. Release velocity is ignored.
- Aftertouch
- None, sent or answered.
- Pitch bend
- 12 semitones, and the range can be changed.
- Program change
- Not received or sent.
- MIDI clock
- Sent and received.
- Start and stop
- Sent and received.
- Control change
- 21 controls, in the table below.
- NRPN
- None.
- System exclusive
- Supported.
Controls
In the order the definition gives them, by group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("yamaha/reface_cs") has loaded them.
| Control | CC | Values |
|---|---|---|
MODULATIONmodulation |
1 | 0-127 Received, never sent |
VOLUMEvolume |
7 | 0-127 Received, never sent |
EXPRESSIONexpression |
11 | 0-127 |
SUSTAIN SWITCHsustain_switch |
64 | 0-127 |
LFO ASSIGNlfo_assign |
78 | 0 off, 32 amp, 64 filter, 95 pitch, 127 osc |
LFO DEPTHlfo_depth |
77 | 0-127 |
LFO SPEEDlfo_speed |
76 | 0-127 |
PORTAMENTOportamento |
20 | 0 poly, 1-127 mono |
OSC TYPEosc_type |
80 | 0 multi_saw, 32 pulse, 64 oscillator_sync, 95 ring_modulation, 127 frequency_modulation |
OSC TEXTUREosc_texture |
81 | 0-127 |
OSC MOD (modulation)osc_mod |
82 | 0-127 |
FILTER CUTOFFfilter_cutoff |
74 | 0-127 |
FILTER RESONANCEfilter_resonance |
71 | 0-127 |
EG FEG - AEG (balance)eg_balance |
83 | 0-127 |
EG A (attack time)eg_attack |
73 | 0-127 |
EG D (decay time)eg_decay |
75 | 0-127 |
EG S (sustain level)eg_sustain |
79 | 0-127 |
EG R (release time)eg_release |
72 | 0-127 |
EFFECT TYPEeffect_type |
17 | 0 dist, 32 cho_fla, 64 phaser, 95 delay, 127 off |
EFFECT DEPTHeffect_depth |
18 | 0-127 |
EFFECT RATEeffect_rate |
19 | 0-127 |
Where these facts come from
Source documents
- reface CS/DX/CP/YC Data List, b0, its MIDI implementation, read on 5 October 2026 (the file read).
- reface Version 1.30 Supplementary Manual, its user manual, read on 5 October 2026 (the file read).
- reface Reference Manual, its user manual, read on 5 October 2026 (the file read).
How they were read
The reface CS/DX/CP/YC Data List, sheets 2 to 5, which carry this instrument's data format, its Control Change table and its MIDI Implementation Chart. Every number below comes from sheet 4 or sheet 2, and every direction from the chart on sheet 5.
ALL THREE DOCUMENTS WERE ALREADY IN THIS LIBRARY AND NONE WAS FETCHED AGAIN. They are saved under Library/yamaha/reface_dx/1.30/, cited by yamaha/reface_dx and yamaha/reface_cp before this, and their digests were checked against what those two definitions record before anything here was written. See the comment above the definition for why reading one model's section out of a four-model document is safe here.
THE REFERENCE MANUAL IS NOT A SOURCE FOR THIS INSTRUMENT, although it is for the DX and is in the same library directory. Its eleven sheets are about Edit mode on the reface DX - "By using Edit mode on the reface DX, you can m[ake]" (reference) is how its second sheet opens - and it says nothing about the CS. Recorded so the next reader knows it was looked at rather than missed.
SEVENTEEN OF THE TWENTY-ONE ARE CONDITIONAL, AND FOUR ARE NOT. See the comment above. The four that always work are the MIDI specification's own - controller 1, 7, 11 and 64 - and the seventeen that are not are this instrument's panel, from its oscillator type to its effect rate. The definition cannot express the condition, so it is stated here and in the controls' comments; a consumer offering all twenty-one on a new instrument would find seventeen of them silent until somebody turned the setting on.
TWO OF THE FOUR ARE RECEIVED AND NEVER SENT, which the chart gives cell by cell: controller 1, Modulation Wheel, and controller 7, Main Volume, are crossed transmitted and circled recognised (dl p. 5). The data format agrees from the other side, listing them under *RECEIVED CONTROL NUMBER and not under *TRANSMITTED CONTROL NUMBER (dl p. 2) - which is the rare case of a document stating a direction twice in two different ways.
WHY THE SELECTOR VALUES ARE THE ONES THE INSTRUMENT SENDS RATHER THAN THE BANDS IT HEARS. The table gives both for each of the three five-way switches: an exact value transmitted and a range recognised, so OSC TYPE sends 0, 32, 64, 95 or 127 and answers to 0-25, 26-51, 52-76, 77-102 or 103-127. The exact values are recorded, which is yamaha/reface_cp's choice for the same table shape from the same document, and is the one a consumer sending a value needs. What it costs is the display case: a value of 40 arriving is FILTER and nothing above says so.
NOT RECORDED, THE MODE, AND THE CHART IS WHY. It gives two different defaults - 3 transmitted and 1 recognised - and this field holds one number. That is yamaha/reface_dx's ruling from the identical row, and it holds for all four refaces. The recognised side is the one a reader would want and it is the one the supplement explains: "Factory default setting: All" (supplement p. 9) for the receive channel, which is mode 1 by another name.
AND THE FAMILY DIVIDES ON THE ROW UNDER IT, which is worth recording because it is the kind of thing somebody carries across by mistake. The CS and the DX recognise mode messages 1 - 4 with the footnote *2 "m" is always treated as "1" regardless of its actual value. (dl p. 5); the CP and the YC recognise 1,3 instead. Four charts in one document, and no two of them are the same chart.
NOT RECORDED: the nine functions the 1.30 firmware added, of which only two reach this format - the pitch bend range and the channels. The other seven are a master tuning, a master transpose, a Quantize Mode, a Guide / Click Sound Switch, the pedal switch above and the pedal-type selection, and all are set by holding a key at power-on.
NOT RECORDED EITHER: the system exclusive parameters, two tables of them totalling 54 bytes, among which Volume carries a note worth a reader's time - "This parameter can be set only via MIDI." (dl p. 4) - because there is no volume knob on this instrument at all.