Chapter 15
MIDI and sync
Play along as you read: the FM-1 beside the text is a working one, running the real Groove OS 2.0, and it follows the part of the page you are reading. Tap a control's name in the text to find it on the panel, and press Start on a Try it card to be shown. Sound stays off until you turn it on.
Groove OS listens to MIDI over USB and Bluetooth, and sends it over USB and Bluetooth. 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 each track's own effects, Program Change picks sounds, and an FM sound editor can shape the selected track's sound while you play. Over USB, a web page can also follow the FM-1 and play its panel.
Ways in and out
| Connection | What it carries |
|---|---|
| USB (the USB-C port) | MIDI in and out, the website's transfers and remote control. |
| Bluetooth | MIDI in and out, once SETTINGS > BLUETOOTH is on and a device is linked (see Bluetooth). |
Notes, controllers, Program Change, clock and SysEx sounds come in the same way from both. Remote control, the website's transfers and updates run over USB only.
Clock and notes go out over USB, and over Bluetooth when a device is linked.
Playing from a bigger keyboard
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. Set the keyboard to the channel of the track you want (see Channels).
Where the settings are
| Setting | Where |
|---|---|
| A track's channel | TRACK menu > MIDI CH (1 to 16) |
| Every track's channel at once | SETTINGS > MIDI > MIDI CH |
| Clock mode | TIME menu > MIDI CLOCK, or SETTINGS > MIDI > CLOCK |
| Effects over MIDI | SETTINGS > MIDI > FX CC CH |
| A track's own effects and pan over MIDI | Nothing to set: send CCs 10, 91, 92 and 102 to 105 on the track's channel (see each track's effects) |
| The channel a MIDI OUT track sends on | TRACK menu > MIDI OUT CH |
| Bluetooth on, off or pairing | SETTINGS > BLUETOOTH |
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 send | What happens |
|---|---|
| Notes on the selected track's channel | Play at once with that track's sound, like the keys, and record on it while is on. |
| Notes on another track's channel | Play with that track's sound and record into that track. |
| Notes on a channel no track uses | Dropped: they never play the selected track by accident. |
| Pitch bend, channel pressure, the mod wheel (CC 1) and sustain (CC 64) on the selected track's channel | Reach the FM sounds: a VA or sample sound does not respond to them. The bend range is SETTINGS > PLAY > BEND UP and BEND DOWN. |
SETTINGS > MIDI > SYNTH CH (ALL or 1 to 16) changes none of this: bend and controllers always follow the selected track's channel.
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:
| Mode | What happens |
|---|---|
INT | The FM-1 runs on its own tempo. Incoming clock, start and stop are ignored. |
OUT | The 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. |
EXT | The 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.
Clock out goes over USB MIDI, and over Bluetooth when a device is linked. If another device does not follow it, make the FM-1 the follower (EXT) instead.
Try it·On the FM-1
Turn K1 two clicks to EXT, tap HOME, then hold HOME and turn SELECT to try the tempo: the clock sets it now.
K1HOMESELECTMIDI 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, and over Bluetooth when a device is linked.
Try it·On the FM-1
The cursor is on MIDI OUT. Press SEL: T2 now plays another instrument instead of a sound.
SELProgram Change
A Program Change on the selected track's channel loads a sound onto the selected track, as the browser does:
| Program | Sound |
|---|---|
| 0 to 31 | Bank A (A01 to A32) |
| 32 to 63 | Bank B |
| 64 to 95 | Bank C |
| 96 to 127 | Bank 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.
Control changes: the panel
A control change on any track's channel drives the panel, as if you touched the control:
| CC | Control | How |
|---|---|---|
| 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. |
| 24 | As above. | |
| 25 | As above. | |
| 26 | 64 to 127 presses it, 0 to 63 lets it go. Held for 0.8 s it counts as a long press. | |
| 27 | As SEL. | |
| 28 | As SEL. | |
| 29 | As SEL. | |
| 7 | The level of the channel's track | 0 to 127 scales to 0 to 100. |
| 9 | The mute of the channel's track | 64 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 .
Control changes: each track's effects
Put a track's pan, its reverb and delay sends and its TRACK FX on a controller's faders and knobs. Send these on the track's own channel, the one it listens on: every track takes the same numbers, so a controller with a strip per channel gives each track a strip of its own.
| CC | What it sets | Values |
|---|---|---|
| 10 | The track's PAN | 0 is all the way left, 64 the middle, 127 all the way right (L50 to R50) |
| 91 | The track's REVERB send | 0 to 100 (higher is held at 100) |
| 92 | The track's DELAY send | 0 to 100 |
| 102 | DRIVE | 0 (off) to 100 |
| 103 | CRUSH | 0 (off) to 100 |
| 104 | FILTER | 64 is off. Below 64 a low pass, darker the lower (LP 50 at 14 and under); above 64 a high pass (HP 50 at 114 and over) |
| 105 | SLICER | 0 is off; 1 to 10 are 1/4, 1/8, 1/16, 1/32, 1/8T, 1/16T, PAT1 to PAT4 |
A value works the moment it arrives, without a click, just like turning the knob in TRACK FX: the first move counts, the project shows unsaved, and while is on, moving the selected track's sends or FILTER records them as automation, as the knobs do. FM, VA, sample and kit tracks all take them. A kit's pads that send on their own (the PAD menu) keep their own sends. PAN is saved with the song but does not record as a knob move. The MIDI file the Projects page makes from a project starts every track with these (its level, pan and sends), so it plays back on the FM-1 as it was mixed. A MIDI OUT track has no effects, so it ignores them, all but CC 10: it takes the pan and sends it on to the other instrument as its own CC 10.
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.
| CC | Effect | Then |
|---|---|---|
| 0 to 3 | FILTER | on, type, CUTOFF, RESO |
| 4 to 7 | REVERB | on, type, DECAY, MIX |
| 8 to 11 | DELAY | on, FEEDBACK, TIME, MIX |
| 12 to 15 | DRIVE | on, GAIN, TONE, LEVEL |
| 16 to 19 | CHORUS | on, RATE, DEPTH, MIX |
| 20 to 23 | PHASER | on, RATE, DEPTH, MIX |
FX CC CH may be a track's channel too. On it, CC 0 to 23 drive the effects above (so CC 20 to 23 are the PHASER, not to , and CC 10 is the DELAY's TIME, not the track's pan), and CC 7, 9, 24 to 29, 91, 92 and 102 to 105 still reach that track.
The DELAY's ping-pong and the REVERB's and CHORUS's WIDTH have no CC: set them on MAIN FX. For the same reason a MIDI file made from a project does not hold them.
Sounds over SysEx
DX7 voices and banks you send become track sounds. See Sending DX7 sounds.
Live edits from DX7 editors
Shape a sound from a DX7 editor on your computer or phone (a web editor, Dexed, a hardware programmer) while the music plays. Each slider you move sends a DX7 parameter change, and the selected track's FM sound follows at once: the next note you play, or the pattern plays, has the change, and the LFO follows straight away. A note already held keeps the sound it started with.
- Every voice setting works: the six operators, the pitch envelope,
ALGORITHM,FEEDBACK, the LFO,TRANSPOSE, the name, and switching operators on and off. - The edit goes to the selected track, as a voice you send does. The track's macros stay where they are and shape the edited sound.
- Nothing is kept until you save: the project shows unsaved, as after a knob turn.
- Drag as fast as you like: the FM-1 takes the latest value of each setting.
- A kit, VA, sample or MIDI OUT track ignores them, and so does any track while the browser is open: select an FM sound track first. The editor's own play settings (mono, bend range, portamento) are ignored: set those on the FM-1.
- Any device number works, over USB or Bluetooth.
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 do | What it cannot do |
|---|---|
| See what the FM-1 shows: the view, the transport, the tempo, the tracks, the screen itself | Install 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 panel | Skip a question: anything destructive still asks, on the FM-1's screen |
| Blink a control to show you where to press next | Work over Bluetooth: remote control is USB only |
| 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
The FM-1's Bluetooth is set in SETTINGS > BLUETOOTH: OFF, ON (CONNECTED once a device is linked) or PAIRING. A phone or computer lists the FM-1 as FM-1 Groove, and there is no code to enter. Pairing, what each value means and how to switch to another device are in BLUETOOTH in SETTINGS. What a linked phone plays is heard from the FM-1, and the SAMPLER can record it: see From your phone over Bluetooth.
Try it·On the FM-1
Turn K1 left: Bluetooth goes off (right turns it on again).
K1Troubleshooting
| What happens | Why, and what to do |
|---|---|
| Notes from my controller do not sound | Send 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 sound | Each 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 record | They record only while is on. |
| My DAW gets no clock from the FM-1 | Set 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 tempo | Set MIDI CLOCK to EXT and have the DAW send clock. |
| The FM-1 and the other gear slowly come apart | The 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 back | The incoming clock sets it. Change it on the DAW. |
| A Program Change does nothing | It must be on the selected track's channel, with the browser closed, on a sound track. |
| A knob CC does nothing the first time | The first value only sets where the knob is. Move it again. |
| A fader for a track's reverb, delay or TRACK FX does nothing | Send it on that track's channel (track 2: channel 2, unless you moved it). A MIDI OUT track has no effects. |
| A track's effect jumps back after I move its fader | That setting has an automation lane: it takes over again a moment after you let go. Clear the lane, or record over it with . |
| CC 20 to 23 change an effect instead of the knobs | That channel is also FX CC CH. Pick another channel for one of them. |
| CC 10 changes the delay's time instead of the pan | That channel is also FX CC CH. Pick another channel for one of them. |
| Moving a slider in my DX7 editor changes nothing | Select an FM sound track and close the browser. A kit, VA, sample or MIDI OUT track ignores the editor. |
| A held note does not change while I move a slider | A note keeps the sound it started with. Play it again. |
| A SysEx voice went to the wrong track | It goes to the selected track. Select the track first. |
A DX7 bank says BANK: STORE BUSY, SEND AGAIN | A save or a recording was using the memory the bank needs at that moment. Send the bank again. |
| The computer or phone does not list the FM-1 over Bluetooth | SETTINGS > BLUETOOTH is OFF, or the FM-1 is already linked to another device. Turn it to ON, or to PAIRING to let a different device in, and look for FM-1 Groove. |