FiMba-1

a thumb piano firmware for the M-VAVE FM-1, running in the browser from the same C code

Turn your phone sideways for bigger controls.

Off. Sound starts when you switch it on.

Install on your FM-1

Beta. Custom firmware is installed at your own risk. Before you start, download M-VAVE's stock firmware (FM-1 V15, "PC Firmware" at m-vave.com/download) so you can always go back (below).

  1. Connect the FM-1 to this computer with a USB data cable, directly (no hub, probe or Transporter). Close other apps that use MIDI.
  2. Use Chrome or Edge, and allow MIDI (with SysEx) when the browser asks.
  3. Press Install. Don't unplug or close this page while it writes (about a minute). The FM-1 restarts into FiMba-1 and shows its version.
Looking for the latest release…

Back to the stock firmware

This writes M-VAVE's own FM-1 V15 back, from FiMba-1 (or its safe mode, or any Felucca-family firmware) over the same USB cable. Choose the file you downloaded from M-VAVE: it is checked (SHA-256) before anything is written. If the FM-1 doesn't start at all, it comes up in safe mode after two tries, where this still works; past that, tools/fm1_rescue.py in the repository restores it from a Mac.

Log

  

Playing

  • Layout (Keys page): Tine, the default, puts the tines on the white keys as on a real kalimba, lowest note (C4) in the middle and the scale alternating outward. Keyboard makes every key, white and black, play its printed note from F3 up, with Transpose on the Keys page (or PRESETS).
  • Black keys in the Tine layout follow the Keys page's Black setting: Chords (a thumb roll: C Dm Em F G Am Bdim, then CM7 FM7 G7 Am7), Sharps (the white key to the left, a semitone up) or Perform (mute, cover the hole, freeze, octave down / up while held, six materials).
  • PLAY freezes the grain cloud. REC mutes every tine. ARP, tapped, starts and stops the mbira pattern over the chord you pick (a chord key, held keys in Keyboard, or held MIDI notes); held, it opens the pattern's settings.
  • OCT− / OCT+: octave. SELECT material, ALGORITHM scale, PRESETS key.

Pages

  • Press a page button again for its next page (the dots by the page's name show which).
  • HOME Tine: material, hardness, decay, tone → Character: worn, glide, tuning, release.
  • ENV Body: box, gourd or board, buzzers, wah, wah rate.
  • FX Space: reverb, size, delay, time → Color: tape, lo-fi, chorus, filter.
  • LFO Grain: level, size, density, pitch → Spread: spray, feedback, width.
  • SEL Keys: layout, then scale, key and black-key mode (Tine) or transpose and octave (Keyboard) → Play: strum, octave.
  • SEQ Pattern: pattern, tempo (or hold ARP). GLO Setup: tune, MIDI channel, MIDI out. EDIT steps through every page.

Mouse, touch and keyboard

  • Drag a knob up or down, or scroll over it. Click or touch keys and buttons; several fingers work on a touch screen.
  • White keys 1–8: Q–I, 9–16: A–K. Black keys 1–11: 1–0, -.
  • Space freeze, Enter mute, Esc HOME, Z / X OCT− / OCT+, ↑ ↓ material.
  • Shift-click (or right-click) a button to hold it down.

MIDI

Connect MIDI to play from a keyboard: notes pluck the tine of that pitch at their velocity, the mod wheel and pressure cover the sound hole, the sustain pedal holds damps, pitch bend bends every ringing tine, program change picks the material. It needs a browser with Web MIDI (Chrome or Edge), and the page may not be allowed to ask for it when shown inside another site.

What this is

The firmware's UI and sound engine compiled to WebAssembly, running at the FM-1's 44.1 kHz: what you hear is the physical model the FM-1 would run. SAVE keeps your settings in this browser. The emulator is FoMni's, by way of X0X; the idea comes from Groove OS.