xfmedit - FM Synthesizer Sound Editor
[Source Code]
Introduction
xfmedit is a editor for the Yamaha OPL-3 FM synthesizer. The FM synthesizer
uses various oscillators and filters to generate sound. The OPL-3 FM synthesizer
provides 18 channels of 2-operator FM sound or 6 channels of 4-operator
FM sounds. The synthesizer is capable of generating stero FM tones
at 44.1KHz. It uses "operators" which can be considered to be
"mini synthesizers" and can be combined in many different ways
to simulate musical instrument timbres. The FM synthesizer also has percussion
instrument generation capabilities. There are 5 different percussions instruments:
- Bass drum
- Snare drum
- Cymbal
- Tomtoms
- Hihat
For detailed description of the FM synthesizer please refer to the /dev/dmfm0
device programming section. Shown below is the xfmedit editor. This editor
provides access to all four operators.
Controls
- Quit - this button quits the application
- Reset - this button resets the FM synthesizer's controls
to the default values.
- Load - this button reads a SBI FM sound patch file and
sets the various sliders to the values specified by the SBI file. For a
detailed description of the SBI patch file, please refer to the /dev/dmfm0
programming section
- Save - this button writes out the current FM synth values
in a SBI patch file format. Pressing this button will popup a dialog
panel in which you have to type in the name of the SBI file you would
like to save the FM parameters to.
- Random - this button randomly sets values to various controls.
It is a good way to start with a FM tone and then operate on the sound.
- Play - pressing this button plays the current FM sound
based on the values set.
Rhythm Section
This section deals with the percussion control buttons.
- Rhythm - setting this button puts the synthesizer in the percussion
mode. Toggling this button off sets the FM synthesizer in the music voice
mode.
- Bass - pressing this button plays the Bass drum based on the
modulator and carrier operator values.
- Snare - pressing this button plays the snare drum based on the
modulator's values.
- Cymbal - pressing this button plays the cymbal based on the
carrier's values
- Tomtom - pressing this button plays the tomtom drums based on
the modulator's values
- Hihat - pressing this button plays a hihat drum based on the
carrier's values.
Effects Section
This section sets global effects such as vibrato and tremolo effects
on the FM synthesizer.
- Vibrato - setting this button causes a vibrato effect to be applied
to the FM tone.
- Tremolo - setting this button causes a tremolo effect to be applied
to the FM tone.
- Depth - setting this button caueses more pronounced Vibrato or Tremolo
effect on the FM tone.