Skiff 2.0: a new sequencer, songs that chain, play once and change sounds, drum lanes panned and your own drum kits, one
mute and one MOD page, new save formats with a converter, and room to grow: the FM-1 build is 30 KB smaller than
1.4's with all of it.
Thank you, @SeattleUser0 for per-note ties (#25), @kovacsarnold for note lengths that work (#40), @awchx for the
song ideas (#31, #32, #33, #34, #44, #45, #46, #47), @efabric for sounds that change with the song (#30),
@gurusoundchinowski for panned drum lanes (#36), @solitairethegreat1 and FranciscoBo on YouTube for drum kits of your
own (#35),
@Guillel51 for the preset's name on HOME (#20), @elsni for the PD BRASS clicks (#41), and everyone in the YouTube
comments, where the REC fix and most of these began.
Install on the FM-1: in Chrome or Edge with the Skiff installer,
or download skiff-2.0.fwsc below and run python tools/fm1_install.py skiff-2.0.fwsc. Custom firmware, at your own risk;
the installer page also takes the FM-1 back to the official V15 firmware.
Install on the SMK-37 Pro: read SMK37.md first (M-VAVE's
V016 on the keyboard and a backup of its flash come before anything else), then the same installer page, or
python tools/fm1_install.py skiff-2.0-smk37.fwsc.
Updating from 1.x or Felucca: 2.0 saves in new formats. It reads everything Skiff 1.0 and later saved and keeps it
in 2.0's formats from then on. The installer page first saves a complete backup to your computer
(Skiff-backup-DATE.json: keep it, it is the way back), and after the install it converts what 2.0 can't read as it
was (Felucca's projects and user sounds, DIGITAL sounds, the oldest formats) and lists what it converted.
tools/fm1_install.py converts nothing: take a backup in the Skiff Editor
first and restore it after the install; the Restore converts it. A slot 2.0 can't read shows OLD FORMAT and is kept.
New
- NOTES and FEEL: the step pages, four become two. SEQ › NOTES is the piano roll: PITCH, START, LENGTH and VELOCITY
for a selection, the cursor's step or a range (SHIFT + PRESETS), moved and changed as one. SEQ › FEEL, sixteen tiles,
sets CHANCE and the conditions, RATCHET and FLAM, NUDGE and the accent and slide on every selected step. SHIFT + OCT− /
OCT+ copy and paste the selection and SHIFT + EDIT deletes it; on the drum grid copy and paste follow the LANE card, so
a figure moves from lane to lane. - Notes that overlap, each with its own length (#25, #40). A long note goes on under the notes after it and a
chord's notes can end apart: 1 to 99 % of a step, 1 STEP, or 2 to 16 steps. REC and TAKE record them as played, and a
new note is 1 STEP long. Stepping in notes with REC on, keys held together are a chord, and PRESETS turned meanwhile
sets their LENGTH (#31). - Chains (#44, #45). On SEQ › SONG, REPS turned below 1x is CHAIN: the entry goes on into the next, and entries on
CHAIN are played and edited as one long pattern, each part with its own LENGTH, DIV and SWING. NOTES counts on through
the parts and a note can go on from one into the next. Each chain sits on a box of its own on the SONG rows. - More of SONG (#32, #33, #34, #46, #47). KNOB 2's NEW puts a new empty pattern on the entry, COPY+ copies the entry's
pattern into the first empty entry after it, and a copy takes the first free number after its original's, so copies
sit beside it in the pool. SONG ONCE plays every list once from its first entry and stops. SAVE › PATTERNS' ACTION
has EMPTY (a pattern's notes and automation go, the entries keep naming it) and UNUSED (every pattern nothing uses). - Sounds on song entries (#30). SONG's KNOB 2, past CLEAR: SOUND puts the track's sound on the entry (a user sound
by its slot, a factory one by its engine and preset), NO SOUND takes it off. The entry's tile loses a corner and the
footer names its sound; the track loads it whenever it comes onto the entry: the song moving on, a launch, or PLAY
from stopped. The web editor's Song tab sets them too. - Drum lanes panned (#36). EDIT › LANE MIX on DRUM and DRUM-X: each lane's LEVEL and PAN, the lane picked by KNOB 1
or by striking its key; the track's PAN still moves the whole kit. - Your own drum kits (#35). DRUM's KIT goes on past PERC to USR1, USR2 and USR3 (USR1 on the SMK-37): a user sample
slot played as the kit, each lane the slot's sample on its key, with the lanes' level, tune, decay and pan, the hat
choke and the grid as on any kit; a lane with no sample is silent and dimmed. In the web editor's Samples tab, a slot's
Drum kit switch takes a WAV a lane, each with a level, the files keeping their levels to each other. - Your sound keeps its name (#20). A track playing one of your user sounds stays that sound: SAVE › USER puts the
track on the slot it saved to, and HOME names it after a project load and after power-on. (Preset packs, the rest of
#20, come later.) - One mute, one way back, one MOD page, one shaper. The black keys F#3 to F#4 are the six tracks' MUTE in the GLO,
FX and PERFORM layers alike: a tap mutes or unmutes, held cuts the track only while held. MOMENTARY, the FX layer's
macros and PERFORM's throws come back the same way, as MENU › CONTROL › RETURN says (SNAP, 1 BEAT, 1 BAR), and OCT+
keeps them in all three. LFO › MOD is one page: the LFO's and the envelope's routes drawn as a grid over the four
matrix slots. DIST's types are INSERT's shapers: SOFT, HARD, FOLD, CRUSH and FUZZ. - The SMK-37's sustain pedal holds the keys. While it's down, notes played on the keybed keep sounding after the keys
are let go, until the pedal goes up or the key is struck again. DRUM tracks ignore it. - The music comes back sooner. RESTORE LAST writes the music 2 s after the last change (at most once every 20 s),
and a save brings it up to date at once, so switching off soon after a change or a save loses nothing. - Room. New save formats (projects, settings, user presets, every parameter by a stored id) and a smaller build:
fonts, tables and code tightened so the FM-1 has about 30 KB free again for what comes next. Release builds no longer
carry the serial console (MENU › USB SERIAL; builds from source keep it), so macOS 13 to 15 should see the FM-1's USB
audio input without a setting (not tried on a Mac).
Fixed
- REC looked stuck. REC arms the selected track, and its LED stays lit while any track is armed, so with one track
armed and another selected, REC never put the light out. REC on an armed track now disarms every track (thanks,
@aaronthomas4072 and @robm6009 on YouTube). - SEQ TOOLS' RANDOM drew notes in the first bar only of a line whose LENGTH was turned up: an empty bar now takes the
rhythm of the bar before it (thanks, @MrBeerscuits). - PD BRASS and other PHASE sounds clicked on the unit (#41): a bend moving with DCW now fades over the block.
- Coming from Felucca 1.4+ or JIANT, PLAY could do nothing: their settings were read as Skiff's CLOCK, MIDI IN and
TUNE. Felucca 1.4+ projects, which showed EMPTY on Skiff, are converted now, and its user presets are matched by name. - A sound saved on SAVE › USER came back as the factory sound after switching off soon after (fixed with the
RESTORE LAST and #20 changes above).
Known
- On the SMK-37, an update loader started by switching the keyboard on after a power cut mid-write is still reset by
the watchdog about 40 to 45 s into each run (its flash speed, half of the cause, is fixed). The installer resumes it
until the write finishes: switch the keyboard back on and wait. A loader the running Skiff starts (every normal
install) is not affected. Tested on one SMK-37 Pro. - The SMK-37's sustain pedal hold is tested on the computer only: the test unit has no pedal, so the pedal's threshold
and both pedal polarities are untried on a keyboard. - The Learn videos show Skiff 1.3; the Learn page's steps are 2.0's, and its chapters say where the video differs.
- A full backup from the editor doesn't keep the samples' own levels and
sends (nor SLICE's hand-set slices): they stay with the slot on the unit. - After a return to the official V15, the FM-1 writes its Bluetooth
settings anew on its first start: pair Bluetooth devices again if they don't connect.
Going back to 1.4
- Install 1.4.x, then restore the backup the installer saved before 2.0 (or one from the editor) in the Skiff Editor.
- 1.x doesn't read what 2.0 saves: projects and user sounds saved on 2.0 look empty there (their bytes stay until saved
over), and 1.x's settings start at their defaults.
Credits
Skiff is built on Felucca by Leo Kuroshita (Hügelton Instruments); 2.0's converter reads Felucca 1.2+'s projects and user
presets after Felucca's own sources. The SMK-37 build uses the board layer of genkigenki's
SMK-37 port of Felucca (GPL-3.0-only) and the hardware notes of their
fm1-to-smk37 kit. The README's
Credits have the rest.
Files
skiff-2.0.fwsc: the FM-1 package (identity FM-1_720)skiff-2.0.zip: the FM-1 package, the app image,SHA256SUMSand every licence and attribution text they needskiff-2.0-smk37.fwsc: the SMK-37 Pro package (identity SMK-37 Pro_720)skiff-2.0-smk37-elite.fwsc,skiff-2.0-smk37-mke.fwsc: the SMK-37 Elite and MKE-P37 packages (identities SMK-37
Elite_720, MKE-P37_720), not tried on a keyboard yet
SHA-256:
7e183ac81e213dad8daaebb4ebfac00bfaf67bc9d8a895db9fe4fdefc6e5af56 skiff-2.0.fwsc
768069d9483cde211f95709993d5451168499a23f1c5707c1c7e235f60412339 skiff-2.0.zip
ef4a05f65fabd0f77aff70311f60adb219dbd2fa1c9c864301e40da055f77b41 skiff-2.0-smk37.fwsc
44ff46b497d401c40762eb419a458c96d7755163320157798f034ea59a2c2a37 skiff-2.0-smk37-elite.fwsc
7fe665486a3cf6c5e2c2295770331cb4111dae427d9ca2233bd66816e542a76e skiff-2.0-smk37-mke.fwsc
The packages hold three unmodified files of the JieLi AC79 SDK (Apache-2.0); see LICENSING.md. SLICE's BREAK and FUNK
were made with YuE2 by Multimodal Art Projection. M-VAVE, FM-1 and
SMK-37 are trademarks of their respective owners; Skiff is not affiliated with or endorsed by them.