Yamaha YM3806 Manual

Programmer’s Guide to Yamaha YM3806 (OPQ) FM
Synthesizer
Version 1.1 Feb 27, 2021
Written by Jari Kangas
This document can be distributed freely if not modified.
Summary
This document contains a rogrammer’s guide and a minimal data sheet for Yamaha OPQ
FM synthesizer chi s. The information a lies to YM3806 and very ro ably to YM3533
also.
isclaimer
Because most of the information resented here is based on reverse engineering, it is very
robable that there are misunderstandings and omissions. The writer assumes no
res onsibility for any damages arising out of use of this text. No warranty is rovided about
correctness of any information in this file.

OPQ Programmer’s Guide V 1.1 2
Table of Contents
1 Introduction.......................................................................................................................3
2 The OPQ synthesizer chi ................................................................................................3
3 OPQ synthesizer basics....................................................................................................5
3.1 O erators and channels............................................................................................5
3.2 Algorithms..................................................................................................................6
3.3 Triggering rinci les...................................................................................................6
3.4 Frequency settings....................................................................................................7
3.5 Envelo es..................................................................................................................7
3.6 Waveforms.................................................................................................................8
3.7 Timer and interru ts...................................................................................................8
4 Register structure..............................................................................................................9
4.1 Register address grou s............................................................................................9
4.2 Register grou s 2...7.................................................................................................9
4.3 Register grou 1......................................................................................................10
4.4 Register grou 0.......................................................................................................11
5 Register contents............................................................................................................12
5.1 Register addresses 00H...0FH................................................................................12
5.1.1 Register 00H: Status register (read-only).........................................................12
5.1.2 Register 03H: Timer control..............................................................................12
5.1.3 Register 04H: LFO control................................................................................13
5.1.4 Register 05H: Key-on/key-off triggers..............................................................13
5.2 Register addresses 10H...1FH................................................................................14
5.2.1 Registers 10H...17H: Algorithm / feedback / out ut channel...........................14
5.2.2 Registers 18H...1FH: Vibrato / tremolo / echo.................................................14
5.3 Register addresses 20H...3FH................................................................................15
5.3.1 Registers 20H...2FH: Octave / frequency hi-nibble..........................................15
5.3.2 Registers 30H...3FH: Frequency lo-byte..........................................................15
5.3.3 Octave and frequency numbering....................................................................15
5.4 Register addresses 40H...5FH................................................................................16
5.4.1 MSB = 0: Detune..............................................................................................16
5.4.2 MSB = 1: Frequency multi lier.........................................................................17
5.5 Register addresses 60H...7FH................................................................................17
5.5.1 Out ut attenuation............................................................................................18
5.6 Register addresses 80H...FFH................................................................................18
5.6.1 Registers 80H...9FH: Envelo e: attack rate / key scaler.................................18
5.6.2 Registers A0H...BFH: Envelo e: decay rate / waveform.................................19
5.6.3 Registers C0H...DFH: Envelo e: sustain rate..................................................19
5.6.4 Registers E0H...FFH: Envelo e: sustain level / release rate...........................20
6 OPQ register table..........................................................................................................21

OPQ Programmer’s Guide V 1.1 3
1 Introduction
This document contains a rogrammer’s guide and a minimal data sheet for Yamaha OPQ
FM synthesizer chi s. The information a lies to YM3806 and very ro ably to YM3533
also.
There is no official information available for these chi s. Everything resented in this
document is based on three sources:
•Reverse engineering of Yamaha PSR-70 keyboard, by the author
◦htt s://retroandreverse.blogs ot.com/search/label/PSR-70%20reverse
%20engineering
•Yamaha PSR-70 Owner’s Guide, by Yamaha Cor oration 1985
◦htt ://www.synthmanuals.com/manuals/yamaha/ sr-70/owners_manual /
•Yamaha PSR-70 Service Manual, by Yamaha Cor oration 1985
◦htt s://elektrotanya.com/yamaha_ sr-70_sm. df/download.html
One of the main information sources is the PSR-70 original internal software, which I have
studied closely. I will be referring to it several times with the term ”PSR-70 firmware”.
As a com arison and reference, I have used the more widely known OPL2/OPL3,
es ecially the excellent document ”Programmer's Guide to Yamaha YMF 262/OPL3 FM
Music Synthesizer” by Vladimir Arnost. Testing things using Dexed soft synth (”closely
modeled on the original DX-7 characteristics”) gave some insight. Also DX-11 seems to be
very close to OPQ in many res ects.
The OPQ is not that widely used, but it is found at least in PSR-60, PSR-70 and CLP-100
keyboards.
2 The OPQ synthesizer chip
The PSR-70 unit used for reverse engineering contains YM3806 chi , so all first-hand
information here is from this chi . The Service Manual uses also name YM3533
interchangeably, so it should be the same chi .
The chi is meant to be connected to normal rocessor bus. Data bus is 8-bit wide and
there are 8 address lines. Bus control signals are the normal RD, WR and CS. The chi
can also request an interru t.
OPQ chi contains no D/A-converter. It out uts two serial digital streams to an external
DAC. In PSR-70, an YM3012 is used for this ur ose. A datasheet for YM3012 is available
in internet.
There is no bus timing information available. In PSR-70, a Z80 CPU with 6 MHz clock is
used and the OPQ chi is ma ed as a art of memory address s ace. There is a wait-

OPQ Programmer’s Guide V 1.1 4
state logic im lemented in hardware, but to my understanding it is not used when
accessing the OPQ chi . This gives some rough idea about the bus timing s ecifications.
The chi comes in a 40- in DIP ackage and the inout is:
Pin functions:
VDD, VSS 5V su ly
D7...D0 Data bus from/to CPU
A7...A0 Address bus from CPU
WR, RD Write/read signals from CPU
CS, EN, EN Chi select and enable signals from address decoding. In PSR-70
only CS is used, EN and EN are connected ermanently active.
IRQ Interru t request to CPU
IC Inital clear ( = reset) from reset logic
SO, RSH, LSH Serial data out to DAC. In YM3012, signals SD, SAM1, SAM2
res ectively.
ø10 Clock out to DAC
X1, X2 Crystal. In PSR-70, a 3.579 MHz is used.

OPQ Programmer’s Guide V 1.1 5
Pins not mentioned above are not connected anywhere in PSR-70, so it is im ossible to
say anything about their ur ose.
3 OPQ synthesizer basics
Main s ecifications of the OPQ FM synthesizer:
•8 voice channels, i.e. 8 voice oly hony
•4 o erators er channel, so there are 32 o erators altogether
•8 algorithms
•se arate ADSR envelo e generator for each o erator
•one LFO, can be used for AM (tremolo) and FM (vibrato)
•mono honic (non-stereo) out ut
There is no ercussion mode nor ”sacrifice channel count and get more o erators er
channel”-modes as in OPL3. This makes OPQ more straightforward from rogrammer’s
oint of view.
The ”stereo or not stereo” question is quite clear: it is not stereo. The digital signals going
to the DAC are named LSH and RSH, which gives a clue of Left and Right, but it is better
to think that there are two se arate out ut channels, and each voice channel can be sent
to either of them or both. This can be useful for routing ur oses but it is not stereo. The
arrangement is similar to OPL3 synthesizer. Even PSR-70 does not use the out ut
channels as left and right, it uses them for controlling the effects routing.
3.1 Operators and channels
Against Yamaha tradition, I will be numbering everything starting from 0, also the
o erators.
This table summarizes which o erators form each channel’s channel-s ecific o erators:
Ch0 Ch1 Ch2 Ch3 Ch4 Ch5 Ch6 Ch7
O 0 0 1 2 3 4 5 6 7
O 1 8 9 10 11 12 13 14 15
O 2 16 17 18 19 20 21 22 23
O 3 24 25 26 27 28 29 30 31
Table 1. Operators
All four o erators of one channel are not equal:
•In all algorithms, O 3 is always a carrier, never a modulator. It is also kind of
”master o erator” regarding to triggering, see cha ter 3.3.

OPQ Programmer’s Guide V 1.1 6
•In all algorithms, O 0 is always a modulator, never a carrier. It is also the only
o erator which can use feedback. The feedback ossibility is indicated with the
feeback loo around O 0 in the algorithm icture on next age.
3.2 Algorithms
There are 8 algorithms to select from. The algorithms are resented in the following
icture.
3.3 Triggering principles
The o erator triggering scheme is quite different from OPL3. With triggering I mean turning
o erators on and off with their corres onding key-on bit. The main difference to OPL3 is
that the triggering is not done er channel, it is done er o erator. This means that even
same channel’s o erators can be turned on or off at different times. Turning o erator on
starts its envelo e’s attack hase and turning it off starts the release hase. This gives
quite a few new ossibilities in sound design. I have not noticed that PSR-70 firmware
would make use of this ossibility.
There are some limitations, though. As mentioned, O 3 acts as a master o erator: it must
always be triggered on, otherwise channel’s other o erators won’t trigger at all. Similarly,
when O 3 is triggered off, all other o erators will be triggered off at the same time. But
while O 3 is on, you can freely trigger other three o erators on and off, even several
times, if you want.

OPQ Programmer’s Guide V 1.1 7
Also during release hase O 3 affects on the other o erators: if O 3’s retrigger is disabled
and it has long release time, it will not retrigger before its out ut level has decreased near
zero. During that time any other same channel’s o erator won’t retrigger either, even if its
own release time has already ended.
3.4 Frequency settings
In OPQ each channel can have two different frequencies. Frequency is always set to an
o erator air, meaning that two of the channel’s o erators can use one frequency, while
two other can use com letely different frequency. The two frequencies do not need to be in
a harmonic relation, which again o ens u interesting ossibilities in sound design.
There is also ossibility to detune each o erator from its nominal frequency. And of course
the frequency multi lication is available as always in FM.
3.5 Envelopes
Each o erator has individually controllable envelo e curve. In fact, half of the registers are
used for the envelo e settings.
OPQ envelo e is a traditional ADSR-style envelo e with one added arameter, sustain
rate. During sustain hase the envelo e curve can also decrease, and sustain rate
controls the decrease rate. If sustain rate is 0, the sustain hase is horizontal (not
decreasing), and the the envelo e becomes basic ADSR. The curves are logarithmic in all
hases, but with small values of sustain rate the curve is ractically linear, as in the icture
below.

OPQ Programmer’s Guide V 1.1 8
Attack, decay and release are given as rates. Rate defines how fast the curve changes.
Larger rate = faster rise = shorter time. Also sustain rate is given as rate, but – as you
might ex ect – it does not affect sustain time, it affects the final level at the key-off
moment.
Sustain level defines the level, where the decay hase ends and sustain hase starts. So
it affects to decay time also.
It looks like Yamaha DX-11 envelo e system is exactly the same, just terminology differs.
What I call here ”sustain” they call ”decay2”.
3.6 Waveforms
Each o erator can have two different waveforms: sine and half-sine. Half-sine looks like
this:
3.7 Timer and interrupts
OPQ chi contains one timer, which can generate re eating interru ts. In PSR-70 this is
used as real-time interru t with 10 ms interval. I did not find out, how this is actually
controlled. I can get out 10 ms interru ts by mimicking the actions of the PSR-70 firmware,
but that’s all. I don’t know how to alter the interval, for exam le.
Timer is the only thing inside OPQ which can cause interru ts. Sound generation does not
use interru ts for anything.
The following cha ters 4 and 5 are the actual register reference.
•Cha ter 4 tries to answer questions like ”If I want to change attack rate of channel
4, o erator 2, which register address should I write to?”
•Cha ter 5 tries to answer questions like ”Now that I know the address, what is the
contents of the data I should write to that register to change the attack rate?”
While describing registers, we will need hex numbers. For that ur ose I will use the Intel/
Zilog originating style to use ostfix ’H’, like 0FH. If there is no ’H’, the number is decimal.

OPQ Programmer’s Guide V 1.1
4 Register structure
OPQ synthesizer has 256 8-bit registers, or at least 256 register addresses, not all have
any functionality. All registers are write-only, exce t register 00H, which is read-only.
One big difference to OPL3 is that all registers are directly addressable, because the chi
has 8 address lines. This makes writing and reading the registers sim ler, no need for two-
hase o erations.
The registers show u as 256 consecutive addresses in the controlling rocessor’s
address s ace. This may be memory address s ace or I/O address s ace, de ending on
the hardware designer’s decisions. In PSR-70, registers are in memory address s ace,
because Z80 has only 256 register I/O address s ace, so the OPQ chi would alone eat
u the whole I/O address s ace.
4.1 Register address groups
High level classification of registers can be done by grou ing the registers in grou s of 32
registers. The register grou number is the 3 most significant bits in the register address.
Register
grou nr
Register
adresses
Grou ’s functionality
0 00H...1FH General and channel s ecific settings
1 20H...3FH Frequency settings
2 40H...5FH Frequency multi lier/detune settings
3 60H...7FH Out ut level settings
4 80H...9FH Envelo e: attack rate settings
5 A0H...BFH Envelo e: decay rate settings
6 C0H...DFH Envelo e: sustain rate settings
7 E0H...FFH Envelo e: sustain level/release rate settings
Table 2. Register groups
Register grou s 0 and 1 need a bit more consideration, so lets look first at grou s 2...7,
which are more straightforward.
4.2 Register groups 2...7
In register grou s 2...7 all settings are o erator s ecific, meaning there is a register for
each of the 32 o erators and each o erator may have different settings. The lower 5 bits
of the register address can be thought as the o erator number (0...31) and it can be
ma ed to channel number (0...7) and o erator (O 0...O 3) using the table 1 on age 5.

OPQ Programmer’s Guide V 1.1 10
But I like to think this in even sim ler way. The setting can be written directly to s ecific
channel’s s ecific o erator by dividing address bits like this:
A7 A6 A5 A4 A3 A2 A1 A0
RG2 RG1 RG0 ON1 ON0 CN2 CN1 CN0
RG2...RG0 (2...7): Register grou number according to table 2.
ON1...ON0 (0...3): Channel’s o erator number, O 0...O 3.
CN2...CN0 (0...7): Channel number.
Exam les:
•Attack rate setting of Ch5, O 0: address = 85H
•Sustain rate setting of Ch1, O 3: address = D9H
4.3 Register group 1
Register grou 1 contains o erator frequency settings. These settings are not o erator
s ecific, they are o erator air s ecific. The o erator airs are O 1+O 3 and O 0+O 2
for each channel, so there are 16 o erator airs altogether.
Although there are only 16 frequencies to be set, two for each channel, register grou 1
still needs 32 registers. This is because each frequency is set by a 16-bit value, so there
must be a high byte and a low byte for each o erator air.
The address is formatted like this:
A7 A6 A5 A4 A3 A2 A1 A0
0 0 1 H P CN2 CN1 CN0
First three bits are 001, because this is register grou 1.
H: Is this the high or low byte of the 16-bit frequency value?
0 = high byte
1 = low byte
P: O erator air number
0 = O 1 + O 3
1 = O 0 + O 2
CN2...CN0: Channel number 0...7
Exam les:
•Frequency of Ch5, O 0 and O 2: hi-byte address = 2DH, lo-byte address = 3DH
•Frequency of Ch1, O 1 and O 3: hi-byte address = 21H, lo-byte address = 31H

OPQ Programmer’s Guide V 1.1 11
4.4 Register group 0
Register grou 0 is the most heterogeneous one, it needs some subdivision.
•Addresses 00H...0FH contain cou le of general (not channel or o erator s ecific)
settings and the status register. Most of the registers are not in use.
•Addresses 10H...1FH contain channel s ecific settings. They affect the channel as
a whole, all o erators at the same time. The 3 least significant bits of the address
are the channel number.
◦10H...17H = algorithm, feedback, out ut channel
◦18H...1FH = vibrato, tremolo, echo control

OPQ Programmer’s Guide V 1.1 12
5 Register contents
Each register is 8 bits wide. They are described here by register grou s.
All registers are write-only, the value written cannot be read back. Only exce tion is
register 00H, which is read-only.
Before writing to any register, software must check that BUSY-bit in register 00H is zero. At
least this is how the PSR-70 firmware does it, I have not tested what ha ens, if you don’t
obey this.
5.1 Register addresses 00H...0FH
This register area contains only few registers that actually do something. Most registers
seem not to affect anything.
5.1.1 Register 00H: Status register (read-only)
This is the only readable register. It returns status information. Following bits can be
inferred from the PSR-70 firmware:
D7 D6 D5 D4 D3 D2 D1 D0
BUSY - - - - INT1 - INT2
BUSY OPQ is busy. Every time PSR-70 firmware wants to write to any
register, it first waits that this bit goes to 0.
INT1 OPQ interru t is active. This bit is 1 when OPQ has set its IRQ-line
active.
INT2 Unknown. PSR-70 firmware tests for interru t by masking register 00H
value with 05H, so also this bit could be counted as an active
interru t. In my own tests I have never seen this bit active.
5.1.2 Register 03H: Timer control
This register controls the timer function. I have not figured out how the controlling is
actually done, but every time the interru t occurs, PSR-70 firmware writes 71H to this
register. As a consequence, next interru t occurs after 10 ms. I have co ied this behavior
to my own test rograms and it works. If I don’t write to this register, next interru t will not
occur.
This is not a counter start value or com are value, because it does not behave like that. It
is ossible to sto the interru ts coming by writing suitable values, but they don’t make
much sense. I have not found any way to control the interru t interval.

OPQ Programmer’s Guide V 1.1 13
5.1.3 Register 04H: LFO control
This controls the Low Frequency Oscillator. LFO can be used for tremolo and vibrato. LFO
waveform is always triangle.
D7 D6 D5 D4 D3 D2 D1 D0
- - - - LDIS LFO2 LFO1 LFO0
LDIS LFO enable/disable. 0 = LFO on, 1 = LFO off
LFO2...LFO0 LFO frequency, 0...7. Only values 0...6 are actually usable.
0 = about 4 Hz
...
6 = about 10 Hz
7 = about 47 Hz !
5.1.4 Register 05H: Key-on/key-off triggers
This register is the most heavily used register: it contains key-on/key-off triggers for all
o erators and all channels. This register is different from the basic rinci les in OPQ.
Normally there is a register for each channel or each o erator, but this one register
handles them all.
D7 D6 D5 D4 D3 D2 D1 D0
- KEY3 KEY2 KEY1 KEY0 CN2 CN1 CN0
KEY3 Key-on/off for this channel’s O 3.
KEY2 Key-on/off for this channel’s O 2.
KEY1 Key-on/off for this channel’s O 1.
KEY0 Key-on/off for this channel’s O 0.
CN2...CN0 Channel number 0...7
Writing a 1 to KEYn triggers envelo e’s attack hase. Writing a 0 triggers release hase.
Only KEYn changes are relevant: writing same KEYn value as before does not trigger
anything. Channel number defines, which channel’s o erators we are dealing with.
There are certain interde endencies and limitations between the o erators; these are
described in cha ter 3.3.

OPQ Programmer’s Guide V 1.1 14
5.2 Register addresses 10H...1FH
This register area contains channel s ecific settings. All settings affect the whole channel.
Channel number is the 3 least siginficant bits of the register address.
5.2.1 Registers 10H...17H: Algorithm / feedback / output channel
D7 D6 D5 D4 D3 D2 D1 D0
OCH1 OCH2 FB2 FB1 FB0 ALG2 ALG1 ALG0
OCH1 This channel’s out ut is connected to out ut channel 1 (so called
”right channel”).
OCH2 This channel’s out ut is connected to out ut channel 2 (so called ”left
channel”).
FB2...FB0 O 0’s feedback amount 0...7. 0 = no feedback, 7 = max feedback.
ALG2...ALG0 Channel’s algorithm 0...7. Algorithm numbering according to figure on
age 6.
At least one of bits OCH1 or OCH2 must be set to hear the channel.
In PSR-70, out ut channel 1 is connected through chorus effect (not art of OPQ chi ),
channel 2 is connected directly.
5.2.2 Registers 18H...1FH: Vibrato / tremolo / echo
D7 D6 D5 D4 D3 D2 D1 D0
ECHO VIB2 VIB1 VIB0 - - TR1 TR0
ECHO This bit adds a short linear release ram after o erator’s own release
has ended. Sounds like a short echo when normal release is short.
With long releases, you really cannot hear any effect.
VIB2...VIB0 Amount of vibrato (frequency modulation by LFO), 0...7. 0 = no
vibrato, 7 = max vibrato.
TR1...TR0 Amount of tremolo (am litude modulation by LFO), 0...3. 0 = no
tremolo, 3 = max tremolo.

OPQ Programmer’s Guide V 1.1 15
5.3 Register addresses 20H...3FH
Register grou 1 contains o erator frequency settings. All settings are o erator air
s ecific. The addessing scheme is described in cha ter 4.3.
5.3.1 Registers 20H...2FH: Octave / frequency hi-nibble
D7 D6 D5 D4 D3 D2 D1 D0
- OCT2 OCT1 OCT0 FRQ11 FRQ10 FRQ9 FRQ8
OCT2...OCT0 Octave number 0...7.
FRQ11...FRQ8 4 most significant bits of the 12-bit frequency number.
5.3.2 Registers 30H...3FH: Frequency lo-byte
D7 D6 D5 D4 D3 D2 D1 D0
FRQ7 FRQ6 FRQ5 FRQ4 FRQ3 FRQ2 FRQ1 FRQ0
FRQ7...FRQ0 8 least significant bits of the 12-bit frequency number.
Octave and frequency number together define the o erator’s nominal frequency. The
actual out ut frequency is still affected by detune and multi lier defined in registers
40H...5FH.
5.3.3 Octave and frequency numbering
Octaves are numbered so that the octave containing middle C (261.6 Hz) as the lowest
note is octave number 4.
The 12-bit frequency number s ans for one octave. Numbers used in PSR-70 firmware
are:
Note Freq number
C 4CAH
C# 513H
D 560H
D# 5B2H
E 609H
F 665H

OPQ Programmer’s Guide V 1.1 16
Note Freq number
F# 6C6H
G 72DH
G# 79AH
A 80EH
A# 889H
B 90AH
There is quite a large range of frequency numbers both under and above of the basic
octave. According to my own measurements, the highest note which can be reached by
changing only the frequency number, is the next octave’s G#. At the low end the range is
bigger: more than one octave below can be reached. This is good news while
im lementing itch bend: no need to hassle with octave numbers during bend.
5.4 Register addresses 40H...5FH
Register grou 2 contains frequency multi lier and detune settings. All settings are
o erator s ecific. The addressing scheme is described in cha ter 4.2.
These registers serve dual ur ose: the most significant bit defines the inter retation of
the lower bits.
5.4.1 MSB = 0: etune
D7 D6 D5 D4 D3 D2 D1 D0
0 - DET5 DET4 DET3 DET2 DET1 DET0
DET5...DET0 O erator’s detune amount 0...63.
O erator’s frequency will be detuned from the nominal frequency set by registers
20H...3FH. Detune can be u or down. Detune amount 32 (20H) is the mid- oint:
63 (3FH) = about 20 cents u
…
32 (20H) = no detune
…
0 (00H) = about 20 cents down
This means that you always have to write 20H to this register if you want the o erator to
be in tune!

OPQ Programmer’s Guide V 1.1 17
5.4.2 MSB = 1: Frequency multiplier
D7 D6 D5 D4 D3 D2 D1 D0
1 - - - MF3 MF2 MF1 MF0
MF3...MF0 O erator’s frequency multi lication factor value 0...15. The actual
frequency multi lier de ends on the factor value according to the table
below. The nominal frequency set by registers 20H...3FH will be
multi lied by this.
Factor value Multiplier
0 0.5
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 12
12 15
13 16
14 17
15 18
5.5 Register addresses 60H...7FH
Register grou 3 contains o erator out ut level settings. All settings are o erator s ecific.
The addressing scheme is described in cha ter 4.2.

OPQ Programmer’s Guide V 1.1 18
5.5.1 Output attenuation
D7 D6 D5 D4 D3 D2 D1 D0
- ATT6 ATT5 ATT4 ATT3 ATT2 ATT1 ATT0
ATT6...ATT0 O erator’s out ut attenuation 0...127.
0 = no attenuation (max out ut level)
…
127 = max attenuation (o erator silent)
Varying out ut level of a carrier varies the channel volume, and ossibly timbre, if there
are multi le carriers. Varying out ut level of a modulator varies the sound timbre.
5.6 Register addresses 80H...FFH
Rest of the register grou s (4...7) contain envelo e related settings. All settings are
o erator s ecific. The addressing scheme is described in cha ter 4.2.
5.6.1 Registers 80H...9FH: Envelope: attack rate / key scaler
D7 D6 D5 D4 D3 D2 D1 D0
KSE2 KSE1 KSE0 AR4 AR3 AR2 AR1 AR0
KSE2...KSE0 Key scaler for envelo e, 0...7. Scales all envelo e times (attack,
decay, release) by shortening times towards higher notes.
0 = light scaling (times are slightly shorter at higher notes)
…
7 = heavy scaling (times are much shorter at higher notes)
AR4...AR0 Attack rate 0...31.
0 = very slow (very long attack time)
…
31 = very fast (attack time about zero)

OPQ Programmer’s Guide V 1.1 1
5.6.2 Registers A0H...BFH: Envelope: decay rate / waveform
D7 D6 D5 D4 D3 D2 D1 D0
TE/RD WF - DR4 DR3 DR2 DR1 DR0
TE/RD Tremolo (AM by LFO) enable. This bit defines whether the channel’s
tremolo is a lied to this o erator.
At the same time, this bit acts as a re-trigger disable. When this bit is
set and o erator has a long release time, it won’t trigger again before
release curve has decreased near zero.
Why these two com letely se arate settings are combined to this
same bit, I cannot understand.
WF Basic waveform of this o erator.
0 = sine wave
1 = half-sine
DR4...DR0 Decay rate 0...31.
0 = very slow (very long decay time)
…
31 = very fast (decay time about zero)
5.6.3 Registers C0H... FH: Envelope: sustain rate
D7 D6 D5 D4 D3 D2 D1 D0
- - - SR4 SR3 SR2 SR1 SR0
SR4...SR0 Sustain rate 0...31.
0 = no decrease during sustain hase (sustain curve is
horizontal, as in basic ADSR)
…
31 = very fast decrease during sustain hase

OPQ Programmer’s Guide V 1.1 20
5.6.4 Registers E0H...FFH: Envelope: sustain level / release rate
D7 D6 D5 D4 D3 D2 D1 D0
SL3 SL2 SL1 SL0 RR3 RR2 RR1 RR0
SL3...SL0 Sustain level 0...15. This is the level where decay hase ends and
sustain hase starts.
0 = max level
…
15 = zero level (no sound during sustain hase)
Setting sustain level = 0 also leads to the length of decay hase being
0.
RR3...RR0 Release rate 0...15.
0 = very slow (very long release time)
…
15 = very fast (release time about zero)
Table of contents
Other Yamaha Synthesizer manuals

Yamaha
Yamaha S-30 Instruction Manual

Yamaha
Yamaha AN1x Instruction Manual

Yamaha
Yamaha 9000 Pro User manual

Yamaha
Yamaha S90 User manual

Yamaha
Yamaha Portable Grand DGX-200 Setup guide

Yamaha
Yamaha DX7II-FD/D User manual

Yamaha
Yamaha 20M User manual

Yamaha
Yamaha DX27 User manual

Yamaha
Yamaha CS-20M User manual

Yamaha
Yamaha CS-5 User manual

Yamaha
Yamaha Clavinova CLP-810S User manual

Yamaha
Yamaha 20M User manual

Yamaha
Yamaha CS-30 User manual

Yamaha
Yamaha V50 User manual

Yamaha
Yamaha Strings SS-30 User manual

Yamaha
Yamaha P-70 P-70S User manual

Yamaha
Yamaha TX816 Manual

Yamaha
Yamaha PF-1000 User manual

Yamaha
Yamaha EOS B900 User manual

Yamaha
Yamaha P-70 User manual