github illuminus5/skiff v1.4
Skiff 1.4

3 hours ago

Skiff 1.4: Skiff on M-VAVE's SMK-37 Pro keyboard, REST in SONG, your own theme colours, each user sample's own level and sends, and an installer that carries on when an install is cut off.

Thank you, @jphn7, for the SONG report with drum tracks (#29), @awchx for the REST idea (#28), @tradiuz for custom colours and a quieter playhead (#27), and @positionhigh for each sample's own level and sends (#21). The SMK-37 build stands on genkigenki's SMK-37 port of Felucca and their fm1-to-smk37 kit.

Install on the FM-1: in Chrome or Edge with the Skiff installer, or download skiff-1.4.fwsc below and run python tools/fm1_install.py skiff-1.4.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.3.3 stay as they are.

Install on the SMK-37 Pro: read SMK37.md first. The keyboard must run M-VAVE's V016, and a backup of its flash comes before anything else: it holds the keyboard's own key calibration. Then the same installer page finds the keyboard and picks its build, or run python tools/fm1_install.py skiff-1.4-smk37.fwsc.

New

  • Skiff on the SMK-37 Pro. The same six tracks, engines, sequencer and screens as on the FM-1, played from 37 velocity keys (MENU › CONTROL › KEY VELOCITY: DYNAMIC, SOFT, HARD or fixed). The 16 pads are a step grid for the selected track, or the FM-1's key maps where a page has its own (layers, the DRUM grid, NAME, SLICES), lit as the screen's tiles. The four faders are a mixer for the tracks on screen, with FADER BANK stepping LEVEL, PAN, REVERB and DELAY. The wheels and the pedal play as MIDI in, K1 is the master level, KNOB BANK works as SHIFT, and < > step through the selected track's song entries. The MIDI OUT jack sends what USB sends, plus clock. The SMK keeps one user sample slot (USR1). Skiff never writes the keyboard's calibration or Bluetooth data, and its way back to M-VAVE's V016 keeps them. Tested on one SMK-37 Pro. The SMK-37 Elite and MKE-P37 packages are built the same way but not tried on a keyboard yet. Everything is in SMK37.md.
  • REST in SONG. On SEQ › SONG, KNOB 2 now has REST, just before 01, for any entry, and OCT+ sets it. A REST is silent for its REPS passes of the track's length wherever it is in the list, so a REST first makes a track start later and one after its last pattern makes it end sooner, without an empty pattern. Its tile shows a dash, lit in the track's colour while it plays. GLO + PLAY starts a track on its REST, a PERFORM key on one makes the track drop out at its launch point, and CLEAR removes it at once. The web editor's Song tab has it too. Empty entries work as before: between patterns they rest, at either end they're passed over (#28).
  • Your own colours: THEME › CUSTOM. In the web editor's Settings › Device display, pick eleven colours (the background, the tiles, the text, the values, the one active thing and each track's) and the look they wear: SKIFF's tiles, or CRYPT's, NEON's or QUARK's letters, widgets and motifs. The unit shows each change as you make it; Save keeps them on it as THEME's last value, CUSTOM, which MENU › DISPLAY › THEME steps to like any other theme. Start from any theme's own colours; colours that are hard to read get a warning. On the SMK-37 the pads take your track colours too. After Felucca 1.6's custom palette (#27).
  • PLAYHEAD LINE. MENU › DISPLAY › PLAYHEAD: THEME, as before (CRYPT's torch, NEON's car, QUARK's collision on HOME's selected lane), or LINE, the playhead's line only (#27).
  • Each sample's own level and sends. Every sample in a user sample slot (USR1 to USR3 on the FM-1, USR1 on the SMK-37 Pro) now has its own LEVEL, REVERB and DELAY. On the unit, a SAMPLE track playing a USR set has a new page after EDIT 2, SAMPLES, with the sample's waveform: KNOB 1 picks the sample by its number (or just play its key), KNOB 2 sets its LEVEL, KNOB 3 its REVERB, KNOB 4 its DELAY. In the web editor's Samples tab, each file gets a Level, Reverb and Delay before you upload, and the samples already on the unit can be changed there too; tools/fm1_sample_upload.py mix does the same from a terminal. LEVEL 100 % plays a sample as it was loaded (50 % plays it at a quarter, as DRUM's lane levels do). A sample's REVERB and DELAY are added to its track's own sends (up to 100 % in all), so a dry kick and a wet snare can share one track. The values are kept with the slot once the music stops (MIX SAVED). Slots loaded with an older Skiff play exactly as before (#21).
  • An installer that carries on. If the cable or the power goes during an install, the unit stays in update mode: plug it back in or switch it on within two minutes and the installer (the page or tools/fm1_install.py) picks up where it was, up to five times. Skiff's update loader now writes the firmware's first sector last, on both boards, so a cut write never leaves a half-written firmware to start. The progress bar only moves forward. With an FM-1 and an SMK-37 on one computer, each package goes only to its own model's unit.

Fixed

  • In SONG, the last track could stay on one pattern. When the tracks' lists moved on together and an edited pattern was still waiting to be written (Skiff writes them once the music has been stopped for a while), track 6 never got its turn: it played its entry over and over while the other five moved on. Every track now moves on at its pass end, whatever is waiting. If you edit more patterns while playing than Skiff can hold until the next stop, that one track waits on its entry and the screen says PATTERNS FULL, STOP TO SAVE; nothing is lost (#29).

Known

  • On the SMK-37, an update loader started by switching the keyboard on after a power cut mid-write can reset itself during the write. The installer resumes it until the write finishes.
  • A full backup from the editor doesn't keep the samples' own levels and sends yet (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.3.3

  • A project that holds a REST doesn't open on 1.3.3 or earlier; projects without one open as they are.
  • Settings saved with CUSTOM in use show its look's own theme on 1.3.3, and are CUSTOM again after updating back. Nothing else saved changes.

Credits

Skiff is built on Felucca by Leo Kuroshita (Hügelton Instruments). The SMK-37 build uses the board layer of genkigenki's SMK-37 port of Felucca (GPL-3.0-only: the input, screen, pad LED, flash map, update and installer parts) and the hardware notes of their fm1-to-smk37 kit. 1.3's release notes have the rest of the credits.

Files

  • skiff-1.4.fwsc: the FM-1 package (identity FM-1_714)
  • skiff-1.4.zip: the FM-1 package, the app image, SHA256SUMS and every licence and attribution text they need
  • skiff-1.4-smk37.fwsc: the SMK-37 Pro package (identity SMK-37 Pro_714)
  • skiff-1.4-smk37-elite.fwsc, skiff-1.4-smk37-mke.fwsc: the SMK-37 Elite and MKE-P37 packages (identities SMK-37 Elite_714, MKE-P37_714), not tried on a keyboard yet

SHA-256:

0622a752e8304777c042ccea0732ba023e1413baa6dbc8724576e2ec76de02e0  skiff-1.4.fwsc
1b0a741e3d44a66948b4bf07c3cd415b55aa72920b08ae02465ec15347501e6a  skiff-1.4.zip
91e404b85831718618d5eb06dabb0f888283873b10f57915b68fef52b57abd3c  skiff-1.4-smk37.fwsc
14b08f7940927609c97ac7ecac47c754987cec4bbebe820f4a19f94ec2b2c1d5  skiff-1.4-smk37-elite.fwsc
af63a6eb5ff4c7f534207ccde344b0a386393ffcdcee0bb42c166d5083a4d158  skiff-1.4-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.

Don't miss a new skiff release

NewReleases is sending notifications on new releases.