Repository navigation
Releases: NicholasPratt/Prysm
Release list
Prysm 1.3
Prysm 1.3: a sequencer for every patch, a LIVE screen for playing out, and a keyboard split with two sequencer parts.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-1.3.fwsc. Manual: docs/MANUAL.md. Your saved sounds, patterns and song carry over: every used slot starts with a copy of your current sequencer, and the split starts off.
New
- A sequencer per patch: each of the 8 slots keeps its own patterns, song and drum kit. Changing patch while playing swaps the sequencer at the end of the pattern. SAVE stores the sequencer with the sound (also when saving to a new slot); LOAD no longer saves the patch you're leaving.
- LIVE screen (HOME twice), for playing live:
- The first 4 black keys pick patterns, the first 8 white keys pick patches (sound and sequencer together). Both change on the next bar line; press again to cancel. A pattern key during a song switches to PATTERN mode.
- Mutes on the keys above middle F: F#4 / G#4 / A#4 kick, snare, hats; C#5 / D#5 OSC 1 / OSC 2; F#5 the noise. Lit = on, flashing = muted. Not saved; an M in the header on other pages while anything is muted.
- Four knobs, your choice: K1–K4 can each be any sound parameter (SELECT picks the knob, PRESETS its parameter), saved in the settings.
- Keyboard split (MIX → SPLIT, saved per patch): below the split key only OSC 1 plays, from it only OSC 2: a bass under a lead. Each side has its own octave (±2); set the key with KNOB1 or LEARN (press the key). Still 4 voices, shared by both sides.
- Two sequencer parts (SEQ → PARTS): with the split on, the notes below it are part 1 and the rest part 2. Record one over the other, and mute (MUTE1/2) or clear (CLR1/2) either. Recording replaces only the part you play.
- Snare flam (DRUM: HIT after ACCENT): two snares ~20 ms apart, the second softer.
- From Dinghy 0.4: TRS MIDI IN and the update loader's progress screen.
- The editor and the CLAP plugin (1.3.0) have the split.
From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 1.2
Prysm 1.2: a noise oscillator, filter routing and a lo-fi drum machine.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-1.2.fwsc. Manual: docs/MANUAL.md. Your saved sounds, patterns and song carry over (converted on load). The new drum lanes start empty and noise starts off.
New
- Noise oscillator (EDIT three times: OSC 1 → OSC 2 → NOISE), mixed in with the two oscillators. Six types: WHITE, PINK and BROWN (with a COLOUR tone control), DIGI (buzzy, NES-style noise that plays the note), CRACKLE (vinyl clicks, density on the knob) and S&H (stepped, follows the keys). The page shows the waveform and a live spectrum. The level is also on the MIX page.
- Filter routing: a ROUTE row on MIX sets OSC 1, OSC 2 and NOISE each to FILTER or DIRECT (past the filter, still through the amp envelope and the effects).
- Drum machine (SEQ twice): kick, snare and hat (an accent opens the hat). 8-bit samples at 11–22 kHz, made from scratch and played back unsmoothed for the crunch.
- Each of the 4 patterns has a drum lane, so the song plays them too. You enter beats on the keys like a TR: the white keys are the steps (hit → accent → off) and their LEDs show the lane. F#3, G#3 and A#3 choose the drum.
- Each drum has LEVEL, TUNE (±24 st), DECAY and FILTER, a send through a filter that follows the sound's CUTOFF and RES. Sweep the cutoff and the hats sweep with the synth while the kick stays full.
- The drum bus has DRIVE and CRUSH (bits and rate), plus sends into the delay and reverb.
- The kit is saved with the patterns, not the patch, so changing sound keeps the beat.
- MIDI channel 10 plays them (36 kick, 38/40 snare, 42/44 closed hat, 46 open hat).
- The editor and the CLAP plugin (1.2.0) have all of it: a NOISE page, the routing, and a DRUM tab with a step grid and the kit. The plugin plays the drums from MIDI channel 10.
Fixed
- Editor: the SEQ tab's clicks went to the wrong row.
- Plugin: BPM was registered as two parameters with the same ID.
From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 1.1
Prysm 1.1: VCA OPEN now works like an analog synth's VCA bias.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-1.1.fwsc. Manual: docs/MANUAL.md. Your saved sounds and patterns carry over (same patch format as 1.0).
Changed
- Turn OPEN up and the oscillators sound at once, with no key: the whole sound, FM, filter and all, at the pitch they were last played at (C3 when nothing has been played since power-on).
- The drone responds live: while a voice drones, its modulator, filter and mod envelopes hold as if its key were down, so AMT, ENV and every other knob change it as you turn them. A looping mod envelope keeps looping.
- Voices that went quiet earlier no longer come back on their old notes when you open OPEN.
Unchanged: keys play over the drone, notes you let go drone on (a chord becomes a drone chord), and OPEN back to 0 fades it out.
From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 1.0
Prysm 1.0: an instant drone, a morphing LFO, and a self-oscillating filter that starts from silence.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-1.0.fwsc. Manual: docs/MANUAL.md. Your saved sounds and patterns carry over. New in 0.9 (chords and live recording in the sequencer, the envelope pages and more): the 0.9 notes.
New
- VCA OPEN, an instant drone (AMP page, the new VCA row): it holds the amp open, like a VCA bias on an analog synth. Notes you let go keep sounding at that level, each voice on its last note, so a chord becomes a drone chord. With nothing played yet, it drones C3. Keys play over it; turn OPEN back to 0 and it fades out.
- LFOSHAPE, a new destination for the mod envelopes and LFO 2: it morphs the LFO's wave smoothly through sine, triangle, saw up, saw down, square and S&H. For example, a vibrato that turns from smooth to stepped as a note goes on.
Fixed
- Self-oscillation now starts from silence: with both oscillators at 0, the filter at the top of RES still sings, at every cutoff (in 0.9 it needed some sound in it first).
- The manual's self-oscillation tuning was wrong: with KEY at 127, a CUT of about 47 puts each key near its own note. (0.9's manual said 64.)
Changed
- Patch format 11. Patches, patch files and plugin projects from 0.9 and older convert by themselves. The editor and the CLAP plugin stay in step with an FM-1 running 1.0.
- From 1.0 on, every Prysm release keeps the package identity
FM-1_989; the version (1.0) tells releases apart.
From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 0.9
Prysm 0.9: a major update. A polyphonic sequencer you can record into live, a filter that sings, a second mod envelope, and envelopes with pages of their own.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-0.9.fwsc. Manual: docs/MANUAL.md. Your saved patches and patterns carry over.
New
- A polyphonic sequencer:
- Every step can be a chord of up to four notes. A new CHORD row shows a step's other notes and its velocity, and chords appear as notches in the pattern.
- Real-time recording: press PLAY, then REC, and play. Each note lands on the nearest step with its velocity, held notes are tied, and every pass overdubs. You can record from any page.
- Count-in: press REC, then PLAY, for a bar of ticks before recording starts on the downbeat.
- Metronome: the new CLICK row (OFF, ON, or only while recording) ticks every beat, higher on the bar's first.
- Chord step entry: with the sequencer stopped, hold keys together to enter a chord in one step.
- The filter self-oscillates: from RES 122 up, the low-pass sings a steady sine at any cutoff. With KEY at 127 it plays in tune from the keys.
- Envelope pages: ENV steps through AMP, F.ENV (the filter's envelope), M.ENV 1 and M.ENV 2.
- A second mod envelope, with LOOP and its own destination and amount.
- Modulator pitch: a modulator in MIX or RING is heard, so its RATIO knob becomes PIT1/PIT2 (−24 to +24 semitones). FINE1/FINE2 detune each modulator in any mode. New mod destinations M1PITCH and M2PITCH.
- The editor and the CLAP plugin know all of the above. The editor and plugin need an FM-1 running 0.9 to stay in step.
Changed
- Patch format 10. Older patches, patch files and plugin projects convert by themselves. A MIX or RING modulator takes its ratio's pitch (×2 becomes +12). Ratios of 5 and up are beyond +24 semitones, so those sounds come in lower than before.
Package identity FM-1_989. From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 0.8
Prysm 0.8: an editor in your browser, with Prysm itself running in the page, kept in step with your FM-1.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-0.8.fwsc. Manual: docs/MANUAL.md. Your saved patches carry over. Demo video: on YouTube.
New
- The editor (Chrome or Edge):
- Prysm's own firmware runs in the page: the screen, the knobs (drag or scroll), the buttons, the keys (or your computer's keys) and the sound. No FM-1 needed to try it.
- A tab for every page, with every parameter, named and shown as on the FM-1; the sequencer's 64 steps as a grid; patch files to save and load.
- Connect FM-1: the editor takes the FM-1's sound, and from then on the two stay in step both ways. Change something in the editor and the FM-1 plays it, its value showing in the corner; turn a knob on the FM-1 and the editor follows. Store on FM-1 saves the sound in a slot.
- The CLAP plugin (macOS, Windows, Linux:
Prysm-clap-*.zipbelow):- Prysm's own engine as an instrument in your DAW, so a project sounds as the FM-1 does.
- Every knob is an automatable parameter. The window is the editor, and the arp and sequencer follow the DAW's tempo.
- A connected FM-1 is kept in step both ways.
- Tested in Reaper on macOS. Windows and Linux builds are new: reports welcome. The plugin's README has install notes for each system.
- Performance capture (
tools/capture.py): record what you play on the FM-1, and the computer films it as an MP4. The film shows the screen exactly as drawn, with the sound in sync. - Patches from the computer:
tools/demo.py sendputs the demo video's seven sounds in slots 1 to 7.
Package identity FM-1_988. From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 0.7
Prysm 0.7: a new look, LFO 2, effect pages, pitch bend and a startup animation.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-0.7.fwsc. Manual: docs/MANUAL.md. Your saved patches carry over (LFO 2 comes in switched off).
New
-
A new screen design. White and greys on black. Each page shows:
- a header with the page › row, the slot and
*, and a CPU bar - a picture almost twice as tall, every one redrawn with a faint grid and filled curves
- the selected row's four values large, with a bar under each level
- the page's rows as tabs along the bottom; SELECT moves between them
Turning a knob shows its name and value large in the top-right corner for a moment. The PATCH screen uses the same layout.
- a header with the page › row, the slot and
-
LFO 2: press LFO twice for its page.
- One LFO shared by all voices: six wave shapes, a free rate, or SYNC to the tempo (4/1 to 1/32, triplets included; follows the MIDI clock too).
- Destinations: everything LFO 1 can reach, plus resonance, drive, high-pass, comb damping, filter envelope amount, both oscillator levels, osc 2 detune, the mod envelope's amount, the chorus, delay and reverb mixes, delay time and feedback, and reverb size.
-
Effects on their own pages: FX steps through CHORUS, DELAY and REVERB.
-
MIDI pitch bend, with a global BEND range (off, or ±1 to ±24 semitones; ±2 to start) on the SETUP page.
-
The SELECT button goes straight to the FILTER page.
-
Startup animation: rainbow static collapses into PRYSM. Any key skips it.
Package identity FM-1_987. From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 0.6
Prysm 0.6: the SELECT button opens the FILTER page.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-0.6.fwsc. Manual: docs/MANUAL.md. Your saved patches carry over.
New
- SELECT button → FILTER. The SELECT button did nothing; it now jumps straight to the FILTER page from anywhere, including the scope and PATCH screens. (ENV still toggles AMP / FILTER.)
Package identity FM-1_986. From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 0.5
Prysm 0.5: the filter gets a TYPE (12 or 24 dB low-pass, or a Waldorf-style comb) and a high-pass.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-0.5.fwsc. Manual: docs/MANUAL.md. Your saved patches carry over (they come in on LP 12, as before).
New
- Filter TYPE: LP 12, LP 24 (4-pole, steeper), COMB+ and COMB-. On the new TYPE row of the FILTER page, beside DRIVE and HPF.
- Comb filter, as on the Blofeld: a row of resonant peaks. The FILTER row plays it: CUT is its frequency (64 = C4: with KEY at 127 the peaks sit on the note's harmonics, for plucked strings), RES its feedback, ENV and KEY as usual. COMB- is the hollow version. The COMB row adds DAMP (darker ringing) and SPREAD (the upper peaks stretched apart: bells, bars, metal). The peaks get louder as RES rises.
- High-pass: 12 dB/oct, no resonance, 16 Hz .. 4.2 kHz (TYPE row, HPF).
- SPREAD as an LFO and mod envelope destination; CUTOFF moves the comb.
CPU on the FM-1 with everything on: 56 %.
Package identity FM-1_985. From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.
Prysm 0.4
Prysm 0.4: a fix for a stuck low note under every sound.
Install: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-0.4.fwsc. Manual: docs/MANUAL.md. Your saved patches carry over.
Fixed
- Silent at power-on. The audio started before the synth engine was ready, so all four voices began a held 8 Hz note that nothing released: a low throb under every sound (louder with VEL AMP turned down). The engine now stays silent until it is set up.
Package identity FM-1_984. From ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.