Subsystem Search

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
MODULATION
modulation
1 0-127
Received, never sent
VOLUME
volume
7 0-127
Received, never sent
EXPRESSION
expression
11 0-127
SUSTAIN SWITCH
sustain_switch
64 0-127
LFO ASSIGN
lfo_assign
78 0 off, 32 amp, 64 filter, 95 pitch, 127 osc
LFO DEPTH
lfo_depth
77 0-127
LFO SPEED
lfo_speed
76 0-127
PORTAMENTO
portamento
20 0 poly, 1-127 mono
OSC TYPE
osc_type
80 0 multi_saw, 32 pulse, 64 oscillator_sync, 95 ring_modulation, 127 frequency_modulation
OSC TEXTURE
osc_texture
81 0-127
OSC MOD (modulation)
osc_mod
82 0-127
FILTER CUTOFF
filter_cutoff
74 0-127
FILTER RESONANCE
filter_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 TYPE
effect_type
17 0 dist, 32 cho_fla, 64 phaser, 95 delay, 127 off
EFFECT DEPTH
effect_depth
18 0-127
EFFECT RATE
effect_rate
19 0-127

Where these facts come from

Source documents

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.