Skiff 1.3: the FM-1's second core, and the best of Felucca 1.2 to 1.6.1.
Thank you, @Schmongo for asking for the second core (#14), and @benjaminguerrer for LFO sync (#16) and for asking Skiff to catch up with Felucca 1.6.1 (#17). Almost everything Felucca added since the version Skiff is built on is in this release, adapted to Skiff's six tracks and its look.
Install: in Chrome or Edge with the Skiff installer, or download skiff-1.3.fwsc below and run python tools/fm1_install.py skiff-1.3.fwsc. Custom firmware, at your own risk; the installer page also takes the FM-1 back to the official V15 firmware. Your projects, sounds and patterns from 1.2.1 stay as they are.
New
- The second core (BETA, #14). MENU › SYSTEM › CPU picks 2 CORES, applied at the next power-on. The FM-1's second processor core then renders some of the tracks of every block: the sound is bit for bit the same, there is far more headroom, and 12 voices can sound at once instead of 8. On a unit, six busy tracks (GRAIN chords, three PHYS, DRUM-X and DRUM) ran at about 60 % with no dropouts. If the second core misreads or stops answering, the FM-1 carries on with one core, says CORE 2 FAILED and sets the row back to 1 CORE.
- MIDI LEARN. MENU › MIDI › MIDI LEARN, turn a knob (HOME, a sound page, the MIXER, the GLO layer's levels), move a control on your controller: it now sets that parameter of that track. Up to 10, kept with the settings; OCT− clears the one you picked, OCT+ is done, LEARN CLEAR forgets them all.
- A MIDI channel per track. MENU › MIDI › T1–T6 CHANNEL: each track listens (and its keys play out) on any channel, 1–6 by default.
- MIDI Program Change loads the nth sound of the track's engine, in the PRESETS list's order.
- FX › INSERT: a second effect on every track, after DRIVE: SOFT, HARD, FOLD, FUZZ, CRUSH (a bitcrusher), PHASR, FLANG or CHOR, with three values named by the type and a MIX on INSERT 2, and a graph of what it does.
- LFO 2 (#16): SYNC to a note value of the tempo (4 bars to 1/32), TRIG FREE (a note doesn't restart it), POLARITY UNI (one-sided).
- ENV SYNC (ENV DEST's KNOB 4): ATTACK, DECAY and RELEASE as note values, from 1/64T to 4 bars.
- SPREAD (EDIT › VOICE 2's KNOB 3): a POLY or UNISON track's voices left and right of PAN in turn.
- The MOD matrix gets two sources, S&H and SLEW (a random value each LFO cycle, stepped or gliding), and three destinations: DEPTH (the LFO's own depth: MODW → DEPTH is a mod-wheel vibrato), VEL and TIME to humanize (each note's velocity, each step a little late).
- SEQ TOOLS (hold SEQ): EUCLID on F4 (hits spread over the steps, rotated), DOUBLE on D5 and HALF on E5.
- MOMENTARY: hold LFO and turn knobs; let go and the values spring back (OCT+ keeps them).
- Lane mutes: on a DRUM or DRUM-X track, the EDIT layer's black keys 1–8 mute its lanes.
- The step pages follow the playhead past step 16 while playing; STEP PREVIEW (MENU › CONTROL) sounds the step KNOB 1 lands on; QUANTIZE SEQ+T transposes the sequencer's notes before snapping them.
- Sounds: ANALOG's WAVE gets SYNC and SUB (with the HARD SYNC and SUB SAW presets), PHASE gets FOLD, DRUM gets the DEEP, TIGHT and PERC kits (DEEP DRUMS, SNAP KIT, PERC KIT), and the delay gets dotted times (1/8D, 1/16D, 1/4D). 148 factory sounds in all.
Changed
- MENU has a fifth tab, MIDI: CLOCK and MIDI IN moved there from CONTROL, with MIDI LEARN, LEARN CLEAR and T1–T6 CHANNEL. It holds ten rows and scrolls, six at a time.
- PAN and the other two-sided values read −100 to +100 % (the top read +98).
- SPEAKER EQ's BASS+ is gentler (a full kick pulled the whole mix down through the limiter).
- SAMPLE's FLUTE and SAX loop a shorter stretch of their sustain (0.28 s), which made room for everything above.
- The web editor speaks 1.3 (its engine values now have numbers past 127) and has the new pages; an older editor can't edit 1.3's sounds.
Fixed (from Felucca 1.4 to 1.6.1)
- Changing PRESETS' LIST or a favourite no longer pauses the LEDs and the audio on every knob detent: it's saved when you leave the page.
- macOS up to 15 sees the FM-1's USB audio input.
- While flash is written, the panel goes dark instead of lighting one column.
- PLAY in a locked GLO layer starts and stops; RESTART needs GLO held.
- AUTOMATION's KNOB 3 keeps its row in place.
- The installer refuses a package for another board before erasing anything.
- The arpeggiator's held and latched notes follow TRANSP, ROOT, SCALE and QUANTIZE as they change.
- MENU › LARGE: a tall card keeps one value size while you turn its knob.
Going back to 1.2.1
Projects and user sounds saved with 1.3 open on 1.2.1 without the new settings (LFO 2, SPREAD, the INSERT, ENV SYNC). A pattern whose automation or locks move one of a sound's engine values (ANALOG's CUTOFF on HOME, say) is stored in a newer form that 1.2.1 shows as empty: its notes come back when you return to 1.3, as long as nothing was saved over it. MIDI LEARN's CCs are forgotten there; the channels and the CPU setting are kept for when you come back.
Credits
Felucca by Leo Kuroshita (Hügelton Instruments) is what Skiff is built on, and almost all of this release is ported from it. Its MIDI Program Change is by @renebohne (Felucca #179). The second core's start code is from X0X by @charlesvestal, after Melodee by @keremimo and with Jangada's measurements and hardening by @zednaked; its host tests by @gospodindilly-ops.
Files
skiff-1.3.fwsc: the firmware package (identity FM-1_713)skiff-1.3.zip: the package, the app image,SHA256SUMSand every licence and attribution text they need
The package holds 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.
