FMC was a sample-generating software synthesizer for the Amiga, written in 1990. It featured freeform algorithms, which meant you could create your own audio synthesizer.
Uniquely, it could combine many synthesis techniques, using any sound sources; not just sine waves, but PCM sound files and wave tables. Its suite of components could emulate the algorithms of mainstream synthesizers of the time (Yamaha DX, Roland D, Korg M). FMC was designed as a sample generator for real-time synthesizers, so did not have a sequencing element.
The FMC program occupied about 45 KB of disk space, along with 120 KB of hypertext documentation, and 200 KB of patch files.
Screenshots are shown at 50% resolution. Original resolution was 640 x 512, in 4 colours.
Main editing screen
The main screen shows an algorithm circuit diagram, below the controls. An operator is highlighted, and its parameters shown just above the circuit diagram.
Banks of wave tables could be edited, straightforwardly by drawing with the mouse. Buttons provided: scaling to use full amplitude –1 to +1, a sine wave, load and save waves, and the PCM editor.
PCM File Editing
This screen takes a view on any file, allowing sounds to be lifted from plain binaries or samples. The displayed portion could be edited with the mouse, and committed to the file or rejected.
The wave tables could be copied into the file, or the a segment of the file copied into the wave table; this was interpolated, and used sub-sample precision, so that smooth waveforms could be used from relatively coarse original material.
Choosing PCM samples as sources
Operators could take their sources from PCM wave files, 8-bit or 16-bit. Here, a slot is being changed to use another file.
The flexibility of the synthesizer allowed, for example, one PCM file to frequency-modulate another, which is a great advance on the DX-type operators which could only use sine waves.
FMC envelopes were relatively trivial, as they did not need 'performance' parameters; they were simple 16-stage envelopes.
The editor could a time range, and allow scaling of the range in time, and normalizing of the amplitude.
Frequency Spectrum Output
This screen offered audio and visual preview of the generated sound. The display is a fourier transform, shown as harmonics of the tuned frequency.
In this example, the algorithm comprises two operators: The first operator is a sine wave of frequency 8, being frequency-modulated by operator 2, a sine wave of frequency 2. The envlope of operator 2 starts at level 0, increasing towards level 100 at the end.
The result can be clearly seen as a Bessel function, that is characteristic of frequency modulation.