Skip to content

Chapter 15· Groove OS 1.4

MIDI and sync

Play along as you read: Play it live opens a working FM-1, running its real software, on the screen this part of the page is about. Tap a control's name in the text to find it on the panel.

Groove OS listens to MIDI over USB, Bluetooth and the wired MIDI port, as the stock FM-1 routes them. Each track has its own MIDI channel, so a controller or a DAW can play and record any track. The FM-1 can send its clock to a drum machine, or follow someone else's. A track can play an external synth instead of a sound. Control changes drive the panel, and Program Change picks sounds. Over USB, a web page can also follow the FM-1 and play its panel.

The wired MIDI jack (3.5 mm TRS) is input only: it is a receiver, so nothing comes out of it. Clock and notes go out over USB.

Playing from a bigger keyboard

A keyboard with a 3.5 mm (TRS) MIDI out, such as the M-VAVE SMK-37, plays Groove OS on the FM-1 through a TRS MIDI cable into the FM-1's MIDI jack. No computer is needed. Set the keyboard to the channel of the track you want (see Channels).

A keyboard that connects over USB or Bluetooth needs a computer or a phone in between. Both are USB devices or Bluetooth peripherals, so neither can plug straight into the FM-1: the computer or phone receives the keyboard and sends its notes on to the FM-1 over USB or Bluetooth.

Where the settings are

SettingWhere
A track's channelTRACK menu > MIDI CH (1 to 16)
Every track's channel at onceSETTINGS > MIDI > MIDI CH
Clock modeTIME menu > MIDI CLOCK, or SETTINGS > MIDI > CLOCK
Effects over MIDISETTINGS > MIDI > FX CC CH
The stock firmware's channel (ALL or 1 to 16)SETTINGS > MIDI > STOCK CH
The channel a MIDI OUT track sends onTRACK menu > MIDI OUT CH

Channels

Track 1 listens on channel 1, track 2 on channel 2, and so on: tracks 1 to 4 start on channels 1 to 4, and a new track takes the next free channel. SETTINGS > MIDI > MIDI CH shows the first track's channel and the range (1-4 with four tracks) and moves them all together; a track's own MIDI CH changes just that track (each channel reaches one track).

What you sendWhat happens
Notes on the selected track's channelPlay at once with that track's sound, like the keys, and record on it while is on.
Notes on another track's channelPlay with that track's sound and record into that track.
Notes on a channel no track usesDropped: they never play the selected track by accident.
Pitch bend and other controllers on the selected track's channelGo to the stock firmware as before.

A note-off always takes the way its note-on took, so a held note never sticks when you change tracks.

Pro tip: a MIDI keyboard or a DAW clip is a good way to record a part that is hard to play on the FM-1's short keybed. Press , then play from the controller, on the channel of the track you want.

Clock

MIDI CLOCK has three modes:

ModeWhat happens
INTThe FM-1 runs on its own tempo. Incoming clock, start and stop are ignored.
OUTThe FM-1 runs on its own tempo and sends 24 clocks per beat, with a Start when you press and a Stop when it stops. Use it to drive a drum machine or another synth.
EXTThe FM-1 follows an external 24-per-beat clock, with Start, Continue, Stop and Song Position.

With EXT:

  • The FM-1 follows the clocks themselves, not only their tempo: every clock moves it on a 24th of a beat, so it stays with the leader for as long as you play. Clocks that come unevenly, late, or several at once (a computer over USB often sends them that way) still keep it in step. There is no drift: with a drum machine, or with a DAW over USB, the bars stay lined up however long you play.
  • The BPM on the screen shows the leader's tempo, with its small wobbles smoothed out.
  • Start starts the music from the top on the next clock.
  • Continue after a Song Position waits for the sender to reach the start of the FM-1's next loop, then starts from the top so the two line up.
  • Stop stops the music.
  • If the clock stops for a quarter of a second the FM-1 keeps the last tempo and runs on it. When the clock comes back, it falls in step again on the nearest clock.
  • The tempo cannot be set by hand: the tempo controls say TEMPO: MIDI CLOCK.

Careful: clock out is sent over USB MIDI, which is the output it has been checked against. The Bluetooth output is unconfirmed. If another device does not follow it, make the FM-1 the follower (EXT) instead.

MIDI OUT tracks

A track whose engine is MIDI OUT plays another instrument instead of a sound. Everything the track plays (its recording, its pattern, the arpeggiator and your keys while it is selected) goes out as MIDI notes on its output channel, set in TRACK menu > MIDI OUT CH (K4 MIDI CH on TRACKS is the same value). The track still has its MIDI CH too: that is the channel it listens on, as for every track.

To make one, choose ENGINE ▸ MIDI OUT in a sound track's TRACK menu. A MIDI OUT track has no sound, so there is no sound editor for it; K1 to K4 on TRACKS are its LENGTH, OCTAVE, TRANSP and MIDI CH. A note always ends on the channel it started on, even if you change the channel or the engine while it sounds.

Careful: a kit track cannot be MIDI OUT, and MIDI OUT tracks have no parameter locks. Output goes out over USB; the wired and Bluetooth outputs are unconfirmed.

Program Change

A Program Change on the selected track's channel loads a sound onto the selected track, as the browser does:

ProgramSound
0 to 31Bank A (A01 to A32)
32 to 63Bank B
64 to 95Bank C
96 to 127Bank D

The sound's macros come with it. A program on a VA slot is ignored: Program Change loads FM sounds. A Program Change is ignored while the browser is open, and on a kit track the screen says KIT TRACK: NO PROGRAM CHANGE. Program Changes on other channels are dropped: while Groove OS runs, they never reach the stock presets.

Control changes: the panel

A control change on any track's channel drives the panel, as if you touched the control:

CCControlHow
20 to 23 to The change in value is the number of detents (a jump from 60 to 63 is three detents right). The first value only sets the start point.
24As above.
25As above.
2664 to 127 presses it, 0 to 63 lets it go. Held for 0.8 s it counts as a long press.
27As SEL.
28As SEL.
29As SEL.
7The level of the channel's track0 to 127 scales to 0 to 100.
9The mute of the channel's track64 to 127 mutes, 0 to 63 unmutes. It follows the launch line.

The panel CCs only reach Groove OS screens. There is no CC for SAVE or for SHIFT ( held down).

Effects over MIDI

Set SETTINGS > MIDI > FX CC CH to a channel from 1 to 16 (it is OFF by default) and control changes 0 to 23 on that channel drive the six effects' parameters, fade-free. Each effect takes four CCs, in the order of the FX editor: the first switches it on (any value above 0) or off (0), the others are its values (a filter's or reverb's second CC is its type, 0 to 2). A value is the parameter's own number: 0 to 100 for most, 0 to 107 for the filter's cutoff and 0 to 10 for its resonance; larger numbers are held at the top.

CCEffectThen
0 to 3FILTERon, type, CUTOFF, RESO
4 to 7REVERBon, type, DECAY, MIX
8 to 11DELAYon, FEEDBACK, TIME, MIX
12 to 15DRIVEon, GAIN, TONE, LEVEL
16 to 19CHORUSon, RATE, DEPTH, MIX
20 to 23PHASERon, RATE, DEPTH, MIX

Sounds over SysEx

DX7 voices and banks you send become track sounds. See Sending DX7 sounds.

Remote control over USB

A web page or an app on your computer can follow the FM-1 and play its panel over the USB cable (Chrome or Edge on the computer side). While one is linked (a page playing the panel), a small link mark sits in the header of every view, left of the unsaved square, so you always know when something else has a hand on the panel.

What the page can doWhat it cannot do
See what the FM-1 shows: the view, the transport, the tempo, the tracks, the screen itselfInstall or change Groove OS: firmware only goes in through the install page
Press buttons, turn knobs and play keys, paced like a hand on the panelSkip a question: anything destructive still asks, on the FM-1's screen
Blink a control to show you where to press nextChange the stock octave or reach Bluetooth
Load a sound bank into A to D (see Loading banks from the website)Load one while the music plays or PRESETS is open

Remote input goes through the same path as your own hands, so everything that guards the panel guards it too: PERFORM's stage lock, the questions, a save in progress. You can keep playing while it is connected.

The link ends when the page says goodbye, or by itself a few seconds after the page goes quiet (a closed tab, a pulled cable): the link mark goes with it. Nothing needs switching on or off on the FM-1.

Careful: the link mark shows for as long as a page is linked, whether it only follows along or presses the controls too. What a page presses can be undone as your own presses can, with ; a save cannot.

For app writers, the wire is documented in the repository's docs/REMOTE.md.

Bluetooth

Bluetooth MIDI is the stock implementation. SETTINGS > BLUETOOTH starts pairing; the HOME light shows its state (the toast says BLUETOOTH: SEE HOME LIGHT). The same Bluetooth also plays a phone's sound through the FM-1's speaker, as playback only (see BLUETOOTH).

Troubleshooting

What happensWhy, and what to do
Notes from my controller do not soundSend them on a track's channel: SETTINGS > MIDI > MIDI CH shows the range (1-4: track 1 on channel 1).
Notes play the wrong track's soundEach channel is a track. Change the controller's channel, or the track's MIDI CH.
Notes on another track's channel sound but do not recordThey record only while is on.
My DAW gets no clock from the FM-1Set MIDI CLOCK to OUT. If it still gets none, make the DAW the leader and set EXT.
The FM-1 does not follow my DAW's tempoSet MIDI CLOCK to EXT and have the DAW send clock.
The FM-1 and the other gear slowly come apartThe FM-1 is not on EXT, or the other side does not send clock. On EXT it counts every clock and stays with the leader.
On EXT the tempo I set by hand jumps backThe incoming clock sets it. Change it on the DAW.
A Program Change does nothingIt must be on the selected track's channel, with the browser closed, on a sound track.
A knob CC does nothing the first timeThe first value only sets where the knob is. Move it again.
A SysEx voice went to the wrong trackIt goes to the selected track. Select the track first.