16-bit FM sound for the M-VAVE FM-1
GitHub

Hear it

A new song played on an FM-1 running OPN-1, with instruments from Sonic the Hedgehog.

How to use

Getting started

  1. Plug the FM-1 in with USB and open this page in Chrome or Edge. Allow MIDI when the browser asks.
  2. The pill at the top right should say FM-1 connected. If it names another device, choose the FM-1 (it shows as OPN-1 FM-1) under Advanced, MIDI output.
  3. Drop some VGM or VGZ files from one game into Load a game. Several songs from the same game give the most sounds.
  4. Press Send sounds to FM-1. The FM-1 keeps them, even after it is switched off, until you send another game's sounds.

A fresh FM-1 has no sounds of its own. Until you send some, the FM parts are silent.

Installing OPN-1 on your FM-1 is done at your own risk. It comes with no warranty, and its authors accept no responsibility for damaged or unusable devices.

Songs

Press play on a song to hear it on the FM-1. The song is streamed while it plays, so keep this tab open. Nothing is stored on the device. While a song plays, the FM-1's keys and the knobs do not change what you hear; knob changes apply once it stops.

On the FM-1

ControlWhat it does
SELECT knobPicks the part the keys play: POLY (up to six FM notes), FM 1 to 6, PSG 1 to 3, NOISE or DRUMS
PRESETS knobPicks the instrument (or the square-wave shape on a PSG part, or the game's noise sound on NOISE)
OCT buttonsOctave down and up
ALGORITHM knobHow the four operators connect, 1 to 8: the biggest change to a sound
KNOB 1 to 4Whatever the screen shows above them, set by the buttons below
HOMESound: brightness, attack, release, feedback
EDITTone of one operator: level, multiplier, detune, second decay. Press again for the next operator
ENVEnvelope of one operator: attack, decay, sustain, release. Press again for the next operator
LFOThe chip's wobble: rate (shared by all channels), pitch depth, volume depth, which operators it moves
FXVibrato depth, speed and delay, and Double (POLY plays each note twice, slightly detuned, for a thicker sound)
ARPArpeggiator on (press again to turn it off): mode, tempo, octaves, note length
GLOKey velocity, bend range, MIDI mode, tuning
SELNext operator on EDIT and ENV, otherwise the next part
SAVEKeeps the changed instrument, replacing the original
SEQShows what every channel is playing: note, level and instrument. Opens by itself during a song
RECGrabs the sounds the channels are playing right now (for example from a song) onto FM 1 to 6, ready to play
PLAYStops the song

A * after an instrument's name means it has changes you have not saved. To undo them, turn PRESETS one step away and back. After SAVE the original is replaced; send the game's sounds again to get it back.

Playing from a MIDI keyboard or DAW

Connect over USB, or to the FM-1's TRS MIDI input with a TRS to MIDI cable. In the GLO page, MIDI mode PANEL makes any channel play the part on the FM-1's screen, like its own keys. GENMDM (the default) gives each chip channel its own MIDI channel:

MIDI channelPlays
1 to 6FM channels 1 to 6, one note each. Program change picks the instrument
7 to 9Square waves (PSG) 1 to 3. Program change picks the shape
10The game's drums (C2 is the first), or noise if no drums were sent
11Noise: hi-hats and effects
15, 16Used by this page to talk to the FM-1: leave them free

FM channels also take GenMDM's control changes for every chip setting; the Patch editor under Advanced sends them.

If something goes wrong

You seeTry
MIDI not allowedAllow MIDI for this page in the browser's site settings, then reload. Open the page from localhost or https, not as a file
FM-1 not found, or "did not take the patch"Check the cable, and that Advanced, MIDI output is the FM-1
"The stream fell behind"The link could not keep up for a moment. Close other MIDI apps and press SEQ to hide the channel display while the song plays
The FM-1 says NO SOUNDSLoad a game and press Send sounds to FM-1
Notes stuck onPress Panic at the top right
1

Load a game

2

Songs

Streamed to the FM-1 while they play: keep this tab open.

3

Sounds

Instruments

Pick one to play it from the keyboard below, or from the FM-1's own keys in POLY.

Drums

Tap a pad to hear it on the FM-1 (once the sounds are sent). Shift-tap to hear it here.

Hi-hats and noise

The noise sounds the game shaped for its percussion. Pick one for the Hi-hats part.

4

Play

C3

Computer keys play too: Z to M and Q to U, the rows above for sharps. On the FM-1 itself, SELECT picks POLY, DRUMS, NOISE or a PSG part, and PRESETS the sound. The four knobs and ALGORITHM shape it: HOME, EDIT and ENV (press again for the next operator), LFO, FX and GLO choose what the knobs do, ARP arpeggiates, and SAVE keeps the changed sound. SEQ shows what every channel is playing (it opens by itself during a song), and REC grabs the channels' sounds onto FM 1 to 6.

Advanced

Patch editor

One FM channel at a time, with GenMDM's CCs. Instruments sent from a game start here too.

Square-wave shapes

The volume shapes the game gave its square-wave notes. Many are near alike: the chip has nothing else to vary.