TastyWaves

Sounds Delicious!

A wavetable synthesizer firmware for the M-VAVE FM-1: 12 voices with two wavetable oscillators each, a resonant filter, two envelopes, an LFO, a four-slot effects chain, an arpeggiator and two step sequencers that play chords and counterpoint on one clock.

Free and open source. Install it from your browser in about a minute, and go back to any other firmware whenever you like.

Free, GPL-3.0. Chrome or Edge, USB cable.
Listed on the FM-1 Firmware Hub
The power-on animation: waves crash and TastyWaves rises out of the splash
the FM-1's screen at power-on

The philosophy of TastyWaves is to do one thing well and in depth, focusing on intuitive performance and usability, and to provide a rich nuanced sound engine equally useful for creating pattern-based music and evolving soundscapes. We aim to be the definitive wavetable synth on the FM-1.

Listen

Everything here was played on an FM-1 running TastyWaves.

Features

Everything below runs on the FM-1 itself: no computer needed once it is installed.

Voices

12 voices, POLY, MONO or LEGATO, with glide; HI or ECO quality.

Oscillators

Two wavetable oscillators per voice, each with its own table, position, semitone, fine tune and level; a sub oscillator and noise; BEND, a wave warp on either or both.

Wavetables

12 built-in tables of 32 frames, band-limited: SAWSQ, PWM, HARM, VOWEL, FMIDX, FOLD, ORGAN, BELL, NOISE, SHAPE, REED, STAIR. Plus 8 slots for your own (Serum, WaveEdit, Ableton or Surge).

Filter

Resonant state-variable filter: low-pass, band-pass, high-pass, with key tracking.

Envelopes

AMP and MOD ADSR envelopes; MOD moves the cutoff, the table position and BEND; linear or exponential curves.

LFO

Sine, triangle, saw, square, sample and hold; to position, pitch, cutoff and amplitude.

Control

Mod wheel to position and vibrato, aftertouch to cutoff, velocity to amplitude and cutoff, pitch bend range, volume, drive.

Effects

A chain of four slots: chorus, flanger, phaser, delay, reverb. Hold FX to bypass the chain with a click-free crossfade; tails keep ringing underneath.

Arpeggiator

UP, DOWN, UP-DN, UP-DN2, RANDOM, PLAYED, CHORD; 1/4 to 1/32 with triplets; 1 to 4 octaves; gate, swing, 40 to 240 BPM; LATCH.

Two sequencers

SEQ1 and SEQ2, 32 steps each with rests and ties, on one clock. Each has its own rate, gate, swing, chord, arpeggiator, octaves and level, mixed through a soft clip. Held keys transpose both.

Chords

Every step can play a chord: MAJ, MIN, 7, MAJ7, MIN7, SUS4, or HELD, the shape of the keys you hold. Drawn on a keyboard.

Modulation lane

A value per step of SEQ1 that moves position, cutoff, BEND or drive, with depth and glide.

Patches

8 factory patches and 32 of your own, saved on the FM-1 with both sequences.

Sync and USB

Follows MIDI clock; Start restarts the patterns on the beat. Class-compliant USB-MIDI in and out, and a 16-bit stereo USB audio input at 44.1 or 48 kHz.

Help

Long-press HOME for help: global help, and contextual help for every screen.

Safe

The FM-1's update path and USB rescue stay intact: you can always install another firmware.

A picture for every page

The four knobs under the screen always set the four values at the top. A page button opens its page; press it again for the next tab.

HOME pageHOMEThe wave as it plays and its harmonics; cutoff, resonance, attack, release.
EDIT oscillatorEDITOSC1 and OSC2: position, semitone, fine, level, the wave drawn live.
EDIT MIXMIXSub, noise and BEND, with the levels and the warp on a sine.
ENV pageENVAMP and MOD envelopes, and where MOD goes.
LFO pageLFOShape and rate, to position, pitch, cutoff and amplitude.
FX pageFXFour slots in series; hold FX to bypass them all.
SEL pageSELVoice mode, glide, bend range; controller routes; output and drive.
GLO INFOGLOThree HOME looks; the version, CPU load and audio drops.

Arpeggiator and sequencers

Hold ARP or SEQ to switch it on; press it to open its page. With SEQ lit, PLAY starts and stops both sequences from any page. Otherwise PLAY is LATCH.

ARP page SEQ1 playing A chord on the SEQ chord tab

Record a sequence

  1. Press SEQ for its page (SEQ1, SEQ2, LANE).
  2. Press REC and play: each key is a step, PLAY a rest, SEQ a tie. REC again to finish.
  3. Hold SEQ to switch it on, press PLAY.
  4. Hold a key to transpose; LATCH one to keep it there.

Chords and counterpoint

SEQ1 and SEQ2 share the tempo and start together, each with its own rate, gate, swing, chord, arpeggiator and level: SEQ2 can arpeggiate MAJ7 chords at 1/8 under a plain 1/16 melody. CHORD HELD takes the shape of the keys you hold. The LANE moves the table position, cutoff, BEND or drive step by step.

The web tool

A page that talks to the FM-1 over USB-MIDI, right in your browser: nothing to install, nothing uploaded.

  • Install TastyWaves, or update it.
  • Your own wavetables: drop a Serum, WaveEdit or Ableton WAV, or a Surge .wt, and send it to one of 8 slots.
  • Patches: rename, reorder, delete, and back up all of them to a file; restore them later.
The web tool

Install

You need an M-VAVE FM-1, a USB cable, and Chrome or Edge (Safari has no Web MIDI).

In your browser

Open the web tool, plug the FM-1 in, switch it on and press Install on the FM-1. About a minute; keep the page open and the cable in.

Download the file

The .fwsc firmware file, for any FM-1 installer that takes one, or the command-line install.

If something goes wrong

Hold OCT- while switching on: the USB rescue starts, and the install works from there.

Going back

The FM-1 Firmware Hub installs the official firmware or any other, any time.

Updating TastyWaves keeps your patches and wavetables. Installing another firmware erases them: back them up with the web tool first (Backup all, and Save on each table slot) and restore them when you come back. TastyWaves does not read other firmwares' projects or samples.

Credits

TastyWaves is by marksweiss, written with Claude (Anthropic). It stands on:

Dinghy

zvenson: the smallest FM-1 firmware to build on, with host mode and the build checks.

Felucca

Leo Kuroshita (Hügelton Instruments): the platform, the update loader, USB and the installer.

SLOOP

isod89: Felucca's platform as Dinghy carries it.

Free software under the GPL-3.0: the source, who made which part. Fonts: Spleen by Frederic Cambus. "M-VAVE" and "FM-1" belong to their owners; TastyWaves is not made or endorsed by them.