This method is expressed with four parameters as follows.
| F = A sin (ωct + I sin (ωmt)) | (1) |
Where A is the amplitude of output, I modulation index, ωc and ωm angular frequencies of carrier and modulator respectively. The equation (1) can be expressed alternately as follows.
| F = A (J0(I) sin (ωct) + J1(I) (sin ((ωc + ωm) t) - sin ((ωc - ωm) t) + J2(I) (sin ((ωc + 2ωm) t) - sin ((ωc - 2ωm) t) + ... | (2) |
Where Jn(I) is the nth-order Bessel function of the first kind. The amplitude of each harmonic component is expressed as a Bessel function of the modulation index. Sound synthesis by FM is found to be useful to obtain specific musical sounds or sound effects. String sounds, however, cannot be obtained as the distribution of harmonics is not uniform. A method called
"Feedback FM" has been incorporated to solve the problem. This method is characterized by the following equation:
| F = A sin (ωct + βF) | (3) |
Where β is the rate of feedback. The spectrum of harmonics produced by "feedback FM" has a saw-tooth waveform and therefore it can be used to synthesize string sounds.
Three function blocks, as follows, are needed to realize the above method of sound synthesis by FM.
The method of sound synthesis by FM can be realized by Figure I-1 with units (operator cells) which combine the three function blocks. By this method, all we have to do is to define a frequency parameter and EG parameters.
Figure I-1 Sound synthesis by FM with units
II. Functions
(II-1) Primary Functions
This OPLL is an FM Sound Generator LSI with a built-in 9-Bit DA Converter. It ahs two sound generation modes: 9 melody sounds or 6 melody sounds plus 5 rhythm sounds, both allowing for simultaneous generation of different tones, Selection between these two modes can be performed from the software. One of the special features of the LSI is its built-in Instruments ROM. As shown in the table hereunder, this ROM incorporates 15 melody tones and 5 rhythm tones, as well as all tones used for "CAPTAIN" and TELETEXT. Furthermore, a built-in Tone Register with capacity to store one tone allows for the creation of sound effects and original sounds. By controlling the parameters of this register (E, ω1, I and ω2 in the equation below), all kinds of harmonics can be created on the basis of the sample wave ω1.
FM = E sin (ω1t + I sin (ω2t))
Unlike conventional FM sound generators, this OPLL has a built-in Instruments ROM, permitting a substantial simplification of sound generation commands from the processor. First, the desired Instruments code is stored in the Instruments Selection Register. Then, after data has been input at the fixed intervals and timing, the unit starts generating sound. Automatic Processor play can be easily performed by writing data appropriate to the desired music into the Sustain and Volume registers. For using an original tone, the Instruments Selection Register must be cleared after writing data into the Tone Register as explained above. Rhythm sounds are generated by turning ON or OFF the corresponding bits in the Rhythm Control Register. In this case, the specified data must be input into the Key ON/OFF and F-Number Registers 8CH and 9CH.
| Symbol | I/O | Function | |||||||||||||||||||||||
| XIN | I | A quartz oscillator (3.579545 MHz) is connected between these two points. | |||||||||||||||||||||||
| XOUT | O | ||||||||||||||||||||||||
| D0~D7 | I/O | 8-Bit Data Bus for OPLL control. | |||||||||||||||||||||||
| A0 | I | For controlling the D0~D7 Data Bus.
|
|||||||||||||||||||||||
| CS | |||||||||||||||||||||||||
| WE | |||||||||||||||||||||||||
| IC | I | Resets the system when the level is low, clearing OPLL Registers. | |||||||||||||||||||||||
| MO | O | Melody (MO) and Rhythm (RO) outputs. Both outputs are source followers. Integrated circuitry and an amplifier are necessary for subsequent processing. | |||||||||||||||||||||||
| RO | |||||||||||||||||||||||||
| VCC | I | +5V Power Pin. | |||||||||||||||||||||||
| GND | - | Ground Pin. |
| CS | WE | A0 | ||
| 1 | 1 | * | * | Inactive mode |
| 2 | 0 | 0 | 0 | Address write mode |
| 3 | 0 | 0 | 1 | Data write mode |
| 4 | 0 | 1 | 0 | Bus inhibited |
OPLL needs a certain length of wait time between successive writings of addresses or data into the registers. The wait time varies between address and data write modes. The processor waits for a time in Table II-2 before OPLL performs another function. If the wait time is not observed data will be uncertain.
| Mode | Wait time |
| Address write | 12 cycles |
| Data write | 84 cycles |
Channel data, like the F-number, controls two slots, No. 1 and 2.
In FM mode, the No. 1 slot handles the modulating waves and the No. 2 slot the carrier. The No. 1 slot can also be set for feedback FM mode. See (III-1-3) for setting this mode.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Slot No. |
| 1 | 2 | 3 | 1 | 2 | 3 | 4 | 5 | 6 | 4 | 5 | 6 | 7 | 8 | 9 | 7 | 8 | 9 | Channel No. |
| 1 | 2 | 1 | 2 | 1 | 2 | Slot No. when a channel is seen | ||||||||||||
| 20 | 21 | 22 | 20 | 21 | 22 | 23 | 24 | 25 | 23 | 24 | 25 | 26 | 27 | 28 | 26 | 27 | 28 | Relationship between the data of each channel and the register. (Example $20 to $28) |
| Address | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| 00 | AM | VIB | EG-TYP | KSR | MUL | User Tone Register (c): Carrier |
|||
| 01 | |||||||||
| 02 | KSL | TL | |||||||
| 03 | DC | DM | FB | ||||||
| 04 | AR | DR | |||||||
| 05 | |||||||||
| 06 | SL | RR | |||||||
| 07 | |||||||||
| 0E | R | BD | SD | TOM | T‑CY | HH | Rhythm Control | ||
| 0F | TEST | OPLL Test Data (Normal '0') | |||||||
| 10~18 | F-Num. 0~7 | F-Number LSB 8 bits | |||||||
| 20~28 | SUS ON/OFF | KEY ON/OFF | BLOCK 0~2 | F-Num. 8 | F-Number MSB, octave set Key ON/OFF register Sustain ON/OFF register |
||||
| 30~38 | INST | VOL | Instruments Selection and Volume Register | ||||||
Register map for Rhythm mode (addr. $0E D5 = 'H')
| Address | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| 36 | BD-VOL | Rhythm volume register |
|||||||
| 37 | HH-VOL | SD-VOL | |||||||
| 38 | TOM-VOL | T-CY-VOL | |||||||
| Address | Bit | ||
| 1 | 00 (m) 01 (c) |
D7 |
Amplitude modulation ON/OFF switch |
| D6 | Vibrato ON/OFF switch | ||
| D5 | Sustained tone/decaying tone switch. 0: Percussive tone 1: sustained tone | ||
| D4 | RATE key scale | ||
| D0~D3 | Controls Multiple sample wave-harmonics relationship | ||
| 2 | 02 (m) 03 (c) |
D6 D7 | LEVEL key scale |
| 3 | 02 | D0~D5 | Modulator total level. Modulation index control |
| 4 | 03 | D4 (c) D5 (m) |
Carrier and modulated wave distortion waveform (flat wave rectification) ON/OFF switch |
| D0~D2 | FM feedback constant (m) | ||
| 5 | 04 (m) 05 (c) |
D4~D7 | Attack envelope change rate control |
| D0~D3 | Decay envelope change rate control | ||
| 6 | 06 (m) 07 (c) |
D4~D7 | Indication of decay-sustain level |
| D0~D3 | Release envelope change rate control | ||
| 7 | 0E | D5 | Rhythm sound mode selection. 1: Rhythm sound mode 0: Melody sound mode |
| D0~D4 | Rhythm instruments ON/OFF switch | ||
| 8 | 10~18 | D0~D7 | F-Number LSB 8 bits |
| 9 | 20~28 | D5 | Sustain ON/OFF switch |
| D4 | Key ON/OFF switch | ||
| D1~D3 | Octave setting | ||
| D0 | F-Number MSB | ||
| 10 | 30~38 | D4~D7 | Instruments selection |
| D0~D3 | Volume data |
Tone Data
| INST | Instrument |
| 0 | Original |
| 1 | Violin |
| 2 | Guitar |
| 3 | Piano |
| 4 | Flute |
| 5 | Clarinet |
| 6 | Oboe |
| 7 | Trumpet |
| 8 | Organ |
| 9 | Horn |
| 10 | Synthesizer |
| 11 | Harpsichord |
| 12 | Vibraphone |
| 13 | Synthesizer Bass |
| 14 | Acoustic Bass |
| 15 | Electric Guitar |
| BD | Bass Drum |
| SD | Snare Drum |
| TOM | Tom-tom |
| T-CY | Top Cymbal |
| HH | High Hat |
All registers are cleared to 0 by initialization (initial clear IC terminal = 0).
(III-1-1) TEST: Address [$0F]
This address is established to test the LSI.
Normally all addresses are 0.
(III-1-2) AM/VIB/EG-TYP/KSR/MUL: Address [$00~$01]
This register controls the multiplying factor that converts F-number into the carrier ($01) and modulator ($00) frequencies which matches the sound frequency components, and the envelope shape etc.
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| AM | VIB | EG-TYP | KSR | MUL | |||
| 23 | 22 | 21 | 20 | ||||
<Example>
F(t) = E sin (ωft + I sin (7 ωft))
Table III-1 Multiplying factors
| MUL | Multiplying factor |
| 0 | ½ |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| A | 10 |
| B | 10 |
| C | 12 |
| D | 12 |
| E | 15 |
| F | 15 |
Since almost all musical steps become high for natural instruments, the sound can quickly change to high or low. This is accomplished by the key scale of RATE. Values in Table III-2 include the speed offset for the musical steps. Therefore, the actual RATE set for the ADSR will be these values which include the offset.
RATE = 4 × R + Rks
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Octave | ||||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | BLOCK Data | ||||||||
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | F-Num MSB |
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | D4 = 0 key scale |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | D4 = 1 key scale |
When D5 = '0' it will be percussive tone. When D5 = '1' it will be sustained tone. These sound modes are different in that the RELEASE RATE usage differs. The difference is shown in Figure III-1.
Percussive tone (D5 = 0)
Sustained tone (D5 = 1)
Fig. III-1
Total Level is used to control the modulation index (tone) by adding attenuation to the output of the envelope generator. Level key scale (KSL) ensures, like the key scale of RATE, that the output level of natural instruments falls as the pitch of sound rises.
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| $02 | KSL | TL | ||||||
| $03 | DC | DM | FB | |||||
| D5 | D4 | D3 | D2 | D1 | D0 | |
| Attenuation level | 24 dB | 12 dB | 6 dB | 3 dB | 1.5 dB | 0.75 dB |
| D7 | D6 | Attenuation rate |
| 0 | 0 | 0 dB/oct |
| 1 | 0 | 1.5 dB/oct |
| 0 | 1 | 3 dB/oct |
| 1 | 1 | 6 dB/oct |
Table III-5 Attenuation at each F-Number at 3 dB/OCT
| OCT | F-Number | |||||||||||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.75 | 1.125 | 1.5 | 1.875 | 2.25 | 2.525 | 3 |
| 2 | 0 | 0 | 0 | 0 | 0 | 1.125 | 1.875 | 2.525 | 3 | 3.75 | 4.125 | 4.5 | 4.875 | 5.25 | 5.625 | 6 |
| 3 | 0 | 0 | 0 | 1.875 | 3 | 4.125 | 4.875 | 5.625 | 6 | 6.75 | 7.125 | 7.5 | 7.875 | 8.25 | 8.625 | 9 |
| 4 | 0 | 0 | 3 | 4.875 | 6 | 7.125 | 7.875 | 8.625 | 9 | 9.75 | 10.125 | 10.5 | 10.875 | 11.25 | 11.625 | 12 |
| 5 | 0 | 3 | 6 | 7.875 | 9 | 10.125 | 10.875 | 11.625 | 12 | 12.75 | 13.125 | 13.5 | 13.875 | 14.25 | 14.825 | 15 |
| 6 | 0 | 6 | 9 | 10.875 | 12 | 13.125 | 13.875 | 14.825 | 15 | 15.75 | 16.125 | 16.5 | 16.875 | 17.25 | 17.625 | 18 |
| 7 | 0 | 9 | 12 | 13.875 | 15 | 16.125 | 16.875 | 17.625 | 18 | 18.75 | 19.125 | 19.5 | 19.875 | 20.25 | 20.625 | 21 |
Notes:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
| Modulation index | 0 | Π/16 | Π/8 | Π/4 | Π/2 | Π | 2Π | 4Π |
[Π = pi in this font]
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||
| AR | DR | ||||||||
| $04 | 23 | 22 | 21 | 20 | 23 | 22 | 21 | 20 | Modulator |
| $05 | 23 | 22 | 21 | 20 | 23 | 22 | 21 | 20 | Carrier |
Sustain Level is the critical point that, when sustaining sound has been attenuated to the prescribed level, the level is maintained thereafter. With percussive tone, it is the critical point of change from decay mode to release mode.
Release Rate is the disappearing rate of sustaining sounds after key OFF. For percussive tone, attenuation above the sustain level is expressed with decay rate and attenuation below the sustain level with release rate.
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||
| SL | RR | ||||||||
| $06 | 24 dB | 12 dB | 6 dB | 3 dB | 23 | 22 | 21 | 20 | Modulator |
| $07 | 24 dB | 12 dB | 6 dB | 3 dB | 23 | 22 | 21 | 20 | Carrier |
* Attenuation times of the release rate are the same as that of the decay rate.
Table III-7 Attack and decay times in relation to RATE| RATE | EG decay time | EG attack time | |||
| RM | RL | 0 dB - 40 dB | 10% - 90% | 0 dB - 40 dB | 10% - 90% |
| 15 | 3 | 1.27 | 0.52 | 0.00 | 0.00 |
| 15 | 2 | 1.27 | 0.52 | 0.00 | 0.00 |
| 15 | 1 | 1.27 | 0.52 | 0.00 | 0.00 |
| 15 | 0 | 1.27 | 0.52 | 0.00 | 0.00 |
| 14 | 3 | 1.47 | 0.60 | 0.14 | 0.10 |
| 14 | 2 | 1.71 | 0.60 | 0.18 | 0.12 |
| 14 | 1 | 2.05 | 0.82 | 0.22 | 0.14 |
| 14 | 0 | 2.55 | 1.03 | 0.28 | 0.18 |
| 13 | 3 | 2.94 | 1.21 | 0.30 | 0.22 |
| 13 | 2 | 3.42 | 1.37 | 0.34 | 0.22 |
| 13 | 1 | 4.10 | 1.65 | 0.42 | 0.26 |
| 13 | 0 | 5.11 | 2.05 | 0.50 | 0.32 |
| 12 | 3 | 5.87 | 2.41 | 0.54 | 0.36 |
| 12 | 2 | 6.84 | 2.74 | 0.60 | 0.38 |
| 12 | 1 | 8.21 | 3.30 | 0.70 | 0.44 |
| 12 | 0 | 10.22 | 4.10 | 0.84 | 0.54 |
| 11 | 3 | 11.75 | 4.03 | 0.97 | 0.64 |
| 11 | 2 | 13.60 | 5.47 | 1.13 | 0.72 |
| 11 | 1 | 16.41 | 6.60 | 1.37 | 0.84 |
| 11 | 0 | 20.44 | 8.21 | 1.69 | 1.09 |
| 10 | 3 | 23.49 | 9.65 | 1.93 | 1.29 |
| 10 | 2 | 27.36 | 10.94 | 2.25 | 1.45 |
| 10 | 1 | 32.03 | 13.19 | 2.74 | 1.69 |
| 10 | 0 | 40.07 | 16.41 | 3.30 | 2.17 |
| 9 | 3 | 46.99 | 19.31 | 3.86 | 2.57 |
| 9 | 2 | 54.71 | 12.80 | 4.51 | 2.98 |
| 9 | 1 | 65.65 | 26.39 | 5.47 | 3.30 |
| 9 | 0 | 81.74 | 32.03 | 6.76 | 4.34 |
| 8 | 3 | 93.97 | 38.62 | 7.72 | 5.15 |
| 8 | 2 | 109.42 | 43.77 | 9.01 | 5.79 |
| 8 | 1 | 131.31 | 52.78 | 10.94 | 6.76 |
| 8 | 0 | 163.49 | 65.65 | 13.52 | 8.69 |
| 7 | 3 | 187.95 | 77.24 | 15.45 | 10.30 |
| 7 | 2 | 218.84 | 87.54 | 18.02 | 11.59 |
| 7 | 1 | 262.61 | 185.56 | 21.00 | 13.52 |
| 7 | 0 | 326.98 | 131.31 | 27.03 | 17.30 |
| 6 | 3 | 375.98 | 154.40 | 30.90 | 20.60 |
| 6 | 2 | 437.69 | 175.07 | 36.04 | 23.17 |
| 6 | 1 | 525.22 | 211.12 | 43.77 | 27.03 |
| 6 | 0 | 653.95 | 262.61 | 54.87 | 34.76 |
| 5 | 3 | 751.79 | 308.96 | 61.79 | 41.19 |
| 5 | 2 | 875.37 | 350.15 | 72.89 | 46.34 |
| 5 | 1 | 1050.45 | 422.24 | 87.54 | 54.07 |
| 5 | 0 | 1307.91 | 525.22 | 108.13 | 69.51 |
| 4 | 3 | 1503.58 | 617.91 | 123.50 | 82.39 |
| 4 | 2 | 1750.75 | 700.30 | 144.48 | 92.69 |
| 4 | 1 | 2180.89 | 844.40 | 175.07 | 108.13 |
| 4 | 0 | 2615.82 | 1050.45 | 216.27 | 139.63 |
| 3 | 3 | 3007.16 | 1235.82 | 247.16 | 164.70 |
| 3 | 2 | 3501.49 | 1400.60 | 280.36 | 185.37 |
| 3 | 1 | 4201.79 | 1680.95 | 358.15 | 216.27 |
| 3 | 0 | 5231.64 | 1280.89 | 432.54 | 278.06 |
| 2 | 3 | 6014.32 | 2471.64 | 494.33 | 329.55 |
| 2 | 2 | 7002.98 | 2801.19 | 576.72 | 370.75 |
| 2 | 1 | 8403.58 | 3377.91 | 780.30 | 432.54 |
| 2 | 0 | 10463.30 | 4201.79 | 865.88 | 556.12 |
| 1 | 3 | 12078.66 | 4943.20 | 988.66 | 659.11 |
| 1 | 2 | 14606.80 | 5602.39 | 1153.43 | 741.49 |
| 1 | 1 | 16807.20 | 6755.82 | 1400.60 | 865.80 |
| 1 | 0 | 20926.60 | 8403.58 | 1730.15 | 1112.24 |
Likely transcription errors here, especially lower in the table
Note: When RATE is '0', the envelope will not change.
Data defining a musical scale and interval. The F-Number is contained in the registers $1* and $2*.
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| $10~$18 | F-Number | |||||||
| 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |
| $20~$28 | SUS | KEY | BLOCK | F-Num | ||||
| 22 | 21 | 20 | 28 | |||||
The OPLL generates the necessary frequency when an appropriate increment of phase is given. The increment is determined by the F-Number, Block, and Multiple information. The following formula gives the increment for a desired frequency.
| ΔP = fmus × 218 / fsam | (1) |
| ΔP = 2B × F' × MUL | (2) |
F = (fmus × 218/fsam) / 2b-1 @ MUL = 1
| Sound steps | Frequency (4 oct) | F-Number | $2* | $1* | |||||||
| D0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
| C# | 277.2 | 181 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
| D | 293.7 | 192 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| D# | 311.1 | 204 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
| E | 329.6 | 216 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
| F | 349.2 | 229 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
| F# | 370.0 | 242 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 |
| G | 392.0 | 257 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| G# | 415.3 | 272 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| A | 440.0 | 288 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| A# | 466.2 | 305 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
| B | 193.9 | 323 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
| C | 523.3 | 343 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
| Sound steps | Frequency (4 oct) | F-Number | $2* | $1* | |||||||
| D0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
| G | 392.2 | 257 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| G# | 415.3 | 272 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| A | 440.0 | 288 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| A# | 466.2 | 305 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
| B | 493.9 | 323 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
| C | 523.3 | 343 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
| C# | 554.4 | 363 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| D | 587.3 | 385 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| D# | 622.2 | 408 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| E | 659.3 | 432 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| F | 698.5 | 458 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
| F# | 740.0 | 485 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
To control ON/OFF of the Rhythm mode selection and percussion instruments.
| D5 | D4 | D3 | D2 | D1 | D0 |
| RHYTHM | BD | SD | TOM | TOP-CY | HH |
D0~D5 (RHYTHM): When D5 = 1, OPLL is in Rhythm mode with percussion sounds produced through channels 7~9 (see page 5). In this mode, the melody section is limited to six sounds. D0~D4 controls ON/OFF of percussion instruments. Therefore Key-ON bits $26, $27, $28 must always be cleared to 0. Slots 13~18 are related with percussion sounds as shown in Table III-9, and data of F-Num must input values that match percussion sounds.
| Instrument | Slot |
| BD | 13, 16 |
| SD | 17 |
| TOM | 15 |
| TOP-CYM | 18 |
| HH | 14 |
| Address | Data |
| 16 | 20 |
| 17 | 50 |
| 18 | C0 |
| 26 | 05 |
| 27 | 05 |
| 28 | 01 |
Determine the voice (15 voices preset in ROM and original voices) and the volume.
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
| $30~$38 | INST | VOL | ||||||
| INST | Instrument |
| 0 | Original |
| 1 | Violin |
| 2 | Guitar |
| 3 | Piano |
| 4 | Flute |
| 5 | Clarinet |
| 6 | Oboe |
| 7 | Trumpet |
| 8 | Organ |
| 9 | Horn |
| A | Synthesizer |
| B | Harpsichord |
| C | Vibraphone |
| D | Synthesizer Bass |
| E | Acoustic Bass |
| F | Electric Guitar |
| D3 | D2 | D1 | D0 |
| 24 dB | 12 dB | 6 dB | 3 dB |
In the rhythm mode (addr = $0E, D5 = 'H'), each rhythm volume for $36~$38 are set as follows:
| Addr | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| $36 | BD | |||||||
| $37 | HH | SD | ||||||
| $38 | TOM | T-CYM | ||||||
Figure III-2 Envelope waveform
The DAC performs DA conversion for all the sounds then outputs them as shown in Figure III-3 (a). To sum up the sounds, an integrated circuit is added to MO/RO. (Figure III-3 (b)) Since the level of percussive sounds seems lower, when compared to musical sounds, the same percussive sounds are output twice. (Figure III-3 (c))
Figure III-3
IV. Interfacing
OPLL, controlled by a microprocessor or microcomputer, outputs an audio signal, being an analog signal converted with a D/A converter. To obtain sound from OPLL, it is necessary to interface it with other devices. This chapter describes interfacing.
Figure IV-1 System block diagram
(IV-1) Clock Generation
OPLL operates in the range of 2 to 4 MHz. Amplitude modulation, the frequency of the vibrato oscillator, and attack decay speeds are designed to take 3.6 MHz (3.579545 MHz) as the reference frequency. Therefore, when this LSI is used, it will be economical to connect the quartz crystal oscillator (for color burst signals) with Xin Xout.
(IV-2) Audio Output Interface
An external integrated circuit is needed for the OPLL's music sound output, which is a pulse signal as described earlier. The output (and buffer) of this integrated circuit may be directly connected to an audio amplifier. For better sound quality, you can remove step noises by inserting a low-pass filter (cutoff frequency: 20kHz or so) between the integrated circuit and amplifier. Click noises accompanying power-ON/OFF will be necessary to protect the audion equipment (amplifier and speakers).
Figure IV-3 Interfacing processor
Since the FM's basic parameter (carrier output level, modulator output level, modulator feedback level, carrier frequency, modulator frequency) is handled effectively, the pitch, tone and volume of sounds can all be decided. Table V-1 shows the relationship between FM parameters and OPLL parameters.
(V-3) Examples of Sound Synthesis
Table V-1 Fundamentals of sound synthesis
| Item | Related parameters | MIN <- (Change of sounds) -> MAX |
| Output level of carrier |
TOTAL LEVEL (Data of A, D, S, R and key scale data) |
Low volume <-> High volume |
| Output level of modulator | Dull sound <-> Bright sound | |
| Feedback level of modulator | FB | Ordinary tone <-> Sharp tone (Noise) |
| Carrier frequency |
MULTI (BLOCK/F-Number) |
Low pitch <-> High pitch |
| Frequency of modulator | Near overtone <-> Far overtone |
Set MUL to '1', for both operators, to produce an overtone of higher frequency. (Increases are integer multiples)
Change the output of the modulator to adjust the tone. When determining the level of operator 1, adjust the sounds for rich overtones like those of the piano. Then make adjustment for sounds of higher frequencies by level scaling of operator 1. Level scaling is necessary so that the waveforms are nearly sine waves in high frequency ranges.
Determine sound volume, tone, and envelope. Set operator 2 so that the sounds have a sharp attack and long sustain. (This can be set varying degrees.) Let operator 1, the modulator, produce many overtones at the attack time and later keep a certain composition of overtones unchanged. To adjust sound volume, apply key scaling to operator 2. Perform RATE scaling to make sounds of higher pitches sharp.
Now sound synthesis is almost completed. Tones will vary somewhat depending on the setting of EG. Make a final adjustment with the output level and feedback level of the operators. If the sound is too metallic, for example, resuce the level of operator 1.
Finally, add tremolo effect by LFO to simulate the sounds of the electric piano. This is possible by using the built-in amplitude modulation function or by refreshing the value of TOTAL LEVEL in intervals of 2~6Hz (possibly with triangular waves) by software.
Adjust the total level of operator 1, the modulator, at $10~$28 and the feedback level to the maximum of '7' for bright tones.
Set both operators at '1'.
Adjust two EGs for a slow attack. For brass sounds, ensure the modulator attack is slower than the carrier's. This is necessary to express the characteristic attack of brass sounds.
High-pitched sounds are not crisp because the envelope is set for a slow rise. Apply rate scaling for a more natural feeling of fast passages.
With a brass instrument, the pitch of long notes fluctuates a little even when a good player is playing. To express this, apply vibrato effect.
OPLL includes a noise oscillator obtained by composing a white noise generator with several frequencies. This noise oscillator is specified by the frequency information (BLOCK, F-Number, Multiple) of the 8 and 9 channels. When composed with white noise, phase output suitable for percussion instruments is generated and given to the operator. Thus phases of four instruments are generated from two sets of frequency information. It is known empirically that the optimum ration of two frequencies is 3:1 (f7CH = 3×f8CH). Now phase data of individual instruments are obtained. Next, we multiply this output with envelope information. Since the envelope is set as 1 slot -> 1 percussion instrument, values that reflect the characteristics of individual percussion instruments, as with melody instruments, are set in ROM. (Refer to III-1-7)
| ITEM | RATING | UNIT |
| Pin voltage | 0.3~7.0 | V |
| Ambient operating temperature | 0~70 | °C |
| Storage temperature | -50~125 | °C |
| ITEM | SYMBOL | MIN. | TYP. | MAX. | UNIT |
| Supply voltage | VCC | 4.75 | 5 | 5.25 | V |
| GND | 0 | 0 | 0 | V |
| ITEM | SYMBOL | CONDITION | MIN. | TYP. | MAX. | UNIT | |
| High level input voltage | All input | VIH | 2.0 | VCC | V | ||
| Low level input voltage | All input | VIL | -0.3 | 0.8 | V | ||
| Leak input current | A0, WE | IL | Vin = 0~5 V | -10 | 10 | µA | |
| Three-state (off) input current | D0~D7 | ITSL | Vin = 0~5 V | -10 | 10 | µA | |
|
Analog output voltage |
MO | VMOA | RLOAD = 2.2K | 1.6 | VPP | ||
| RO | VROA | RLOAD = 2.2K | 1.6 | VPP | |||
| Pullup resistance | IC, CS | RPU | 100 | KΩ | |||
| Input capacity | All input | CI | 10 | pF | |||
| Output capacity | All input | CO | 10 | PF | |||
| Power current | ICC | 40 | 80 | MA | |||
| ITEM | SYMBOL | CONDITION | MIN. | TYP. | MAX. | UNIT | |
| Address setup time | A0 | TAS | Fig. A-1 | 10 | ns | ||
| Address hold time | A0 | TAH | Fig. A-1 | 10 | ns | ||
| Chip select write width | CS | TCSW | Fig. A-1 | 80 | ns | ||
| Write pulse write width | WE | TWW | Fig. A-1 | 110 | ns | ||
| Write pulse setup time | WE | TWS | Fig. A-1 | 30 | ns | ||
| Write data setup time | D0~D7 | TWDS | Fig. A-1 | 10 | ns | ||
| Write data hold time | D0~D7 | TWDH | Fig. A-1 | 25 | ns | ||
| Reset pulse width | IC | NICW | Fig. A-2 | 80 | Cycle | ||
| ITEM | SYMBOL | CONDITION | MIN. | TYP. | MAX. | UNIT | |
| Maximum output oscillation | RO, MO | Vout | Fig. IV-2 | 2/5 VCC | VPP | ||
| Resolution | RO, MO | Fig. IV-2 | 9 | Bit | |||
| Noise | RO, MO | Fig. IV-2 | -65 | dB | |||
Note: The noise level should be suitable for the volume level.
NOTE: TCSW, TWW and TWDH have been measured with either CS or WE high.
Fig. A-1 Write Timing