The TRIBE splash screen

TRIBE

Groovebox firmware for the M-VAVE FM-1. Ten tracks, and any engine on any track: kicks, the 909 and 808 voices, the 303. Sixteen clips per track, scatter effects, two master effects every track can send to, and four master knobs you assign to the volume, a DJ filter, the effects or the tempo.

The sequencer: sixteen steps and a track's knobs The clips: ten tracks, sixteen clips each The mix: every track's level and its two sends The global settings: FX 1 and FX 2
TRIBE is a beta, built on X0X and Felucca. It installs and uninstalls the way they do, and the installer can put M-VAVE's own firmware back. Installing is at your own risk.

Try it in the browser

The same code the FM-1 runs, with sound. Mouse, touch or keyboard; no FM-1 needed.

Install v0.1-beta on your FM-1

From Chrome or Edge, with the FM-1 connected by USB. Nothing to install on the computer. What's new in this version?

For the command-line installer: download tribe-0.1-beta.fwsc, then python3 tools/fm1_install.py tribe-0.1-beta.fwsc. To go back to the official firmware, use the installer's stock-firmware step above, or M-VAVE's updater, M-UPGRADE, from m-vave.com/download. M-VAVE and FM-1 are trademarks of their owners.

New in this version: see What's new.

The FM-1 (a drawing), running TRIBE, each control labelled
The FM-1 (a drawing), running TRIBE, each control labelled


1Install

Try it first: the TRIBE emulator runs the same code in the browser, with sound, played with the mouse, a touch screen or the keyboard.

Install: open the web installer in Chrome or Edge, connect the FM-1 with a USB data cable and press Install. Don't unplug it while it's writing; when it finishes, the FM-1 restarts into TRIBE.

Go back: "Back to the stock firmware", at the bottom of the same page, puts M-VAVE's firmware back (download the FM-1 V15 file from the link there, choose it, press the button). M-VAVE's own updater, M-UPGRADE, works too.

Installing other firmware is at your own risk. If the FM-1 ever won't start, see Recovering an FM-1 that won't start.

Your saved clips stay in the FM-1's memory when you install a newer version. The settings (tempo, levels, effects, knob setup) go back to their defaults after an install that changes how they are stored; the what's-new page says when that happens.

Install from the command line

Download the firmware file (for example tribe-0.1-beta.fwsc) from the releases page, get the TRIBE source from GitHub, install Python 3 with pip3 install mido python-rtmidi, and run:

python3 tools/fm1_install.py tribe-0.1-beta.fwsc

tools/flash.sh does the same for a build you made yourself (see BUILDING.md).


2Getting started

TRIBE starts with a small beat already in it, so there is something to hear straight away.

  1. Press PLAY. Ten tracks are lined up, and several already have a pattern.
  2. Press a black key to pick a track. The black keys are the tracks, 1 to 10, left to right. The screen's header names the track and its engine.
  3. The white keys are the sixteen steps of the track. Press one to switch a step on, press it again to switch it off. Hold an "on" step to edit it: the three or four knobs become its note, velocity, probability (and length and slide on a 303).
  4. Press EDIT, ENV or FX to shape the track's sound with the four knobs.
  5. Hold the eleventh black key (MUTE) and tap a track key to mute or unmute that track.
  6. Press HOME for the clips: sixteen per track. Press a white key to launch one. It switches at the end of the pattern; press it again to switch at once.
  7. Press SEL for the mix: each track's engine, volume and its two sends.
  8. Press SAVE when you like what you hear.

3Controls

The drawing at the top of the manual names every control. In more detail:

ControlWhat it does
MASTERA pot. The master volume until you assign it something else in GLO.
SELECT, PRESETS, ALGORITHMThree encoders, free for you to assign in GLO. By default SELECT is the DJ filter, PRESETS the amount of FX 1 and ALGORITHM the amount of FX 2.
OCT-, OCT+Page through the steps (SEQ) or the sound pages (FX, ENV, LFO, EDIT). On the keyboard (ARP, REC), the octave.
KNOB 1–4The four values at the bottom of the screen.
FX, ENV, LFO, EDITThe track's sound, in four groups of parameters. Press the same button again for the next page of four. A button is dark when the engine has nothing in that group.
SELThe mix: engine, volume and sends of every track.
GLOThe global settings.
HOMEThe clips.
SAVEThe save pick (see Saving).
ARPThe keyboard plays the track; arpeggiator and transposition.
SEQThe steps. Hold it for the sequencer's settings.
PLAYStart and stop.
RECRecord notes while it plays.
White keysSteps. On HOME, clips. While it plays on a sound page or GLO, scatter effects. On ARP and REC, notes.
Black keysTracks 1–10. The eleventh is MUTE.

A button that opens a screen always opens the same one. The screen's name is in the strip above the knobs.

What the keys do
What the keys do

4Tracks and engines

There are ten tracks. Each plays one engine, which belongs to the clip, so changing clips can change the engine too. Choose it on the SEL page, with KNOB 1.

EngineWhat it is
NONEAn empty track.
KICK WA kick built on a waveform: frequency, FM, folding, harmonics.
KICK PA kick with a morphing oscillator and an FM pair.
909 BD, SD, LT, MT, HT, RS, CP, CH, OH, CR, RDThe 909 voices: kick, snare, three toms, rim, clap, closed and open hat, crash, ride.
808 BD, SD, LT, MT, HT, RS, CP, CB, CY, OH, CHThe 808 voices: kick, snare, three toms, rim, clap, cowbell, cymbal, open and closed hat.
303The bass synth, with accent, slide and its LFO.

Every drum engine is pitched: the note of a step changes its tune, which is what makes the kicks useful. A synth step has a note, a velocity, a length and a slide.

A voice exists once. Each 909 and 808 voice can be on one track at a time (a second track that picks a voice already in use shows BUSY in the header and stays silent), there are two 303s and three kicks (KICK W and KICK P share them).

A 303 track: note, velocity, length and slide for the held step
A 303 track: note, velocity, length and slide for the held step

5The sequencer

Press SEQ. The sixteen white keys are the steps of the selected track, with the step the track is playing lit. Press a key to switch a step on or off. Hold an "on" step (about a third of a second) and it stays selected: the knobs become that step's.

A step held: its note, velocity and probability
A step held: its note, velocity and probability

With no step selected the knobs are greyed and do nothing. A track can be 16, 32 or 64 steps; OCT- and OCT+ page through them, sixteen at a time.

Hold SEQ (about half a second) for the sequencer's settings of the clip, saved with it. Let go to go back to the steps.

The sequencer's settings
The sequencer's settings
SettingValues
LENGTH16, 32 or 64 steps
RATE1/16, 1/8, 1/32, and the triplets 1/16T, 1/8T, 1/32T
DIRECTIONforward, reverse, ping-pong, random
SWING0–100%: the second step of each pair is late

Each track runs on its own clock, so a 1/32 hat can play over a 1/8 bass. A queued clip takes over when the track's pattern ends, in whatever direction it plays.


6Sound pages and the LFO

FX, ENV, LFO and EDIT show the parameters of the selected track's engine in four groups. The four knobs edit the page; the name and value are under each knob. When a group has more than four parameters there are dots in the strip and OCT-/OCT+ (or pressing the button again) flip pages.

EDIT: the kick's frequency, FM, wave and level
EDIT: the kick's frequency, FM, wave and level
FX: drive, fold, reson and crush
FX: drive, fold, reson and crush
ENV: pitch shape, duration and curve
ENV: pitch shape, duration and curve

What each engine has is listed in section 14. Parameters belong to the clip: switch clips and the sound switches with it.

LFO (the 303 only, since a drum hit is too short for one) is a modulation of one of the engine's parameters. There is one per clip, saved with it.

Control
SHAPEsine, triangle, saw, square, random
RATEsynced to the tempo (1/64 to 8 bars) or free (0.05–25 Hz)
DEPTH0 is off; at full the parameter moves half its range each way
TARGETthe parameter it moves
SYNCon: tempo-synced; off: free
RETRIGrestart on every note (with random: a new value on every note)
The 303's LFO: a triangle on the cutoff
The 303's LFO: a triangle on the cutoff

7Clips

Press HOME. Each track has sixteen clips; a clip holds everything of the track: pattern, engine, sound, LFO and sequencer settings. The grid shows ten rows (the tracks) of sixteen (the clips); a filled square is a clip with notes in it, the playing one is lit.

The white keys launch a clip of the selected track:

KNOB 1 on this page is the track's level.

The clips: ten tracks, sixteen clips each
The clips: ten tracks, sixteen clips each

Changed and not saved? If you edit a clip, leave it and launch it again before saving, it comes back as it was last saved. Save first (or save with the pick) to keep an edit.


8Scatter effects

While it plays, the second row of keys on a sound page (FX, ENV, LFO, EDIT) or on GLO is not for notes but for scatter effects, held for as long as you press. The first eight act on the selected track, the last eight on the whole mix:

Keys 1–8 (the track)Keys 9–16 (the mix)
1/32, 1/16, 1/8: a loop of that length1/32, 1/16, 1/8: a loop of that length
REV: reverseREV: reverse
GATE: chopGATE: chop
CRSH: bit crusherCRSH: bit crusher
DIST: distortionLPF: a low-pass filter
RING: ring modulatorHPF: a high-pass filter

One effect at a time per scope. Stopped, the same keys audition the track's notes.

Playing: a scatter effect held on the kick
Playing: a scatter effect held on the kick

9Keys, arpeggiator and recording

ARP turns the whole keyboard into a keyboard for the selected track, from F3 to G5; OCT- and OCT+ move it up and down. The first knob chooses a mode:

Mode
KEYSPlain keyboard.
UP, DOWN, UPDN, RANDThe held keys arpeggiate (with PLAY). RATE (1/16, 1/8, 1/4), GATE and OCT (octaves) are the other knobs.
TRSPTransposition: a key is a number of semitones from middle C (the dot). The track's sequence plays transposed until the next key. Leaving TRSP puts it back.
ARP in KEYS mode
ARP in KEYS mode

REC gives the keyboard to the selected track too, and while the track plays it records: a note goes into the nearest step of the track's pattern (a drum hit, or a 303 note whose length is how long you held the key). Stopped, REC just plays.

REC
REC

10The mix: SEL

SEL is the page of what every track has. Each track is a column: the wide bar is its live level (after the volume and the mute), the white tick the volume, and the two thin bars its sends. Black keys pick the track.

SEL: engine, volume and the two sends
SEL: engine, volume and the two sends
Knob
ENGINEwhich engine the clip on this track plays
VOLUMEthe track's level
SEND 1how much goes to FX 1
SEND 2how much goes to FX 2

The sends start closed. FX 1 and FX 2 are two master effects (chosen in GLO, next section): raise a track's send to put it in the echo or the room. Sends are after the volume and the mute.


11Global settings and the master knobs

GLO is a list; KNOB 1 scrolls, KNOB 2 changes the value of the row.

GLO
GLO
Row
TEMPO30–300 BPM
VOLUMEThe master volume. It counts when the MASTER knob is not the volume; otherwise the row says MASTER KNOB.
DJ FILTEROne knob: low-pass to the left, high-pass to the right, off in the middle
DJ RESOThe DJ filter's resonance
FX1 TYPE, FX1 AMOUNT, FX1 PARAMThe first master effect: what it is, its return level and its own control
FX2 TYPE, FX2 AMOUNT, FX2 PARAMThe same for the second
MASTER / SELECT / PRESETS / ALGO KNOBWhat each of the four knobs does
COMP THRESH … COMP MIXThe master compressor
CLIPSHow many clips are unsaved
CPUThe audio's load, and its peak
BATTERYThe charge, or USB POWER
FX 1 and FX 2 in GLO: type, amount and parameter
FX 1 and FX 2 in GLO: type, amount and parameter

FX 1 and FX 2

Each of the two master effects is one of:

TypePARAM is
REVERBSIZE of the room
DELAYFEEDBACK (a dotted eighth, darker with every repeat)
DRIVEhow hard it is driven (a soft clip)
DISTORThow hard it is driven (a hard clip)
FUZZthe fuzz (lopsided clipping)
WAVSHAPEthe fold of a wavefolder
CRUSHthe bits and the sample rate
DECIMthe sample-rate reduction
RINGthe ring modulator's frequency, 40 Hz–2 kHz

AMOUNT is how much of the effect returns to the mix. The reverb and the delay have one buffer each, so only one of the two slots can be a reverb and only one a delay.

The four knobs

MASTER (a pot) and SELECT, PRESETS and ALGORITHM (encoders) each do one of:

VOLUME · DJ FILTER · DJ RESO · FX1 AMOUNT · FX2 AMOUNT · BPM

Choose in GLO with KNOB 2 on the knob's row. A knob and the GLO row of the same name are one value: turn either. BPM on an encoder moves one BPM a click; on the pot, 30 to 300.

The factory setup: MASTER volume, SELECT the DJ filter, PRESETS FX 1's amount, ALGORITHM FX 2's. The DJ filter acts on the whole mix.

The compressor

The master compressor is always on, then a limiter. GLO has its threshold, ratio, attack, release, makeup and mix. The defaults are a gentle glue: -12 dB, 2:1, 8 ms, 110 ms, +2 dB.


12Saving

Nothing is saved on its own. The SAVE light glows when something has changed.

Press SAVE and a pick opens on the screen. Every other button goes dark, SAVE glows at half, and what can be saved blinks:

The save pick
The save pick

Press a blinking track key to save that clip, or GLO to save the settings. Press SAVE again to save everything that changed, including clips that are not on screen. Any other button or key cancels. With nothing to save, SAVE only says so.

The setting the MASTER knob is doing is never saved (its volume, if it is the volume): the pot is a position, and TRIBE reads it when it starts. Everything else on GLO is saved, the volume included when MASTER does something else.

Clips are saved to the FM-1's flash, one at a time, only the ones that changed. If the power is cut in the middle of a save, the previous version of the clip is still there.


13Troubleshooting

Update mode: hold OCT- and OCT+ together for five seconds. A countdown appears; let go before it ends to cancel.

Calibration: if a button or knob does the wrong thing, hold OCT- and OCT+ while you switch the FM-1 on. The screen then asks you to press each button and turn each knob in turn.

Questions and bugs: join the fm1-tribe Discord or open an issue.

It's crackling or cutting out: look at CPU in GLO while everything plays. Ten tracks of 303s and kicks is a lot for the FM-1; turn tracks to NONE or to simpler engines if the peak reaches 100%.

After a crash: TRIBE shows a red CRASH screen and restarts by itself a few seconds later. The next start shows RESTARTED AFTER A CRASH and an address (PC ...) for a moment. If you report the problem, include that address and what you were doing.

Safe mode: if TRIBE crashes twice in a row while starting, it starts in SAFE MODE instead. There's no sound, but USB works, so the web installer can reach it: reinstall TRIBE, or put the stock firmware back from the same page. Press PLAY to try starting TRIBE normally again. If even safe mode fails twice, the FM-1 drops into the chip's own update mode, and only the rescue below can reach it.

Recovering an FM-1 that won't start

If the FM-1 is in the chip's own update mode (a blank screen after crashes), neither the web installer nor M-VAVE's updater can see it, but a script can put M-VAVE's firmware back, on a Mac, with the USB cable you already have:

Open Terminal, paste this line and press Return:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/apiel/fm1-tribe/main/tools/fm1_rescue.sh)"
  1. If a window asks to install the command line developer tools, click Install. When it has finished, paste the line again.
  2. If it asks for a password, type your Mac password (nothing shows as you type) and press Return.
  3. When it says it's waiting, plug the FM-1 in and switch it on. It crashes and goes blank, and the script catches it. It checks the chip, saves a backup of the FM-1's memory in the fm1-rescue folder in your home folder, and asks before it writes anything.
  4. Type yes and press Return. Don't unplug anything until it says it's restarting the FM-1. The FM-1 then starts into its original firmware, and you can install TRIBE again from there.

The script downloads M-VAVE's FM-1 V15 firmware and JieLi's flash loader, and checks both against known fingerprints. It writes only the firmware area of the memory, never the bootloader or the FM-1's own settings, and checks everything it writes. Running it again is always safe. If it fails, copy everything in the Terminal window and open an issue. If the FM-1 never shows up at all, Felucca's FM-1-transporter (a small RP2040 board wired to the USB lines) can still reach it.


14Parameters

What each engine's four groups hold, page by page (four knobs a page). Ranges are what the knob shows; every knob is 0–127 underneath.

EngineFXENVEDIT
KICK WDrive, Fold, Reson, CrushPchShp, Dur, CurveLevel, Freq, FM, Wave, Harm2, Harm3, Skew, Phase
KICK PDrive, Wfold, Reson, Crush, BoostDur, SwpShp, SwpDpt, FMSnapLevel, Freq, Morph, FMDpt, FMRat
909 BDDrive, DistAttack, Decay, P.Dpth, PitchLevel, Tune
909 SDDrive, Dist(none)Level, Tune, Tone, Snappy
909 LT, MT, HTDrive, DistDecay, AttackLevel, Tune
909 RSDrive, Dist(none)Level, Tune
909 CPDrive, DistTailLevel, Tune
909 CH, OH, CR, RDDrive, DistDecayLevel, Tune
808 BDDrive, DistDecay, AttackLevel, Tone, Tune
808 SDDrive, DistDecayLevel, Tone, Snappy, Tune
808 LT, MT, HT, RSDrive, DistDecayLevel, Tune, Sound
808 CPDrive, DistDecay, AttackLevel, Tune, Sound
808 CB, CY, OH, CHDrive, DistDecayLevel, Tune
303Drive, DrvTypEnvMod, Decay, Slide, AccDecCutoff, Reso, Accent, Wave, Tune

The 303 also has the LFO page (section 6). Every track has its VOLUME and the two sends on SEL.


15Credits

TRIBE is free software under the GNU General Public License, version 3. If you share the firmware, you must also share its source code.

M-VAVE and FM-1 are trademarks of their owners, and TR-808, TR-909 and TB-303 are Roland trademarks. TRIBE is not connected with M-VAVE, Roland or Hügelton Instruments.

Join the fm1-tribe Discord

Questions, bugs, ideas, and what you make with it.

Join the Discord