MIDIbox FM utilizies the Yamaha YMF262 sound chip (also known as OPL3) for generating the famous FM sounds known from Soundblaster (compatible) soundcards of the early 90s. In addition to the OPL3 specific features (6 four-operator voices, 5 percussion instruments) some software implemented modulation sources have been added to allow more expressive and very experimental sound creations.
A single operator provides:
- 8 different waveforms
- an adjustable output level with 6-bit resolution which affects the output amplitude (carrier) or the modulation index (modulator)
- a frequency multiplier with 4-bit resolution
- a simple envelope generator (ADSR), each parameter with 4-bit resolution. Sustain phase can be omitted
- key scaling (0 db/oct, 1.5dB/oct, 3.0dB/oct, 6.0dB/oct)
- envelope scaling (higher notes are shorter then lower notes)
- Vibrato and Tremolo (fixed frequency)
- Feedback with 3-bit resolution (only the first OP)
A single voice consists of 4 operators and provides:
- only a single pitch for all 4 operators (frequency detuning between the operators of one voice not possible)
- 4 different OP connection modes (algorithms)
- 2 software implemented LFOs which can be assigned to the operator volumes and to the pitch
- 1 software implemented envelope generator which can be assigned to the operator volumes and to the pitch
A single instrument can control one or more voices (up to 6), it provides:
- mono/legato/poly play mode
- automatic voice assignment (longest note will be killed first)
- adjustable pitch bender range and finetune
- portamento (optionally with "Sus-Key" playing behaviour)
- Velocity can be assigned to any CC sound parameter
- Modulation Wheel can be assigned to any CC sound parameter
- Aftertouch can be assigned to any CC sound parameter
- A 32-step wavetable sequencer with up to 500 Hz play rate which can be assigned to 3 CC sound parameters
- LFOs/EG5/WT sequencer can be synchronized to MIDI clock
A LFO provides:
- 5 waveforms
- rate from 0.032 Hz to 45 Hz
- key sync and start phase (0°-360°)
- the LFO signal can control: the pitch depth of a voice, the four operator volumes, the frequency of the co-LFO, the amplitude of an AOUT (CV) output
- separate depth parameters for all modulation targets
The EG5 provides:
- an attack-decay1-decay2-sustain-release curve (7 parameters). Rates from 2 mS to 27 seconds
- an assignable non-linear curve function for attack/decay/release
- the EG5 signal can control: the pitch depth of a voice, the four operator volumes, the frequency of LFO1, the amplitude of a CV output
- separate depth parameters for all modulation targets
The wavetable sequencer provides:
- 3 assignable CC parameters
- 32 steps
- absolute (0-127) or relative (-64..63) control
- 3 play modes (note, note step, freerunning)
- frequency rate from 2 Hz..500 Hz
An ensemble consists of 4 instruments and provides:
- the patch and bank number (8 * 128 patches can be stored in 8 BankSticks)
- a separate MIDI channel for each instrument
- keyboard split zone
- overall volume
- velocity curve (Flat/Hard/Soft
- Semitones Transpose function
- Unisono function (allocates two detuned voices)
- separate routing of the OP1/2 and OP3/4 outputs to the 4 audio channels
The separate percussion channel provides:
- 2-OP Bass Drum
- 1-OP Snare
- 1-OP Tom
- 1-OP HiHat (open and closed)
- 1-OP Cymbal
- Adjustable frequencies (BD: independent, Tom/HiHat/Cymbal: coupled)
- separate keyboard zones for each drum
- realtime editing of all sound parameters via CC, SysEx or control surface
- control surface with 2x40 LCD, 5 rotary encoders, 24 buttons, 34 LEDs (see also the MIDIbox FM manual)
- each BankStick can store 128 sound patches, 16 drumsets and 32 ensembles.
- up to 8 BankSticks can be connected
- 8 optional CV outputs which can be assigned to the LFOs and EG5s for controlling analog filters, VCAs, effects, etc...
MIDIbox FM Demo Samples
Most of these samples don't reflect the typical OPL3 sound, but should demonstrate the possibilites of the MIDIbox FM in conjunction with external Fx gear.
The very first demo song. 4 voices are playing an E-Piano like sound, the morphed arpeggio sequence is played live with the MIDIbox SEQ. From 0:00-0:32 you will hear the raw sound output of the OPL3, at 0:34 it has been enriched with a chorus and delay effect.
The second demo song was recorded after the FM drums were working. The background noise will disappear once the LM314 OPA has been replaced by a high quality TL074
This is a collection of some nice sounds and tunes which have been created during development of the sound engine, mostly to test functions like portamento, envelopes and LFOs
A FM drum groove with an external echo effect. Sound parameters are tweaked during the drums are playing to demonstrate some possible variations
The 16 MIDIbox FM drumset presets
Some random patches which have been created with the mk_fm_random.pl script - they demonstrate the possibilities of the mighty MIDIbox FM sound engine. The stereo effects are realized by playing the same patch with four instruments. If the wavetable sequencer or the LFOs are in freerunning mode, the output of each instrument sounds (very) different. The outputs are routed to separate audio channels, which are placed at different panorama positions in the stereo sum. An external delay effect has also been added to improve the results.
This demo demonstrates the possibilities of the AOUT module - an external Moog filter (Schematic from Rick Jansen) has been added and is controlled from one of the eight CV outputs. Since I only own one filter, the different sounds have been recorded one after another via overdub. The song stops at 1:29 (no download error)
Are you able to realize the same sounds with a common FM synth? ;-)
A demo which uses MIDIbox FM + 4 MBHP_AOUT_LC modules + 4 CEM3378 filters - my current setup. See also this forum article.
Burypio created some tunes with OPL3 typical sounds, see this forum article.
A Ctrlr based SysEx Editor has been created which gives you access over all engines remotely from your computer.
Here some teasing snapshots:
Ctrlr works standalone, but also as AU and VST plug-in under MacOS, Windows and Linux!
The panel is part of the the Device Data Base, so that it can be downloaded directly from Ctrlr (or from this webpage)
Please follow this forum article for the latest informations.
MIDIbox FM can be extended successively from a simple synth module without LCD and control elements to a complete rack (or desktop) unit with control surface.
Sounds can be played once the MBHP_OPL3 module has been connected to the MBHP_CORE. All parameters can be edited with the SysEx editor in realtime from a Windows/Mac/Linux computer. A BankStick is highly recommended, otherwise only one patch, one ensemble and one drumset can be stored in the internal memory. Wavetables can only be stored in BankSticks. Note also that up to eight BankSticks can be connected - the large storage is especially useful if fast access to the preset banks is desired. Each BankStick can store 128 Soundpatches, 16 Drumsets and 32 Ensembles.
The next extension step is the use of one 2x40 LCD + eight softbuttons + one ESC button + one CFG button + four Instr/OP select buttons + 10 LEDs + one data dial (rotary encoder) - this enables you to edit all sound parameters directly on the device. One MBHP_DINX4 module and one MBHP_DOUTX4 module is required to interface these parts to the core.
The last extension step is the use of four V-Pots + the 6+4 buttons and 6*4 LEDs of the selection matrix. No additional DINX4 or DOUTX4 module is required for this extension.
Please read also the MIDIbox FM Manual which discusses the details of the user interface!
Below a list of the complete "MIDIbox FM" - costs can be reduced by choosing cheaper buttons, a cheaper case/panel and by organizing collective orders in the MIDIbox Forum!
Note that premade PCBs can be purchased at www.mikes-elektronikseite.de or http://mbhp.coinoptech.com. SmashTV also purchases complete kits of the CORE/DINX4 and DOUTX4 modules!!!
Prices and ordering numbers are from Reichelt if not specified. A list of alternative electronic shops outside germany can be found at the WhereToOrder page.
|the brain of MIDIbox FM
||Parts: ca. 20 EUR
PCB: ca. 6 EUR
|when the core is the brain, this is the mouth! :-)
||Parts: ca. 8 EUR
PCB: ca. 6 EUR
1 or 2 YAC512
|The Yamaha OPL3 chip and DAC(s)
||re-use from second hand vintage soundcard(s) (e.g. Soundblaster Pro)
||Wall adapter (Power supply) 9V / 500 mA "MW 17-GS/6"
||ca. 6 EUR
|PSU +/- 12V
||Any hint? I'm using a 2x12V transformer which was really cheap, but tinkering with high voltages is only suggested for electronic experts! Please inform me about cheap alternatives!
||1 x 24C256, Part #ST 24C256 BN6 from Reichelt. Note: the Atmel EEPROM has only two chip select lines, this means that only 4 BankSticks can operate in parallel (see also BankStick page)
||ca. 2 EUR
|Casing + optional control surface
|digital inputs for buttons and encoders
||Parts: ca. 5 EUR
PCBs: ca. 5 EUR
|digital outputs for LEDs and 4 matrix buttons
||Parts: ca. 3 EUR
PCB: ca. 5 EUR
||one 2x40 Displaytech "LCD 402A LED"
||ca. 25 EUR
||for example 14 x "DT 6 colour" (colour = BL, GN, GR, RT, SW) (big buttons) and 10 x "TASTER 3301D"
||ca. 11 EUR
||for the button matrix, you can take 4*1N4148
||ca. 0.10 EUR
||for example "LED 3mm St colour"
||ca. 2 EUR
||for example M-SW-ROT from Voti or the Bourns encoders from SmashTV's Shop
||ca. 6 EUR
||5 x "DK13-164 black-soft" from Albs
||ca. 5 EUR
||for mounting the Buttons/Encoders/LEDs: "H25PR200"
||ca. 4 EUR
||19" 2U rack #460 018 from Pollin
||ca. 30 EUR
||mbfm_front_v1.fpd from Schaeffer Apparatebau
||ca. 60 EUR
Inside the original MIDIbox FM - more pictures can be found here.
This project is a DIY project licensed under TAPR NCL. A commercial release is neither planned, nor allowed! But the license allows you to build and sell up to 10 units per year (e.g. to friends) as long as the given constraints of the license are not violated.
Last update: 2023-04-23
Copyright © 1998-2023, Thorsten Klose. All rights reserved.