Les

FM-1 firmware · v0.7.4-de2a4cb

JIANT

JIANT turns the FM-1 into a six-track groovebox (four tracks play until you switch on all six) with eight synth engines: ANALOG, FM6 (a six-operator DX7-style engine from Dexed), PHASE, LOFI (chip sounds, bytebeat, floatbeat), VOICE, WHEEL (organ), NOISE and DRUM (the synthesized DRUM-X kit). Each track has a 64-step pattern with locks and per-step "components", tracks can mutate on their own, and dice throw a whole song idea or a new sound, sequence, LFO or effect set. Projects hold four sections each and chain into a song, in the style of SLOOP. The screen draws each track as a creature in thermal colours. It suits someone who likes generative, evolving music and live section jamming, and who is happy to learn a few hold gestures.

Turns it into
A six-track generative groovebox (four tracks on by default): eight engines, nine DRUM-X kits, 64-step patterns with two components per step, chord keys, a steerable song generator, sections, arrangements and eight-channel USB stems
Best for
Evolving, generative music and jamming between sections; dual-core operation is still marked experimental
Install
hub or JIANT's own installer (no GitHub releases)

Where everything is on JIANT

JIANT FM v0.7.4-de2a4cb on the M-VAVE FM-1 F#3 G#3 A#3 C#4 D#4 F#4 G#4 A#4 C#5 D#5 F#5 F3 G3 A3 B3 C4 D4 E4 F4 G4 A4 B4 C5 D5 E5 F5 G5 VOLUME GENERATOR ELSEPAGES EDIT+DICE SOUND MAIN 1 ELSEVALUE 1 FX+FILTER MAIN 2 ELSEVALUE 2 FX+CRUSH MAIN 3 ELSEVALUE 3 FX+THROW MAIN 4 ELSEVALUE 4 FX+DEPTH SOUND FX+JUMP PAGES TRACK OCT - WITH OCT+ OCT 0 WITH OCT+ UPDATE 5S OCT + EFFECTS 2×NEXT SECTN HOLDPUNCH-IN SCALE ENVELOPE LFO SOUND EDIT MIX/GLOBAL HOLDMIX LAYER REC+CLR MIX AUT HOME SAVE ARP SEQUENCE PLAY/ STOP REC ARM

TapSwipe across the panel, then tap any control to see what it does on JIANT.

Start here

Dual-core operation is experimental. The installer retains its older untested-hardware warning, while the current README describes hardware testers. Nothing in this guide was tried on a unit. Hold REC at power-on to use one core for that session.

How the panel thinks

  • The printed names mostly don't apply. ALGORITHM picks the track. PRESETS changes the sound (and is how you change engine). SELECT steps through pages (on HOME it opens GEN). The button printed SEL is what JIANT calls SCL (scale).
  • Press a button for its pages, press again for the next page. Page buttons act when you let go. Coming back from another group, you land on the page you used last.
  • Hold a button for its quick layer. FX, SEL, EDIT, GLO, REC, SAVE and LFO have one, and SEQ has one on the pattern pages. While held, the keys and knobs become shortcuts and a map shows on screen. The hold time is 0.4 s (MENU > HOLD, 0.3 to 0.6 s); pressing a key or turning a knob while holding opens it at once.
  • Hold a button and turn SELECT for that part's dice: HOME (GEN), EDIT (sound), SEQ (sequence), LFO (LFO), FX (effects). GLO + SELECT is the tempo. ENV, SEL, ARP and SAVE + SELECT step through their pages.
  • Hold any page button and turn PRESETS to step through its pages.
  • OCT+ means "do it", OCT- means "back" in dialogs, the menu and on action pages. Elsewhere they shift the octave.
  • Hold HOME for the menu. GLO + G4 is undo.

Play and pick sounds

Do thisWhat happens
Turn ALGORITHMPick the track: T1-T4, or T1-T6 after GLO > SYSTEM > TRACKS 6.
Turn PRESETSChange the track's sound: one list over every engine, then your saved user sounds. Your steps stay. On step and list pages it moves the cursor or the selection instead.
Play the keysNotes on the selected track, F3 to G5.
OCT- / OCT+Octave down or up, up to 3 each way. Both together: back to 0.
HOME, KNOB 1-4The track's four main controls (ANALOG: cutoff, resonance, attack, release; DRUM: morph, tune, tone, decay; each engine has its own four).
Keys on a DRUM trackThe kit on the General MIDI drum map: C4 kick, C#4 rim, D4 snare, D#4 clap, F#4 closed hat, A#4 open hat, toms around them.
SAVE pages, PRESETSKNOB 1 sound, KNOB 2 engine, KNOB 3 favourite mark, KNOB 4 all or favourites only.
Browse DRUM presetsNine complete kits: DRUM-X, 909 CLUB, 808 BOOM, LOFI DUST, INDUSTRIAL, ACOUSTIC, DUB ROOTS, TECHNO RAW, BREAKS. Picking one loads its sounds, layers and sends into the section. Sound browsing keeps CHORD and sequencer settings.
ARP page, MODE TRNSKeys stop sounding; each shifts the sequence relative to C4, with the octave and key mode applied. SCL TRANS transposes both keys and sequence separately. With POLY CHORD enabled, the last dispatched chord tone sets the final TRNS shift; STRUM can delay that change.

Record and edit patterns

Do thisWhat happens
Press RECArm the selected track. If stopped, playback starts and what you play (and knob moves) is recorded.
On STEP, stopped, press RECStep recording: each note or chord you play goes into the cursor step and letting go moves on. While holding the keys: KNOB 1 sets how many steps it lasts; press ARP to write it as an arpeggio (KNOB 1 resolution, 2 order, 3 octaves).
SEQ (STEP, piano roll)KNOB 1 cursor, KNOB 2 note, KNOB 3 note, tie or rest, KNOB 4 accent and slide. EDIT clears the cursor step.
STEP or NOTE on a DRUM track (grid)The white keys are 16 steps; black keys 1-8 pick and play the lane; hold C#5 for accents; D#5 and F#5 page through steps 1-64. KNOB 1 cursor, 2 lane, 3 hit, 4 accent.
Hold a step and turn a knobA parameter lock: the knob's value from the last sound page you visited, on that step alone. On the drum grid hold a step key; on the piano roll it only works while step-entering a note (REC armed, stopped). EDIT while holding clears the step's locks.
SEQ > COMP and COMP 2Two components per step. KNOB 1 step, KNOB 2 type, KNOB 3 value; KNOB 4 EVERY, except COMP uses it for arp rate or ratchet/echo division; WALK and CLIMB use it for rate on either page. WALK moves through scale degrees and CLIMB through octaves over repeated loops. FILL requires FX held. Components also work on drum hits.
SEQ > NOTEOn a melodic track: KNOB 1 focus or ALL, KNOB 2 pitch, KNOB 3 move, KNOB 4 MICRO (-8/16 to +7/16 of a step). EDIT deletes the note, or the whole step with ALL focused. On DRUM, the screen still shows grid cards, while KNOB 1 selects a step and KNOB 4 changes MICRO.
SEQ > STRETCHKNOB 1 stretches x2-x8 or squeezes /2-/8; KNOB 2 sets x2-x8 copies in total (x2 adds one copy), or as many full copies as fit in 64; KNOB 3 nudges a step; KNOB 4 rotates where the pattern is read. Changes happen as you turn, with undo. A continued turn uses that knob's original pattern; switching knobs takes the result as the next base.
SEQ > AUTOMATION and AUTO LISTTurn the track's automation on or off and clear it; or edit every lock and event as a list (OCT+ adds or toggles, EDIT deletes).
SEQ > MUTATEHow often the sound and the pattern change by themselves, how much, ORBIT or DRIFT. OCT+ keeps the music now as the anchor, OCT- freezes.
SEQ > PLAYHEADSThree extra playheads over the same steps: head, rate, direction, interval.
SEQ > TRACKKNOB 1 sequence pitch, KNOB 2 chance, KNOB 3 HUMAN, KNOB 4 REC Q. HUMAN varies velocity, timing, gate and envelope at playback. REC Q controls how closely live notes snap to the grid. C.LEN no longer has a panel control; older stored values remain in the project data.
Hold SEQ (on STEP, NOTE, COMP, COMP 2, PATTERN, AUTOMATION, TRACK)SEQ TOOLS: F3 clear, G3 reverse, A3 / B3 shift, C4 random, D4 cook, E4 new beat (drums), F4 clear automation; on drums G4-C5 lane clear, reverse, fill, random (lane on black 1-8). KNOB 1-4 length, division, swing, gate. No undo.
Hold SEQ, press RECCLEAR ALL SEQUENCES? OCT+ clears every track's steps and automation.
Hold RECF3 clears the track at once (GLO + G4 undoes), G3 steps the click (off, while recording, on).

While a song or quick chain is running or armed, EDIT on NOTE, STRETCH/REPEAT, and edits on COMP 2 are blocked with STOP TO EDIT. On PUNCH, OCT+ can still breathe for CLEAR even though it will refuse to open the confirmation. GEN’s PLAY follows the SAVE layer’s PLAY setting. GEN selects SONG only when PARTS or SONG generation actually writes sections and ARRANGE; LOOP or protected owner-stored sections leave the PLAY setting as it was.

Switching from your firmware

Pick the firmware on your FM-1 now to see what installing JIANT does to its data.

1 · Back up first, on Stock V15

  • Stock V15 has no way to back up your voices or patterns. The FM-1 only sends notes over MIDI, never voice data.
  • One indirect way to back up, from Baud Girl's own docs (not tested by us): installing her FM-1+VA keeps your saved stock presets and patterns, and its browser Device Manager can then save all 128 presets and 16 patterns as files. FM-1+VA is closed source; install it at your own risk.

2 · What happens to your Stock V15 data

Possibly at risk

(the layout is reported or inferred, not read in code)

  • stock settings (and possibly patterns)

(weakest evidence: reported)

Everything about leaving Stock V15

Everything else on JIANT

The pages

PressPages, in the order further presses goHold
HOMEHOME (the creatures)MENU (about 0.7 s)
FXFX, DIST, AUTO PAN, DLY, DLY 2, DLY 3, REVERB, REVERB 2, CHORUS, SLICER, SL BUS, SL BUS 2, SL PITCH, MASTER, PUNCH. Here a quick double tap moves on to the next group of FX pages.Punch-in effects layer
SELSCL, SCL 2, CHORDSet the root by key
ENVENV, ENV DESTnothing
LFOLFO, LFO DEST, MOD, MSEQ, MSEQ 2Macros M1-M4
EDITEDIT 1, EDIT 2, the engine's extra pages, FILTER, VOICE. Extras: RETRIG (LOFI bytebeat and floatbeat), MORPH (ANALOG, PHASE, LOFI), OPERATOR, OP ENV, OPERATOR 2 (FM6). DRUM: KIT, KIT 2, KIT 3, X-MOD, FILTER, SOUND 1-4, LEVELS 1-2, STEREO, VOICEINIT / RECALL, drum sound mutes
GLOMIXER, GLOBAL, SYSTEMMutes, solos, levels, tap, undo
SAVEUSER first, then PROJECT, ARRANGE, TOOLS, PRESETSSong layer
ARPARP, ARP 2nothing
SEQSTEP, PATTERN, NOTE, STRETCH, COMP, COMP 2, TRACK, PLAYHEADS, AUTOMATION, AUTO LIST, MUTATESEQ TOOLS (on STEP, NOTE, PATTERN, COMP, COMP 2, TRACK, AUTOMATION)
RECarms the selected trackREC layer

On any page, KNOB 1-4 change the four values on screen, in the same order. EDIT 1 and EDIT 2 carry the engine's own page names (OSC and FLT on ANALOG, KIT and KIT 2 on DRUM).

Shape a sound

Do thisWhat happens
EDIT, KNOB 1-4The engine's values 1-4; EDIT again for 5-8, then the engine's own pages.
EDIT > FILTERType (LP, HP, BP, COMB), cutoff, resonance, and drive (ANALOG) or the track's distortion.
EDIT > VOICEPoly, mono, legato or unison; glide; glide mode; note priority.
ENVAttack, decay, sustain, release. FM6 applies these to its carrier envelopes; its neutral setting is 0, 0, 127, 0. Again: envelope amounts to filter, pitch and shape, and LOOP.
LFORate (turn left past the slowest for tempo divisions), wave, phase (left past 0 for free-running), fade. Then amounts, the MOD matrix (KNOB 1 picks one of 4 slots), and a 16-step modulation sequence (MSEQ).
FM6 operator pagesKNOB 1 picks the operator (1-6), the others edit its frequency, level, envelope, detune and velocity. Editing makes the patch the track's own.
DRUM pagesKIT and KIT 2 move the whole kit; SOUND 1-4 edit one of the eight sounds (KNOB 1 picks it, or just strike its key); LEVELS and STEREO set the mix.
Hold EDIT, press F3 / G3INIT (the engine's defaults, dry) or RECALL (returns to the sound this section was stored with). Both ask first.
Hold EDIT, turn KNOB 1-4EDIT 1's four values, wherever you are.

Dice and undo

Do thisWhat happens
Turn SELECT on HOME, or hold HOME and turn SELECT elsewhereOpen GEN. SELECT changes its three pages; KNOB 1-4 change the settings; OCT+ makes the piece. HOME or OCT- closes it; PLAY starts or stops it.
Hold EDIT / SEQ / LFO / FX, turn SELECTA new sound / sequence / LFO / effect set for the selected track, heard at once. Turn SELECT again for another roll, OCT+ keeps it, OCT- puts back what was there.
Hold GLO, press G4Undo the last big change (dice, clears, INIT, RECALL, PROJECT > LOAD). Again: redo. Section jumps in the SAVE layer and switching project set no undo point, so what they replace can't come back. Not while a song plays; gone at power-off.

GEN page 1 sets genre (43 choices or RANDOM), seed, energy and form. Page 2 sets drums, bass, chords and arp; page 3 sets lead, complexity, swing and human feel. Pressing OCT+ again without changing settings chooses another seed; changing a setting first rebuilds from the same seed. LOOP makes a loop; PARTS and SONG can populate sections and ARRANGE, while preserving sections you stored yourself. A generation replaces the current sounds, steps, mix, kit and automation and disables MUTATE; mutes stay. Close GEN, then GLO + G4 restores the live music only. Generated stored sections and ARRANGE rows stay changed. Sections reach flash once stopped; rows save after about two stopped seconds. While a song or quick chain is running or armed, OCT+ closes GEN without generating; stop it before opening GEN again.

Effects and live performance

FX pages: KNOB 1-4 set the track's drive and its chorus, delay and reverb sends. Further pages hold the track's distortion type and autopan, then the shared slicer, delay, reverb (ROOM, SPRING, SHIMMER, RESO, CLOUD), chorus and master (clipper, drum punch, kick ducking).

Do thisWhat happens
DLY, KNOB 2Feedback from 0 to 120%. ANALOG grows above 100%; DIGITAL caps it at unity.
DLY 2, KNOB 4MOD adds slow and fast drift to the echoes.
DLY 3KNOB 1 ANALOG or DIGITAL, KNOB 2 PING for alternating stereo echoes. Ping-pong uses at most about 0.74 s and is bypassed by the grain delay.
REVERB 2, KNOB 3Resonant input tone: darker to the left, thinner to the right.
FX > PUNCHKNOB 1 length (1-64), KNOB 2 resolution (1/8, 1/16, 1/32), KNOB 3 status, KNOB 4 selects CLEAR; OCT+ asks, then OCT+ clears.
LFO > MODThe destination list now includes delay time, feedback, tone and mix; reverb size and damping; chorus rate and depth. Tracks aimed at one bus add their modulation.

ANALOG MORPH now reaches every waveform: it loops the simple waves, narrows PWM, changes SYNC/RING ratio and spreads SAW3. LOFI BYTE/FLOAT shape modulation moves VAR; WHEEL shape modulation drives the organ; the DRUM LFO can move tuning and morph. POLY chords can glide into each other, across tied steps too.

Hold FX and the keys become punch-in effects. Each lasts while its key is held:

KeyEffectKeyEffect
F3, G3, A3Repeat 1/8, 1/16, 1/32B4, C5Stutter 1/8, 1/16
B3Low-pass sweepD5Slow attacks
C4High-pass sweepE5Arpeggio (a fill on drums)
D4, E4Notes an octave down, upF5Random notes and steps
F4Half tempoG5Erase the punch-in lane (stopped: all of it; playing: only with REC armed)
G4, A4Short, long decaysF#3 to F#4 (black 1-6)Mute track 1-6 while held
A#4Cycle the note effects' targets: every track, synths only, drums only

While holding FX: KNOB 1 filter, KNOB 2 crush, KNOB 3 throw (dry mix into delay and reverb), KNOB 4 repeat level. They snap back when you let go. The note effects (D4 to F5) come in on the next 1/16, and with REC armed and playing they are recorded into the section's punch-in lane.

  • Lock FX open: hold FX until its map shows, then let go without touching anything ([FX] LOCKED). Both hands are free; press FX again to unlock.
  • MENU > CONTROL > FX LATCH ON: each key press toggles its effect, the macros keep their values, and FX + OCT- turns everything off.
  • Macros: hold LFO and KNOB 1-4 are macros M1-M4 (the map shows where each goes). Let go after the map shows and they stay latched across all pages until the next LFO press. While holding LFO, F3 rolls new macro routes and G3 clears them.

Mix: mutes, solos, levels

Do thisWhat happens
GLO (MIXER)Six track columns in every colour and style; LARGE shows four bigger columns. KNOB 1 level, KNOB 2 pan, KNOB 3 reverb send, KNOB 4 mute, for the selected track.
Hold GLO, press F#3 to F#4 (black 1-6)Mute or unmute track 1-6.
Hold GLO, press G#4 / A#4 / C#5 / D#5Mute or unmute the drum groups: kick, snare, hats, percussion.
Hold GLO, hold F3 to D4Solo track 1-6 while held.
Hold GLO, press E4Unmute everything.
Hold GLO, press F4 three times or moreTap tempo (internal clock only).
Hold GLO, press A4Freeze or free every MUTATE.
Hold GLO, turn KNOB 1-4Track 1-4 levels (tracks 3-6 when T5 or T6 is selected).
Hold GLO, turn SELECTTempo.
Hold GLO, press PLAYRestart from the top without stopping.
Hold EDIT on a DRUM track, press black 1-8Mute or unmute one kit sound.
Hold REC, then press FX / EDIT / ENV / LFO / SEL / ARP / GLOWipe that part’s automation without a question (GLO: every track’s level and pan). EDIT also clears HUMAN, REC Q, CHORD, VOICING and STRUM automation through their shared slots; parameter values stay.

Scale

Do thisWhat happens
SEL (the SCL page)KNOB 1 root, KNOB 2 scale, KNOB 3 key mode, KNOB 4 transpose. TRANS moves keys, sequence, arp and incoming MIDI on melodic tracks. Root, scale and key mode are shared.
Key mode WHITEThe white keys walk the scale with C4 as the root; the black keys go silent. SNAP rounds every key into the scale.
SEL again (SCL 2)ALL TR shifts all the sequences together, in scale steps. If notes sound off from the roll, check it is 0.
Hold SEL, press any keyThat note becomes the root. KNOB 1-4: root, scale, sequence rotation, sequence pitch.
SEL > CHORDKNOB 1 chord type, KNOB 2 voicing, KNOB 3 strum. A key builds a chord on a polyphonic synth track; its release ends the chord and cancels notes still waiting to strum. Drum, mono, legato and unison tracks play the root. MIDI notes stay individual.

Songs and sections

Do thisWhat happens
Hold SAVE, press F3 / G3 / A3 / B3Play section A / B / C / D, on the next bar (at once when stopped). Two or more in one hold make a quick chain.
Hold SAVE, press C4 / D4 / E4 / F4Store the music now into A / B / C / D (works while playing; written to flash when you stop).
Hold SAVE, press OCT+ / OCT-Store into, or recall, the section playing.
Hold SAVE, press D5 / E5 / G5PLAY plays the loop or the song / SONG REC (your live section changes become the song) / go to ARRANGE.
Hold SAVE, turn KNOB 1, let goSwitch project (stopped only); its section A replaces the music, with no undo.
SAVE pages, ARRANGEKNOB 1 row, KNOB 2 section (left past A deletes the row; on + ADD adds one; on END: stop, x2-x8, loop), KNOB 3 bars, KNOB 4 right stores a scene, left clears it. PLAY or OCT+ plays the song. REC does not arm here.

Save, load and back up

Do thisWhat happens
Stop, press SAVE, OCT+, OCT+Save the track's sound into the selected user slot (32 slots) with the offered name; a used slot asks first, so one more OCT+. KNOB 1 slot, KNOB 2 load, KNOB 3 erase, KNOB 4 save; turn a knob right to pick, then OCT+.
SAVE twice (PROJECT)KNOB 1 project 1-8 (stopped only; the music you have stays), KNOB 2 section A-D, KNOB 3 load (replaces the music at once; GLO + G4 undoes it), KNOB 4 save. Saving needs playback stopped.
On the NAME screenWhite keys type phone-style (tap again for the next letter), F# left, A# right, G# space, C# delete, D# letters/digits. KNOB 1 cursor, KNOB 2 character. OCT+ writes, OCT- cancels.
EDIT on USER or PROJECTRename the slot.
SAVE pages, TOOLSAny knob or PRESETS picks: clear sequence, init sound, delete song row, clear song, new project, CPU TEST. OCT+ asks, then does it. CPU TEST replaces the current music with a heavy test piece; undo brings the music back.
Switch off and onStarts empty unless MENU > SYSTEM > RESTORE LAST is ON. Save into a section before switching off.

Not everything asks first. Confirmations use OCT+ for yes and OCT- for no. They cover saving over used slots, erasing a used user sound, loading a pattern over steps, SAVE > TOOLS, clearing AUTOMATION or PUNCH, deleting a song row, INIT, RECALL, SEQ + REC and INIT SYSTEM. GEN has its own settings screen: the knobs, SELECT, HOME and PLAY work there, and OCT+ generates without another question.

These act without a confirmation: storing a section with SAVE held; USER > LOAD; switching projects through SAVE + KNOB 1 or channel 16 programs 16-23; SEQ TOOLS; REC + a page button; FX + G5; SONG REC; LFO + F3/G3; and ARRANGE’s scene knob. DRUM factory presets, chosen with PRESETS or a program change, replace the section’s whole kit, layers and sends in RAM without undo. PROJECT > LOAD and REC + F3 are undoable. GEN PARTS/SONG can also store sections and replace ARRANGE; undo restores only the live music, leaving those stored results.

Settings and hidden gestures

Do thisWhat happens
Hold HOMEMENU, four tabs (DISPLAY, CONTROL, AUDIO, SYSTEM). ALGORITHM picks the tab, PRESETS the row, any knob or OCT+/OCT- the value. HOME closes.
GLO, GLO again (GLOBAL), again (SYSTEM)Tempo, swing, clock source, tune; then TRACKS (4 or 6), LOAD (FULL, LITE, ECO), MIDI routing, CPU readout.
Hold OCT- and OCT+ for 5 secondsUpdate mode for installing firmware. A countdown shows from 2 s; let go to cancel.
Hold OCT- and OCT+ while switching onHARDWARE CALIBRATION: press each named button and turn each knob so JIANT learns the panel. Any key cancels.
Hold REC while switching onRun this session on one processor core (MENU > ABOUT then says CORES 1).
MENU > CONTROL > MIDI OUTKEYS sends played keys; CLOCK adds internal clock and transport; ALL adds the sequencer, arp, extra playheads and note effects; OFF sends none. USB only.
MENU > SYSTEM > USBCONSOLE: stereo audio with serial console; STEREO: audio and MIDI; STEMS: eight audio channels. Changing it reconnects USB.
MENU > AUDIO > USB LEVELMASTER follows the volume knob; FIXED uses full USB level; -6, -12, -18 or -24 dB gives fixed USB headroom.
MASTERVolume for speaker and outputs. USB follows it in MASTER mode; stems are taken before the master, with USB LEVEL attenuation still available.

What the lights mean

  • Page buttons: lit for the group of the page on screen (GLO stays lit on MIXER, GLOBAL and SYSTEM; SAVE on all SAVE pages). Otherwise a faint glow so you can find them in the dark. A button breathes while its layer's map is up.
  • FX: breathes while the FX layer is locked open; lit when, with FX LATCH ON, an effect or macro is still on. ARP: flashes on the beat while an arpeggio plays. REC: lit while a track is armed.
  • PLAY: faint when stopped; the green light is on while playing and flashes on each beat of a count-in.
  • OCT- / OCT+: lit when the octave is shifted that way. In dialogs and on action pages OCT- is lit and OCT+ breathes when pressing it would do something. In the menu they breathe when a value can go that way. Inside the GLO, SEL, EDIT, SEQ, REC, SAVE and LFO layers they only glow faintly.
  • Keys: the notes you and the sequencer play (and MIDI IN); on STEP while stopped, the cursor step's notes. On the drum grid: the lane's hits, a moving light for the playing step, brighter steps 1, 5, 9, 13. In a layer, lit keys are on now and breathing keys are available. MENU > SCALE LEDS shows the scale on the keys.
  • MENU > DISPLAY > LEDS sets the idle glow: DIM HI (default, now brighter), DIM LO, OFF, or INV (the stock look). The columns take turns producing that glow to spread the electrical load. Chord keys now show every sounding note, including a strum or glide.

USB STEMS sends tracks 1-6 as mono channels and the shared effects as stereo channels 7-8, at 44.1 kHz and 16 bit, before the master processing and volume. The speaker and headphones keep playing the master. USB MIDI remains available. Incoming program changes select sounds on track channels; channel 16 instead selects sections with programs 0-3 or projects with 16-23. A project switch requires stopped transport, flushes dirty stored sections and writes the index, then loads section A if present, replacing the live music with no undo. A DRUM factory program change replaces the shared kit, layers and sends in RAM without undo.

Before you switch firmware

Coming from another firmware. JIANT's installer checks the FM-1 and installs only where it finds official V15 or JIANT. If the FM-1 is already in update mode it skips the check and writes straight away, which can leave a unit unable to start, so don't do that from another custom firmware. Its "Back up and return to official V15" only works when the FM-1 runs JIANT or a Felucca build with the archive feature (1.6 has it). From SLOOP, Melodee, X0X, FoMni or Baud Girl it stops with an error and writes nothing. In that case: back up with that firmware's own tool (X0X, FoMni and stock have no project backup), go back to stock with that firmware's installer, M-VAVE's M-UPGRADE or the Firmware Hub's return-to-V15 card, then install JIANT.

  • Back up in the firmware you are leaving first, with its own tool (above). Anything below marked at risk can be written over; whether an older saved copy survives depends on how often you saved, so do not count on it.
  • What installing JIANT does to the firmware you had before.
    Show the detail

    install (loader): JIANT's update loader (same as Felucca 1.6's) first reads the whole package and checks its CRC16, then writes the program area sector by sector, rewriting only sectors that differ; the flash head is never written (a JIANT package installed through the update path). install (loader): After the write the loader erases every 4 KiB sector whose last 256 bytes hold a valid update record, skipping 0x97000-0xDFFFF: in practice the staging record sector 0xE4000 (only sectors with a valid record at +0xF00). install (loader): On a first install from the official firmware the record drop erases 0xE8000 when the stock update record sits at 0xE8F00 (Melodee's shared U055-U072 copy B, the middle of SLOOP's USR4 range) (only if the stock updater left its record there; the location is from source comments) [reported]. update: Leaving JIANT through an update: ota_session stages the package's loader at 0xE0000-0xE4FFF and writes the UPDATA_PARM record at 0xE4F00 after the host's 'success'; a failure erases the staging area. Unlike SLOOP, JIANT does not flush sections stored only in RAM first (upgrade command from the host). every start-up: ota_boot_cleanup erases all five staging sectors (only if the first 4 bytes at 0xE0000 or the 8 bytes at 0xE4F00 are not blank). first start-up after another firmware: prefs_update writes the settings record at once (before the splash): JIANT's defaults if the record was unreadable, Felucca's carried-over values if it was Felucca's. It lands on the other firmware's older FELU copy, or on A (0xFC000) if the copies were X0X0 (settings revision byte below 2 (any non-JIANT record; after Felucca unless its byte [15][25] was 2)). first start-up after another firmware: Opening each quick layer for the first time writes the settings again (the other copy), so the other firmware's newest copy goes at the first layer opening (a layer whose 'seen' bit is clear; deferred while playing). every start-up: fvb_boot copies a staged JIANT voice bank from 0xE5000/0xE6000 to 0xE7000 (erase, payload, record) (a valid staged type-64 bank exists and 0xE7000 holds an older one or none (also after another firmware overwrote 0xE7000)). first start-up after another firmware: upf_boot moves a retired FM6 bank's patches into the user presets and writes the UPF6 object into the sector that does not hold the bank's newest copy (no valid UPF6 copy and a valid 3472-byte FM6B v1 bank of type 7 (Felucca 1.0-1.0.2 or older JIANT); SLOOP's working project and Melodee's NFM1 bank do not qualify). install (loader): JIANT's web installer: before writing it identifies the running firmware and writes only over official V15 (FM-1_015) or JIANT (FM-1_9xx answering INFO as JIANT or FELUCCA with the JIANT extension/six-track v0.x identity); anything else is refused with nothing written and sent to 'Return to official V15'. If the FM-1 is already in update mode the check is skipped and JIANT is written at once. 'Return to official V15' first saves a complete backup, which only works when the running firmware reports Felucca's archive markers (JIANT, Felucca builds with archive support); otherwise it stops with nothing written. In update mode it requires the 'recovery' box and a confirm. The backup itself only reads. New archives are named JIANT-backup-<date>.json (browser installer at de2a4cb). every start-up (with RESTORE LAST ON): autosave_boot marks the music as saved, then session_dice gives tracks without macro routes new ones; that changes the signature, so the autosave writes 0xE5000/0xE6000 about 10 s after start-up with no action. JIANT reads a Felucca owner's 'RESTORE LAST OFF' as ON (RESTORE LAST ON (default OFF; ON after Felucca if Felucca's autosave was off)).

    • Stock V15: Possibly at risk (layout reported or inferred): stock settings (and possibly patterns).
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): Baud Girl presets (128); Baud Girl patterns (16, with locks).
    • Felucca: At risk by itself: user sample slot USR3; settings, button calibration, favourites, MIDI LEARN map (changed by itself: FX LATCH switched off and LEDs-invert set to INV HI when the revision migration runs; an unmarked palette becomes JIANT FM; if CHORD ENTRY ADD, HELP, a SELECT mode other than BPM, SCREEN WAKE PANEL or 2ND CORE ON was saved, the next settings write resets 2ND CORE OFF, SCOPE OUT, STEP PREVIEW OFF, CHORD ENTRY HOLD, HELP OFF, SELECT BPM and SCREEN WAKE +MIDI; JIANT also changes some FX key assignments through its USB and palette settings; also, RESTORE LAST and KNOB ACCEL read inverted; HOME becomes LOAD (TRACKS = LITE, LEVELS = ECO); when the shared setting value is above 3, JIANT resets 2ND CORE, SCOPE MIX, STEP PREVIEW, CHORD ENTRY ADD, HELP, SELECT and SCREEN WAKE to their Felucca defaults; otherwise it keeps that value but reads it as MIDI OUT; USB and palette settings also reuse part of the FX key map). At risk by itself, under a condition: the autosave (the music as you left it); FM6 voice bank B1-B32. At risk when you act: project slot A; project slot B; project slot C; project slot D; FM6 patches of the FM6 user presets (converted when read, written back at your next save in that bank; the link to each preset breaks: JIANT plays a factory patch or the init voice instead); user sample slot USR1; user sample slot USR2; user presets 1-16 (converted when read, written back at your next save in that bank); user presets 17-32 (converted when read, written back at your next save in that bank). Felucca's RESTORE LAST OFF choice turns JIANT's autosave ON; Felucca's RESTORE LAST ON choice turns it OFF.
    • SLOOP: At risk by itself: user sample slot USR3 (header at 0xC8000); settings, calibration, song order, SYN1-4 kits, MIDI LEARN, theme and favourites. At risk by itself, under a condition: FM6 patch bank B1-B27; user sample slot USR4 (header at 0xE7000). At risk when you act: song section A (a whole project); song section B (a whole project); song section C (a whole project); song section D (a whole project); the music in progress (autosave); user sample slot USR1 (header at 0xA0000); user sample slot USR2 (header at 0xB4000); user sounds U01-U16 (converted when read, written back at your next save in that bank); user sounds U17-U32 (converted when read, written back at your next save in that bank).
    • X0X: At risk by itself: the whole X0X project (settings, sound, all 32 patterns, song, knob motion); break loops slot 3. At risk when you act: break loops slot 1; break loops slot 2; X0X button calibration.
    • Melodee: At risk by itself: shared user presets U073-U090; settings, factory favourites, calibration, saved template. At risk by itself, under a condition: shared user presets U037-U054; shared user presets U055-U072. At risk when you act: shared user presets U289-U378 (some of it lost); shared user presets U379-U384; shared user presets U109-U126; project A: patterns, song, sounds, motion, recordings; project B: patterns, song, sounds, motion, recordings; project C: patterns, song, sounds, motion, recordings; project D: patterns, song, sounds, motion, recordings; shared user presets U145-U288 (some of it lost); shared user presets U001-U018; shared user presets U019-U036.
    • FoMni: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • AMB-1: At risk by itself: AMB-1 pieces and setup. At risk when you act: AMB-1 panel calibration.
    • ChoralRoot: At risk by itself: recorded loop 9; options, playing setup and panel calibration. At risk when you act: 32 imported DX7 voices; CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches (some or all of it lost); recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8.
    • GHOULBOX: At risk by itself: user sample slot USR3; settings and panel calibration (changed by itself: Reuses FX key-map preferences for USB stems, USB level and the palette marker; may clear CHORD ENTRY ADD; HOME becomes LOAD. On first-start revision update, saves revision 2, which GHOULBOX later reads as SCREEN OFF code 2. The shared RESTORE LAST choice has the opposite meaning; a settings round trip can also turn GHOULBOX autosave OFF; SCOPE MIX/STEP PREVIEW can select MIDI OUT CLOCK/ALL/OFF, or be cleared with CHORD ENTRY ADD; KNOB ACCEL is inverted; SCENE becomes SCREEN OFF; first-start revision update also turns FX LATCH OFF; also, shared bytes change USB, palette, chord-entry, HOME and screen preferences; RESTORE LAST has the opposite meaning and a round trip can turn GHOULBOX autosave OFF; SCOPE MIX/STEP PREVIEW become MIDI OUT or are cleared, KNOB ACCEL is inverted, SCENE becomes SCREEN OFF and first-start revision update turns FX LATCH OFF). At risk by itself, under a condition: music in progress (RESTORE LAST); FM6 voice bank B1–B32. At risk when you act: project A; project B; project C; project D; user sample slot USR1; user sample slot USR2; user sounds 1–16 (converted when read, written back at your next save in that bank; whole-bank conversion changes FM6 fingerprints and can detach GHOULBOX patches; GURDY slots look empty in JIANT and a save replaces them without asking); user sounds 17–32 (converted when read, written back at your next save in that bank; whole-bank conversion changes FM6 fingerprints and can detach GHOULBOX patches; GURDY slots look empty in JIANT and a save replaces them without asking). Carried over: FM6 patches for user sounds. GHOULBOX’s default RESTORE LAST ON leaves JIANT’s autosave OFF; a saved OFF choice turns it ON.
    • M-VAVE FM-1 Open: At risk by itself: Open shared sample audio. At risk when you act: Open USER project 1; Open USER project 2; Open USER project 3; Open USER project 4; Open USER project 5; Open USER project 6; Open USER project 7; Open USER project 8; Open USER project 9; Open USER project 10; Open USER project 11; Open USER project 12; Open USER project 13; Open USER project 14; Open USER project 15; Open USER project 16; Open device preferences. Installing this firmware replaces Open’s sixteen USER projects, preferences and sample header before its first start, including the first 24 KiB of sample storage. This follows Open’s source-defined USER layout and the incoming program range; export projects and device samples before leaving Open. After M-VAVE Open, if no readable JIANT/Felucca-family settings copy remains, JIANT starts with RESTORE LAST OFF; its autosave writes only after you enable RESTORE LAST.
    • FM-106: At risk by itself: octave, last selected preset and MIDI preferences. At risk when you act: older stored user bank, if present (Beta4 does not store new edits). A valid user bank stored by an earlier FM-106 build can still be present and readable in Beta4; the bank risks listed here, if any, apply if it exists. FM-106 Beta4’s new user-sound edits are only in memory: panel save, delete and librarian bank commit do not store them, even when they report success. Read the unit into the librarian and export both user banks before switching or powering off; those exports omit sequence notes, locks and extended controls.
    • Hortator: At risk by itself: user samples USR3; settings and panel calibration (converted: After this firmware writes its newer settings format, returning to Hortator starts settings, panel calibration and the remembered Bluetooth device from defaults. It does not retry an older copy just because the newest record is too large; settings convert when read; next save writes a newer format the previous firmware cannot import). At risk when you act: project A; project B; project C; project D; user samples USR1; user samples USR2.
    • OberVave: At risk by itself: saved programs and global settings; pattern 1 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 2 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 3 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 4 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 5 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 6 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 7 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 8 (its B-track sound can change if it uses a saved program; its pattern notes remain).
    • Polly: At risk by itself: Optional QY70 style bank; Polly setup and channel sounds. At risk when you act: All four Polly songs; Polly shared memory 1; Polly shared memory 2; Polly shared memory 3; Polly shared memory 4; Polly shared memory 5; Polly shared memory 6; Polly shared memory 7; Polly shared memory 8; Polly shared memory 9; Polly shared memory 10; Polly shared memory 11; Polly shared memory 12; Polly shared memory 13; Polly shared memory 14; Polly shared memory 15; Polly shared memory 16; Polly button and encoder calibration. With no readable older JIANT/Felucca-family settings copy left, this firmware supplies no JIANT RESTORE LAST preference. JIANT starts with RESTORE LAST OFF; autosave writes only after you enable it.
    • Skiff: At risk by itself: user sample USR3; settings, calibration and favourites (changed by itself: Imports the shared 572-byte PER4 settings and panel calibration. Skiff stores CLOCK, MIDI IN and TUNE in preference bytes 18–20, PRESETS LIST in 21, HINTS OFF in 22, settings revision in 23, its scene-freed marker in 24, PERFORM KEYS in 25, LAUNCH in 26, SCREEN OFF in 27 and CLICK/FEEL in 28. JIANT interprets KNOB ACCEL and RESTORE LAST with the opposite meaning: Skiff’s default RESTORE LAST ON becomes OFF. Bytes 21 and 22 become USB STEMS and USB LEVEL; unsupported values reset to stereo and FULL. JIANT resets the scene-freed marker in byte 24 to MIDI OUT KEYS, replaces byte 23 with its palette marker, uses byte 25 as its settings revision and byte 26 as LOAD. Its first-start FX LATCH update can set the revision to 2. These shared preference meanings differ even when the record imports successfully; also, shared settings bytes select different preferences). At risk by itself, under a condition: project A; project B; project C; project D; last session; shared 64-pattern pool (some or all of it lost). At risk when you act: user sounds’ own FM6 patches (converted when read, written back at your next save in that bank; The own-patch link is lost when JIANT converts an unmarked Skiff sound; writing that bank makes the broken link persist back in Skiff); user sample USR1; user sample USR2; user sound bank 1 (converted when read, written back at your next save in that bank; Conversion changes sound records and can detach their own FM6 patches; saving anywhere in the bank makes the converted records persist on return to Skiff); user sound bank 2 (converted when read, written back at your next save in that bank; Conversion changes sound records and can detach their own FM6 patches; saving anywhere in the bank makes the converted records persist on return to Skiff). Skiff’s default RESTORE LAST ON leaves JIANT’s autosave OFF; a saved Skiff RESTORE LAST OFF choice turns JIANT’s autosave ON.
  • What the next firmware does to JIANT's data.
    • Stock V15: Possibly at risk (layout reported or inferred): song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); FM6 patches of the FM6 user sounds; song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16; user sounds U17-U32; the music in progress (RESTORE LAST); FM6 voice bank B1-B32.
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); FM6 patches of the FM6 user sounds; song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16; user sounds U17-U32; the music in progress (RESTORE LAST); FM6 voice bank B1-B32.
    • Felucca: At risk by itself: settings, calibration, favourites, MENU options (changed by itself: the palette set to GREY: Felucca has no JIANT palette (stored 64+10), reads it as GREY and stores GREY at its next settings write, including the automatic ones; also, RESTORE LAST and KNOB ACCEL read inverted, JIANT's LOAD byte reads as Felucca's HOME view, and JIANT's revision byte reads as LEDs INV HI when LEDS is INV; MIDI OUT reads as SCOPE MIX / STEP PREVIEW flags, and JIANT USB/palette bytes overlap the FX key map). At risk by itself, under a condition: the music in progress (RESTORE LAST); FM6 voice bank B1-B32. At risk when you act: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes. Carried over: FM6 patches of the FM6 user sounds; user sounds U01-U16; user sounds U17-U32. After JIANT's default RESTORE LAST OFF, Felucca's autosave is ON and writes by itself as you use it; if JIANT's RESTORE LAST was ON, Felucca's autosave is OFF.
    • SLOOP: At risk by itself: FM6 patches of the FM6 user sounds; settings, calibration, favourites, MENU options. At risk when you act: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; the music in progress (RESTORE LAST); FM6 voice bank B1-B32. Kept but not shown: user sounds U01-U16; user sounds U17-U32.
    • X0X: At risk by itself: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); user sounds U17-U32; settings, calibration, favourites, MENU options. At risk when you act: song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16.
    • Melodee: At risk by itself: FM6 patches of the FM6 user sounds; user sounds U01-U16; user sounds U17-U32; settings, calibration, favourites, MENU options. At risk by itself, under a condition: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; the music in progress (RESTORE LAST); FM6 voice bank B1-B32. At risk when you act: song 2: four sections (whole projects); song 3: four sections (whole projects) (some of it lost); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects) (some of it lost); song 6: four sections (whole projects).
    • FoMni: At risk by itself: settings, calibration, favourites, MENU options. At risk when you act: user sounds U01-U16.
    • AMB-1: At risk by itself: settings, calibration, favourites, MENU options. At risk when you act: user sounds U01-U16.
    • ChoralRoot: At risk by itself: song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 7: four sections (whole projects) (some of it lost); song 8: four sections (whole projects) (some of it lost); which song is current, every song's rows and scenes; settings, calibration, favourites, MENU options (converted: After ChoralRoot saves its newer settings format, returning to JIANT starts preferences and panel calibration from defaults; it cannot read the newer record and does not retry the older copy merely because the format changed; on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off). At risk by itself, under a condition: song 6: four sections (whole projects). At risk when you act: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); FM6 patches of the FM6 user sounds; song 2: four sections (whole projects) (some of it lost); song 3: four sections (whole projects) (some of it lost); user sounds U01-U16; user sounds U17-U32.
    • GHOULBOX: At risk by itself: the music in progress (RESTORE LAST); settings, calibration, favourites, MENU options (changed by itself: Import changes reserved preference bytes and may change SERIAL/RESTORE LAST in RAM; next ordinary settings write persists them. KNOB ACCEL is inverted: JIANT’s default ON reads as OFF in GHOULBOX. JIANT’s MIDI OUT CLOCK / ALL / OFF in byte [15][24] read as GHOULBOX SCOPE MIX / STEP PREVIEW / both. JIANT’s LOAD LITE in [15][26] reads as HOME TRACKS, and LOAD ECO reads as HOME SCOPE. JIANT’s USB STEMS [15][21], USB LEVEL [15][22] and palette marker 0x4A [15][23] overlap GHOULBOX’s FX key map [15][14..23], changing some FX key assignments. JIANT’s first start stores settings revision 2 in byte [15][25], so after JIANT, GHOULBOX’s screen sleeps after 5 minutes idle by default; also, shared settings have different preference meanings). At risk by itself, under a condition: FM6 voice bank B1-B32. At risk when you act: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); user sounds U17-U32 (converted when read, written back at your next save in that bank; all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ). Carried over: FM6 patches of the FM6 user sounds. After JIANT with its default CLICK LEVEL, GHOULBOX turns RESTORE LAST ON during import and autosaves by itself after edits and quiet, regardless of the earlier RESTORE LAST choice. A saved LOW click level is the exception: other saved preferences can leave autosave OFF. Check RESTORE LAST after importing LOW-click-level settings.
    • M-VAVE FM-1 Open: At risk by itself: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); FM6 patches of the FM6 user sounds. At risk when you act: song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16; user sounds U17-U32; the music in progress (RESTORE LAST); FM6 voice bank B1-B32; settings, calibration, favourites, MENU options. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • FM-106: At risk by itself: settings, calibration, favourites, MENU options.
    • Hortator: At risk by itself: settings, calibration, favourites, MENU options. At risk when you act: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project).
    • OberVave: At risk by itself: settings, calibration, favourites, MENU options.
    • Polly: At risk by itself: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); FM6 patches of the FM6 user sounds; song 2: four sections (whole projects) (some of it lost); song 3: four sections (whole projects) (some of it lost); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); settings, calibration, favourites, MENU options. At risk when you act: song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16; user sounds U17-U32; the music in progress (RESTORE LAST); FM6 voice bank B1-B32.
    • Skiff: At risk by itself: the music in progress (RESTORE LAST); FM6 voice bank B1-B32; settings, calibration, favourites, MENU options (changed by itself: On its first clean start Skiff clears the old scene area and replaces JIANT MIDI OUT with its migration marker, then saves without asking. Returning to JIANT reads MIDI OUT as KEYS. JIANT’s palette marker normally skips the other revision writes, so only one settings copy may be replaced; it becomes the newest copy JIANT reads. A saved SCREEN OFF choice of 30 MIN becomes NEVER on return after Skiff next saves settings. Out-of-range clock, MIDI-input or tuning bytes can also be adjusted and saved after one second, once stopped, even when revision migration is skipped; also, Skiff retains calibration but can replace preferences without a save command or question; a partial import does not preserve the whole settings record). At risk by itself, under a condition: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project). At risk when you act: song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects) (some of it lost); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16 (converted when read, written back at your next save in that bank); user sounds U17-U32 (converted when read, written back at your next save in that bank). Carried over: FM6 patches of the FM6 user sounds. JIANT’s default RESTORE LAST OFF imports as Skiff RESTORE LAST ON; enabling it in JIANT instead disables Skiff autosave.
  • Who reads whose data.
    Show the detail

    Other firmwares reading JIANT's data: Felucca reads and uses JIANT's settings, calibration, favourites, MENU options; user sounds U01-U16; user sounds U17-U32; FM6 patches of the FM6 user sounds (RESTORE LAST and KNOB ACCEL read inverted, JIANT's LOAD byte reads as Felucca's HOME view, and JIANT's revision byte reads as LEDs INV HI when LEDS is INV; MIDI OUT reads as SCOPE MIX / STEP PREVIEW flags, and JIANT USB/palette bytes overlap the FX key map); ChoralRoot takes over JIANT's settings, calibration, favourites, MENU options, converting them (on entering ChoralRoot, panel calibration and HOLD can carry over; ChoralRoot’s own options start at defaults and LOWCUT/BASS+ becomes Off); ChoralRoot lists JIANT's user sounds U01-U16; user sounds U17-U32, but plays them differently (legacy records may be copied, but retired/renumbered engines and foreign deep patches change their sound; confirmed Flash Data still erases the sources); GHOULBOX reads and uses JIANT's settings, calibration, favourites, MENU options; FM6 patches of the FM6 user sounds (shared settings have different preference meanings); GHOULBOX lists JIANT's user sounds U01-U16; user sounds U17-U32, but plays them differently (all bank records are rewritten after in-RAM migration; firmware-specific sounds can differ); Skiff reads and uses JIANT's user sounds U01-U16; user sounds U17-U32; FM6 patches of the FM6 user sounds; Skiff imports part of JIANT’s settings and calibration, but replaces MIDI OUT and can change other preferences without asking. What JIANT reads of other firmwares' data: JIANT takes over Felucca's settings, button calibration, favourites, MIDI LEARN map; user presets 1-16; user presets 17-32, converting them (RESTORE LAST and KNOB ACCEL read inverted; HOME becomes LOAD (TRACKS = LITE, LEVELS = ECO); when the shared setting value is above 3, JIANT resets 2ND CORE, SCOPE MIX, STEP PREVIEW, CHORD ENTRY ADD, HELP, SELECT and SCREEN WAKE to their Felucca defaults; otherwise it keeps that value but reads it as MIDI OUT; USB and palette settings also reuse part of the FX key map); JIANT lists SLOOP's user sounds U01-U16; user sounds U17-U32, but plays them differently; JIANT lists Felucca's FM6 patches of the FM6 user presets, but plays them differently (the link to each preset breaks: JIANT plays a factory patch or the init voice instead); JIANT reads and uses GHOULBOX's settings and panel calibration; FM6 patches for user sounds (shared bytes change USB, palette, chord-entry, HOME and screen preferences; RESTORE LAST has the opposite meaning and a round trip can turn GHOULBOX autosave OFF; SCOPE MIX/STEP PREVIEW become MIDI OUT or are cleared, KNOB ACCEL is inverted, SCENE becomes SCREEN OFF and first-start revision update turns FX LATCH OFF); JIANT lists GHOULBOX's user sounds 1–16; user sounds 17–32, but plays them differently (whole-bank conversion changes FM6 fingerprints and can detach GHOULBOX patches; GURDY slots look empty in JIANT and a save replaces them without asking); JIANT takes over Hortator's settings and panel calibration, converting them (settings convert when read; next save writes a newer format the previous firmware cannot import); JIANT reads and uses Skiff's settings, calibration and favourites (shared settings bytes select different preferences); JIANT takes over Skiff's user sound bank 1; user sound bank 2, converting them (Conversion changes sound records and can detach their own FM6 patches; saving anywhere in the bank makes the converted records persist on return to Skiff); JIANT lists Skiff's user sounds’ own FM6 patches, but plays them differently (The own-patch link is lost when JIANT converts an unmarked Skiff sound; writing that bank makes the broken link persist back in Skiff). Everything else of another firmware's looks empty or foreign to the reader.

  • Every way each write can happen, for all mapped firmwares: the flash atlas's table. Read in each firmware's source (closed ones: their docs or third-party reports); nothing was tested on a unit.
  • The complete backup (web editor, Projects tab) of JIANT holds all 8 projects with sections, arrangements and scenes, the 32 user sounds and the settings. Restore it in the editor after reinstalling JIANT. Not in it: the FM6 voice bank (keep your .syx files).
  • A Felucca archive won't bring Felucca 1.2+ music into JIANT. The editor opens the file, but the FM-1 refuses Felucca 1.2 and later projects and the restore stops at the first one; anything sent before it may already be written. The archive file itself is untouched. Felucca 1.1.x and older music restores.
  • Felucca's sounds in JIANT: sounds from Felucca's SAMPLE, SLICE, GRAIN, PHYS and TRIO engines load as ANALOG.
  • Official V15 can't open JIANT music. What the other firmwares read of JIANT's data is in the lists above.
  • Old Felucca and SLOOP projects: JIANT reads Felucca's formats up to 1.1.x into song 1. Reading the code, it refuses Felucca 1.2+ and SLOOP 2.x projects (they show as empty); old SLOOP 1.x projects may load. Not tested on a unit.
  • Updating older JIANT music: projects are retained, but nonzero SCL TRANS now shifts the stored melodic sequence too. Before 0.6.82 it affected keys only; check TRANS if an older project sounds at a new pitch. From 0.6.39 or earlier, RESTORE LAST also flips meaning.
  • Going back to an older JIANT: Back up with the web editor before installing an older JIANT. The installer warns that newer projects may not open in earlier builds. Although FUNC still uses 3840 bytes, a saved step with COMP 2, EVERY, TIMING, DIV or LEN can carry extra step bytes that v0.6.71 refuses, so that section appears empty there. Old readers also omit the newer delay MOD, TYPE, PING and punch-lane LEN/RES values when they save a project. Returning to this build cannot recover values discarded by an older save. Keep the original archive and the FM6 bank's .syx file. WALK or CLIMB in COMP alone also makes a section unreadable in 0.6.71: its component ids stop before those new types. Compatibility before WALK/CLIMB arrived in 0.6.98 is inferred from that addition. Downgrading before the 0.6.81 arrangement fix also restores the startup bug: 0.6.71 resets the current song’s ARRANGE rows at every boot and writes the reset rows about two stopped seconds later, without a save. Restoring an arrangement from backup there does not protect it from the next boot. Returning to 0.7.4 cannot recover those overwritten rows.
  • ARRANGE now survives power-on. This release restores the saved rows instead of resetting and later overwriting them.
  • Your first boot after an older settings record: JIANT selects its own palette once; later choices persist when settings are saved.
  • Leaving JIANT 0.7.x: Other installers need care: the inspected Felucca 1.6.1, Melodee 1.4.1, SLOOP 2.7.1, X0X 1.1.0 and FoMni 0.4 web installers exclude the new JIANT FM port name, so a running 0.7.x unit may not appear. Felucca’s and Melodee’s backup-to-V15 checks also reject JIANT’s INFO name. Use JIANT’s own installer to save its complete backup and return to official V15 before installing those firmwares. Port detection is inferred from USB descriptors and installer filters; it was not tried on a unit.
  • Imported Felucca settings: Imported Felucca settings bytes can also select different behavior: byte 21 equal to 1 enables USB STEMS without the console; byte 24 values 1, 2 or 3 select MIDI OUT CLOCK, ALL or OFF; byte 22 values 1–4 select fixed USB attenuation of -6, -12, -18 or -24 dB, applied when the fixed-level option is active. Check SYSTEM > USB, CONTROL > MIDI OUT and AUDIO > USB LEVEL after importing.

Which version

This guide maps v0.7.4-de2a4cb. The Firmware Hub catalogue listed that build, dated 2026-10-16, when measured on 2026-10-16 at 17:01 UTC. JIANT publishes no GitHub releases. At the mapped commit, web/STABLE still selected 0.7.2. The lead’s later measurement on 2026-10-16 records commit 9703f96 promoting 0.7.4 (de2a4cb) to JIANT’s own public installer.

Where the docs and the firmware disagree

  • Which version the docs describe. The build is v0.7.4; the docs cover the newer generator, compact sequencer and stems despite their old heading.
  • OCT- in the locked FX layer. OCT- is ALL OFF only when MENU > FX LATCH is ON. With FX LATCH OFF (the default since 0.6.64) the locked layer is not a 'set' layer, so OCT- shifts the keyboard octave and the knob macros only reset when you unlock FX.
  • Macro dice keys while the macros are latched. Latched, the keys play notes as usual; F3 and G3 only act while LFO is held.
  • What F3 (new macro routes) does to silent tracks. F3 first removes the macro routes of every track, then adds new ones only to tracks sounding at that moment, so silent tracks lose theirs.
  • SELECT on its own (README). SELECT alone browses the current group; on HOME it opens GEN. Hold GLO for tempo or EDIT for sound dice.
  • 'No layer lock' (README). Felucca's double-tap lock is gone, but the FX layer locks open after a plain hold (and the LFO macros latch).
  • Old Felucca projects in song 1 (README). Read from the import code (not tested on a unit): JIANT knows Felucca formats up to FUN9 (Felucca 1.1.x). Felucca 1.2 and later save a 3840-byte FUNA record that matches none of JIANT's import paths, so such projects would show as empty.
  • On-screen hint while macros are latched. SELECT browses pages when macros are latched; on HOME it opens GEN. Hold LFO and turn SELECT for LFO dice.
  • EDIT on NOTE. On NOTE, a plain EDIT tap deletes the focused note, or clears the step when ALL is focused; set MICRO to zero with KNOB 4 to put it on the grid.
  • Punch-in lane length. FX > PUNCH sets 1–64 steps with 1/8, 1/16 or 1/32 resolution; four bars is only the default.
  • FX page groups in the docs. DLY 3 follows DLY 2; PUNCH follows MASTER.
  • Second component in SEQ TOOLS. Both component pages use the same graph and allow the SEQ TOOLS layer.
  • ARP TRNS with chord keys. With POLY CHORD enabled, each dispatched chord tone updates ARP TRNS; the last dispatched tone sets the final shift. STRUM can spread those changes over time.
  • WALK and CLIMB on COMP 2. With WALK or CLIMB selected, KNOB 4 changes the movement rate on either component page; choose another type to adjust EVERY.

Mapped from juanjiant-bit/JIANT at v0.7.4-de2a4cb (de2a4cb), 2026-10-16. Every line is checked against the firmware's source at that commit; the file and line for each is in jiant.json. Nothing here was tried on a real FM-1. JIANT FM is GPL-3.0-only, by juanjiant-bit, built on Felucca by Leo Kuroshita (Hügelton Instruments) with its song mode after SLOOP. This is an independent guide written in our own words. It is not affiliated with JIANT, Felucca or M-VAVE. M-VAVE and FM-1 are trademarks of their owners.

Les is in closed beta

Ask about your own setup

Say what you're after and what else is on your desk. Les takes you there one step at a time, on your gear, and shows you why each step works.

Get an invite to the open beta.

We add the gear people name here first.

We'll email you when the open beta opens, plus an occasional note on what's new in Les. Unsubscribe anytime. Privacy

Les is independent and not affiliated with M-VAVE or the firmware authors. M-VAVE and FM-1 are trademarks of their owners.