Chapter 15· Groove OS 2.0 beta
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, Bluetooth and the TRS MIDI jack, 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 Program Change picks sounds. 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). |
| The TRS MIDI jack | MIDI in only: nothing is sent out of the jack. |
Notes, controllers, Program Change, clock and DX7 SysEx come in the same way from all three. Remote control, the website's transfers and updates run over USB only.
In this beta: the TRS jack is in the code but has not yet been proven on a unit.
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 |
Where EXT takes its clock from | SETTINGS > MIDI > CLOCK IN |
| Effects over MIDI | SETTINGS > MIDI > FX CC CH |
| The channel a MIDI OUT track sends on | TRACK menu > MIDI OUT CH |
| Bluetooth MIDI on or off | 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; nothing is sent out of the TRS jack. 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.
K1HOMESELECTCLOCK IN
With more than one way in for a clock, SETTINGS > MIDI > CLOCK IN says which one EXT follows:
| Value | What EXT follows |
|---|---|
AUTO | Whichever sends a clock first. It stays in charge while its clock keeps coming; if it stops for a quarter of a second, the other may take over. |
USB | The clock from USB only. |
TRS | The clock from the TRS jack only. A device linked over Bluetooth counts as this one. |
The other way's clock, start, stop and song position are ignored, so they never count. Notes and controllers from every way still come in.
In this beta:
CLOCK INis in the code but has not yet been proven on a unit. IfEXTdoes not follow a clock, setCLOCK INtoAUTO.
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, 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 .
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 |
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 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 or the TRS jack: 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
Bluetooth MIDI is a row in SETTINGS, on or off, with no pairing. Turn SETTINGS > BLUETOOTH on (BLUETOOTH ON: FM-1) and a computer or phone lists the FM-1 as FM-1 Groove in its Bluetooth MIDI setup or in a MIDI app; link to it from there. The row reads FM-1 while it waits and FM-1 LINKED once a device is linked, one at a time. See BLUETOOTH in SETTINGS.
A linked device plays and records on the tracks' channels like any controller, can send the clock (it counts as TRS for CLOCK IN), and receives what the FM-1 sends: the notes of MIDI OUT tracks and the clock.
Try it·On the FM-1
Turn K1 left: Bluetooth MIDI goes off (right turns it on again). There is nothing to pair.
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. Check SETTINGS > MIDI > CLOCK IN: it must be AUTO, or the way the clock arrives (USB, or TRS for the jack and Bluetooth). |
| 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 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 does not list the FM-1 over Bluetooth | SETTINGS > BLUETOOTH is OFF, or the FM-1 is already linked to another device. Turn it on and look for FM-1 Groove. |