Lunar ModulatorUser Manual

5 Sound engines

A sound engine is the part of the firmware that makes the notes. Lunar Modulator has several, each a different kind of synthesis, and up to four sounds, each with an engine of its own, play at once (Four sounds at once). You choose the current sound’s engine with PRESETS. The knobs then play that engine’s parameters, four to a page: SELECT turns the page and ALGORITHM steps through the engine’s main list.

Sound engines in this build
NameVoicesParametersChosen from a listBuilt from
Macro1215Model, LPG, Voice Mode, Glide Mode, Time ModeEngines from Mutable Instruments Plaits by Emilie Gillet (MIT)
Shapes1210Shape, Voice Mode, Glide Mode, Time ModeMacro-oscillator from Mutable Instruments Braids by Emilie Gillet (MIT)
Macro Heavy416Model, LPG, Voice Mode, Glide Mode, Time ModeHeavy engines from Mutable Instruments Plaits by Emilie Gillet (MIT)
Six-Op FM88Patch, Voice Mode, Glide Mode, Time ModeSix-operator FM engine from Mutable Instruments Plaits by Emilie Gillet (MIT); DX7 patch banks as distributed with Plaits
FM6129Patch, Voice Mode, Glide Mode, Time ModeSix-operator FM on msfa, the FM core of Google's music-synthesizer-for-android (Google, Apache-2.0); named after Felucca's FM6 engine (hugelton), both borrowed with thanks; reads DX7 voice data (a Yamaha trademark; not affiliated); built-in voices our own
Sophie128Pad, ModelSophie by Matt Estela (github.com/mestela/schwung-sophie, MIT), via the Schwung v2 shim (Schwung plugin ABI by Charles Vestal, MIT)
Drums1214Pad, Model, Kit, ChokeKick, tom, snare and hi-hat voices from Mutable Instruments Plaits by Emilie Gillet (MIT); rim, clap, cowbell and cymbal from this repository (MIT), after Werner, Abel and Smith's TR-808 cowbell and cymbal models
Acid Bass112Wave, Drive TypeA bass after the TB-303: fm1-x0x's 303 by Charles Vestal (GPL-3.0), ported from schwung-303: Open303 by Robin Schmidt (MIT), Devilfish ranges after jc303 by midilab (GPL-3.0), RAT drive after dm-Rat by Dave Mollen (GPL-3.0)
Comet Kit1113Pad, Drive Type, KitA kit after the TR-909: fm1-x0x's 909 by Charles Vestal (GPL-3.0), ported from 9W9 by athousanddetails (GPL-3.0), which grew out of ER-99 by Matthew Cieplak (GPL-3.0); hi-hat, crash and ride recordings from ER-99 (GPL-3.0)
Crater Kit1311Pad, Dist, ChokeA kit after the TR-808: fm1-x0x's 808 by Charles Vestal (GPL-3.0), ported from 8W8 by athousanddetails (GPL-3.0): circuit models after the TR-808 service notes and Werner, Abel and Smith; the rim shot after sc808 by Yoshinosuke Horiuchi and Sam Aaron (MIT)
Drawbar813Drawbars, Perc, RotorFelucca by Leo Kuroshita (@kurogedelic), Hugelton Instruments (GPL-3.0): its WHEEL engine, a tonewheel-style organ of its own design
Trio814Wave, ModeFelucca by Leo Kuroshita (@kurogedelic), Hugelton Instruments (GPL-3.0): its TRIO engine, three oscillators and a filter in the style of 8-bit sound chips
Phase Bend816Wave, Wave 2, Line, Voice Mode, Glide Mode, Time ModeFelucca by Leo Kuroshita (@kurogedelic), Hugelton Instruments (GPL-3.0): its PHASE engine, a port of the phase-distortion oscillator of CrispyZebra by the same author (GPL-3.0)
Test Sine121–This repository (MIT)

Four of the engines are built from the code of Mutable Instruments’ modules, written by Emilie Gillet and published under the MIT licence, and Drums takes its kicks, toms, snares and hi-hats from it; FM6 comes from msfa, the FM synthesizer core Google published under the Apache licence; Sophie comes from the Schwung community. Their names here are this project’s own, and chapter 14 credits each source.

How to read the tables

The tables in this chapter are generated from the firmware’s code. Where says on which page, and under which knob, a parameter sits: page 1, KNOB2 is the second knob on the first page. A list parameter steps through named values, numbered from 0; a continuous one moves smoothly across its range. The default is the value an engine starts with. The screen rounds what it shows: two decimals for a range of up to 2, one decimal up to 20, whole numbers beyond.

5.1 Choosing an engine

Status:In the simulatorPlanned for the device

To choose an engine: turn PRESETS. The engines come in this order: Macro, Shapes, Macro Heavy, Six-Op FM, FM6, Sophie, Drums, Acid Bass, Comet Kit, Crater Kit, Drawbar, Trio, Phase Bend, Test Sine, and round again. Acid Bass, Comet Kit, Crater Kit, Drawbar, Trio and Phase Bend are there only in builds with the GPL switch on, as the simulator is while we test (Acid Bass, Comet Kit, Crater Kit, Drawbar, Trio and Phase Bend). While you turn, the screen lists the engines, eight at a time, with the new one highlighted (chapter 3). In the simulator you can also pick one from the Sound (PRESETS) list under the panel.

When you choose an engine:

  • every note that was sounding on that sound ends; the other sounds play on;
  • the new engine starts with its default settings, so changes you made to the previous engine are not kept;
  • the effects keep their settings;
  • the screen stays on the same page if the new engine has that many pages, and goes to its last page otherwise.

Every engine but Sophie has a Volume parameter, its own output level, on its second page (on Drums, its fourth; on Comet Kit and Crater Kit, their third). It is separate from MASTER, which sets the level of everything. Macro, Macro Heavy, Six-Op FM, FM6 and Shapes also have Glide, Voice Mode, Glide Mode and Time Mode, together on their last page, for sliding between notes and playing one voice at a time (chapter 4).

Engines that need the FM-1’s sample rate

Macro, Macro Heavy, Six-Op FM and Drums run Plaits’ code at its own rate, 47,872 samples a second, and convert the result to the output’s rate. They cannot run when the output is faster than that. If your browser runs the simulator at 48,000 samples a second, PRESETS steps over those four and the screen names the one it skipped (chapter 2). Crater Kit, Drawbar, Trio and Phase Bend, built for 44,100 samples a second, run only near that rate (Crater Kit from 44,000 to 44,200, the other three within a quarter of a percent), and are stepped over at others in the same way.

5.2 Four sounds at once

Status:In the simulatorOn the desktopPlanned for the device

Up to four sounds play at once, each an engine of its own with two insert effects and a level into the mix; the mix then goes through the two master effects (chapter 6). Sound 1 always holds an engine; Sounds 2 to 4 can be empty, as they are when the simulator starts. The sequencer’s tracks play whichever sound their route names (chapter 7).

A block diagram, top to bottom. The keys and MIDI IN, and the sequencer with eight tracks, send notes to a routing stage: the keys and MIDI IN play the current sound, and each track plays the sound its route names, through that sound's arpeggiator while it is on. The keys and MIDI IN also feed the sequencer's focused track for recording and Capture. Four sound lanes follow, Sound 1 to Sound 4, each an engine with 4 to 12 voices, then Insert 1, Insert 2 and a level. The four levels meet in the mix, which feeds master effect M1, master effect M2, AMP (the level modulation can move) and the limiter. The metronome's click joins before the limiter. MASTER, the volume, comes last. A note says that everything in the chain shares the FM-1’s memory, and that what would take it past 100 % is refused.
Figure 5.1Where notes go and how the sound comes out: the keys, MIDI IN and the sequencer’s eight tracks play the four sounds, through each sound’s arpeggiator while it is on; each sound runs through its two inserts and its level into the mix, then the two master effects, AMP, the limiter and MASTER.

The current sound is the one the keys and MIDI IN play, and the one the sound’s page, PRESETS, ALGORITHM and the knobs edit.

  • To choose it: hold SEL and turn PRESETS: Sound 1 to 4. The screen lists the four sounds and the engine each holds, such as S2 Shapes or S3 Empty, with the current one highlighted. SEL has this job everywhere but in FX mode, where it picks up effects.
  • To give it an engine: turn PRESETS. On Sounds 2 to 4 the list starts with Empty, which unloads that sound.
  • Once a second sound is in use, the top bar names the current one, such as S2 Shapes.
  • Focusing a sequencer track makes the sound it plays the current one (chapter 7); you can choose another afterwards.
  • A key you hold, or a note at MIDI IN, is released on the sound it started on, even after you choose another.
  • In the simulator, the Sound (PRESETS) list under the panel is the current sound’s, and its label names it.

Each sound’s level, from 0 to 100 %, is on the Mix page in FX mode (chapter 6). Every sound counts against the FM-1’s memory, and a sound that would not fit is refused (chapter 6): Shapes twice, for one, does not fit.

In the desktop tools, --sound K:ID loads sound K, --sound-note plays a note on it and --level K:PCT sets its level (chapter 2).

5.3 Macro

Status:In the simulatorOn the desktopPlanned for the device

Macro is eight synthesizers in one, from Mutable Instruments Plaits: a virtual-analogue voice with a filter, phase distortion, wave terrain, a chiptune voice, a pair of analogue oscillators, a waveshaper, two-operator FM and a wavetable. Each note passes through Plaits’ low-pass gate, which ties the note’s brightness to its level, so that it darkens as it fades, as acoustic instruments do.

  • Model chooses one of the eight. ALGORITHM steps through them, and so does KNOB1 on page 1. Changing the model ends the notes that are sounding.
  • Harmonics, Timbre and Morph are Plaits’ three sound controls. What each one does depends on the model (below).
  • Decay sets how long a note takes to fade after you let go of the key. While you hold a key, the note sustains.
  • Colour sets how much the low-pass gate darkens the note as it fades: at the left the tone closes down with the level, like a plucked string; at the right only the level falls.
  • Volume is the engine’s output level.
  • Playing harder makes a note louder and brighter.
  • Page 3 holds Plaits’ own envelope, which every note restarts and Decay shortens or lengthens:
  • Env Pitch, Env Timbre and Env Morph set how far it moves the note, Timbre and Morph, from nothing in the middle to the most at either end, to the right upwards and to the left downwards. A short Decay with some Env Pitch gives a falling zap or a drum-like thump. On Chip, Env Timbre sets the arpeggio’s own fade instead: the further from the middle, the shorter each note.
  • LPG chooses how the low-pass gate plays: Gate follows the key, as described above; Ping strikes the gate at each key press and lets it close over the Decay time even if you hold the key, like a plucked or struck sound; Off takes the gate out, so the note keeps its full brightness and only its level fades after you let go.
  • Page 4 holds Glide, Voice Mode, Glide Mode and Time Mode: how notes slide from one to the next, and one-voice playing (chapter 4).
Model Harmonics Timbre Morph
VA+Filter: an analogue-style waveform through a resonant low-pass filter The filter’s character: a steeper slope on the left, a gentler one on the right, and more resonance the further from the middle The filter’s cutoff The waveform: sawtooth on the left, square in the middle, a narrowing pulse towards the right; near either end a sub-oscillator an octave down joins in
PhaseDist: phase-distortion synthesis The frequency of the distortion, in steps of musical ratios The amount of distortion The asymmetry of the distortion
Terrain: the waveform is read along a circular path over a surface Which of eight terrains, blending between neighbours The size of the path Where the path sits on the terrain
Chip: a chiptune voice with an arpeggiator The chord the arpeggiator plays The arpeggio: up, down, up and down, or random, over one, two or four octaves Below the middle, a pulse-width effect; above it, hard sync
VA Pair: two classic oscillators The detuning between them The first oscillator: from a narrow pulse to a square, then hard-sync formants The second oscillator: from a triangle to a sawtooth with a widening notch
Shaper: a waveshaper and wavefolder The waveshaper’s curve How much the wave is folded The waveform’s asymmetry, from triangle to sawtooth
2-op FM: two operators, one modulating the other The frequency ratio between them The modulation amount Feedback: towards the right the second operator modulates itself, for a rough tone; towards the left it feeds back into the first, for chaotic tones; none in the middle
Wavetable: banks of waveforms on an 8 × 8 grid Which bank. In the first half of its range the waves blend smoothly; in the second they step from one to the next, for a grainier sound The row in the bank The column in the bank

Chip, the arpeggiating model

Each key press on Chip plays the next note of the arpeggio, a chord built on the key you press. Strike one key repeatedly and the notes walk through the chord. Each voice keeps its own place in the pattern, so the first notes of a chord played across several keys may start at different places.

Starting points

  • Bass: VA+Filter with Morph at the left, a sawtooth with its sub-oscillator, Timbre low and Decay low.
  • Pads: VA Pair with Decay high, and Ensemble then Plate in the effect slots (chapter 6).

Macro’s output is mono; the effects spread it in stereo. 2-op FM is the heaviest of its models for the processor, and the others are light.

The screen. Macro on its VA Pair model, page 1, while a chord sounds.
Figure 5.2Macro on its VA Pair model, page 1, while a chord sounds.
Macro: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1ModelHarmonicsTimbreMorph
Page 2DecayColourVolume–
Page 3Env PitchEnv TimbreEnv MorphLPG
Page 4GlideVoice ModeGlide ModeTime Mode
Macro parameters
ParameterWhereTypeRangeDefault
ModelPage 1 · KNOB1List, 8 values0 – 70 VA+Filter
HarmonicsPage 1 · KNOB2Continuous0 – 10.5
TimbrePage 1 · KNOB3Continuous0 – 10.5
MorphPage 1 · KNOB4Continuous0 – 10.5
DecayPage 2 · KNOB1Continuous0 – 10.5
ColourPage 2 · KNOB2Continuous0 – 10.5
VolumePage 2 · KNOB3Continuous0 – 10.7
Env PitchPage 3 · KNOB1Continuous−1 – 10
Env TimbrePage 3 · KNOB2Continuous−1 – 10
Env MorphPage 3 · KNOB3Continuous−1 – 10
LPGPage 3 · KNOB4List, 3 values0 – 20 Gate
GlidePage 4 · KNOB1Continuous, logarithmic1 – 5000 ms100 ms
Voice ModePage 4 · KNOB2List, 3 values0 – 20 Poly
Glide ModePage 4 · KNOB3List, 3 values0 – 20 Off
Time ModePage 4 · KNOB4List, 2 values0 – 10 Time

Model values

  1. 0 VA+Filter
  2. 1 PhaseDist
  3. 2 Terrain
  4. 3 Chip
  5. 4 VA Pair
  6. 5 Shaper
  7. 6 2-op FM
  8. 7 Wavetable

LPG values

  1. 0 Gate
  2. 1 Ping
  3. 2 Off

Voice Mode values

  1. 0 Poly
  2. 1 Mono
  3. 2 Legato

Glide Mode values

  1. 0 Off
  2. 1 Legato
  3. 2 Always

Time Mode values

  1. 0 Time
  2. 1 Rate

12 voices · Identifier macro · Engines from Mutable Instruments Plaits by Emilie Gillet (MIT)

5.4 Macro Heavy

Status:In the simulatorOn the desktopPlanned for the device

Macro Heavy holds the larger Plaits models: a string machine, chords, speech, formants, additive synthesis, a swarm of oscillators, filtered noise, particles, a modelled string, a modal resonator and three drums. Each voice needs much more memory than Macro’s, so Macro Heavy plays four notes at once.

  • Model, Harmonics, Timbre, Morph, Decay, Colour and Volume work as in Macro. Changing the model ends the notes that are sounding.
  • Word Speed, on page 2, sets how fast the Speech model says its words: from a quarter of the normal speed at the left, through normal at 0, to four times as fast at the right.
  • Page 3 works as in Macro. On Speech, Env Pitch also lets a spoken word’s own pitch contour through. With LPG on Ping, String, Modal and the drums ring out after you let go, instead of fading.
  • Page 4, Glide, Voice Mode, Glide Mode and Time Mode, works as in Macro. On Legato a string, a modal sound or a drum is not struck again when you play over a held key, and a word goes on; on Mono it is.
  • String, Modal, Bass Drum, Snare and Hi-Hat sound by themselves: a key press strikes them, and they ring for as long as Morph sets. Speech, when it says words, says one word per key press. When you let go of the key, Decay and Colour set how quickly whatever is still sounding fades.
  • Str Machine plays in stereo. The other models are mono.
The screen. Macro Heavy on Str Machine, page 1.
Figure 5.3Macro Heavy on Str Machine, page 1.
Model Harmonics Timbre Morph
Str Machine: a string machine playing a chord on each key, through a filter and an ensemble The chord Brightness, with more ensemble towards either end The registration: sawtooth footages on the left, square ones on the right
Chords: a chord on each key The chord Inversion and transposition On the left half, mixes of square and sawtooth harmonics, like an organ or a string machine; on the right half, waveforms from a wavetable
Speech: vowels and words Formant vowels, then early computer-speech vowels, then LPC vowels; above about 0.44, banks of spoken words The size of the voice, from deep to squeaky The vowel, or which word of the bank
Formant: two formants over a carrier The ratio between the two formants The formant frequency The formants’ width and shape
Additive: a spectrum of harmonics How many bumps the spectrum has Which harmonic is strongest The shape of the bumps, from flat and wide to peaked and narrow
Swarm: a cloud of enveloped sawtooth grains How far the grains’ pitches scatter How dense the cloud is The grains’ length and overlap
Filt Noise: noise through a resonant filter The filter’s response: low-pass, band-pass, high-pass The noise’s clock rate The resonance
Particle: random clicks through filters How far the particles’ pitches scatter How dense the particles are Below the middle a reverberating diffuser; above it, increasingly resonant band-pass filters
String: a plucked, inharmonic string Inharmonicity, or the material The brightness of the excitation, and the amount of dust in it How long it rings
Modal: a struck resonator, such as a bar, a bell or a plate Inharmonicity, or the material The brightness of the excitation, and the amount of dust in it How long it rings
Bass Drum: an analogue-style kick How sharp the attack is, and how much overdrive Brightness How long it rings
Snare: an analogue-style snare The balance of tone and noise The balance between the drum’s modes How long it rings
Hi-Hat: an analogue-style hi-hat The balance of metallic tone and noise The cutoff of its high-pass filter How long it rings

Speaking a word

Set Speech’s Harmonics above the middle to choose a bank of words, and Morph to choose the word. Each key press says it once, on the key’s pitch. Word Speed makes it faster or slower without changing its pitch.

Drums on a keyboard

The drums, String and Modal ring by themselves while you hold the key, and fade over the Decay time when you let go. For short taps that still ring out, raise Decay. With four voices, a fifth note takes over one that is already sounding.

Macro Heavy: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1ModelHarmonicsTimbreMorph
Page 2DecayColourVolumeWord Speed
Page 3Env PitchEnv TimbreEnv MorphLPG
Page 4GlideVoice ModeGlide ModeTime Mode
Macro Heavy parameters
ParameterWhereTypeRangeDefault
ModelPage 1 · KNOB1List, 13 values0 – 120 Str Machine
HarmonicsPage 1 · KNOB2Continuous0 – 10.5
TimbrePage 1 · KNOB3Continuous0 – 10.5
MorphPage 1 · KNOB4Continuous0 – 10.5
DecayPage 2 · KNOB1Continuous0 – 10.5
ColourPage 2 · KNOB2Continuous0 – 10.5
VolumePage 2 · KNOB3Continuous0 – 10.7
Word SpeedPage 2 · KNOB4Continuous−1 – 10
Env PitchPage 3 · KNOB1Continuous−1 – 10
Env TimbrePage 3 · KNOB2Continuous−1 – 10
Env MorphPage 3 · KNOB3Continuous−1 – 10
LPGPage 3 · KNOB4List, 3 values0 – 20 Gate
GlidePage 4 · KNOB1Continuous, logarithmic1 – 5000 ms100 ms
Voice ModePage 4 · KNOB2List, 3 values0 – 20 Poly
Glide ModePage 4 · KNOB3List, 3 values0 – 20 Off
Time ModePage 4 · KNOB4List, 2 values0 – 10 Time

Model values

  1. 0 Str Machine
  2. 1 Chords
  3. 2 Speech
  4. 3 Formant
  5. 4 Additive
  6. 5 Swarm
  7. 6 Filt Noise
  8. 7 Particle
  9. 8 String
  10. 9 Modal
  11. 10 Bass Drum
  12. 11 Snare
  13. 12 Hi-Hat

LPG values

  1. 0 Gate
  2. 1 Ping
  3. 2 Off

Voice Mode values

  1. 0 Poly
  2. 1 Mono
  3. 2 Legato

Glide Mode values

  1. 0 Off
  2. 1 Legato
  3. 2 Always

Time Mode values

  1. 0 Time
  2. 1 Rate

4 voices · Identifier macro-heavy · Heavy engines from Mutable Instruments Plaits by Emilie Gillet (MIT)

5.5 Six-Op FM

Status:In the simulatorOn the desktopPlanned for the device

Six-Op FM is a six-operator FM synthesizer in the tradition of the classic 1980s FM keyboards, from Plaits’ six-operator engine, with the 96 patches that Plaits ships in three banks of 32. Each patch is a complete sound with its own algorithm, envelopes and velocity response. ALGORITHM steps through the patches, and the knobs adjust the one you have chosen.

  • Patch chooses one of the 96. Its name starts with its bank, 1 to 3. A new patch applies to the next note you play; notes already sounding keep theirs.
  • Brightness scales the modulating operators: below the middle the sound is softer, above it brighter and harsher. In the middle the patch plays as programmed.
  • Envelope scales the patch’s envelope times. Attacks and decays are shorter towards the left and longer towards the right, and play as programmed in the middle. Releases play as programmed a little left of the middle, at 0.3, and grow longer either side of it: at the default, 0.5, they last about three times as long as programmed.
  • Volume, on page 2, is the engine’s output level.
  • Page 3 holds Glide, Voice Mode, Glide Mode and Time Mode, which slide between notes and play one voice (chapter 4). On Legato a note played over a held one does not restart the patch’s envelopes.
  • Eight notes play at once.
The screen. Six-Op FM on its default patch, 2 E.PIANO 1. Its first page has three controls.
Figure 5.4Six-Op FM on its default patch, 2 E.PIANO 1. Its first page has three controls.

The banks:

Bank Patch numbers What is in it
1 0 – 31 Basses, analogue-style synthesizers, leads, textures and effects
2 32 – 63 Electric and acoustic pianos, clavinets, plucked strings, mallets, bells, drums and percussion
3 64 – 95 Organs, pads, textures, strings and brass

Patch names

A few of the stored patch names are trademarks or a person’s name. Public builds show those patches under descriptive names of this project’s own; the sound is the same.

Shaping a patch

Turn Envelope left for snappier attacks and quicker decays, and right to slow them into swells. Brightness works like a tone control for the whole patch.

Six-Op FM: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1PatchBrightnessEnvelope–
Page 2Volume–––
Page 3GlideVoice ModeGlide ModeTime Mode
Six-Op FM parameters
ParameterWhereTypeRangeDefault
PatchPage 1 · KNOB1List, 96 values0 – 9532 2 E.PIANO 1
BrightnessPage 1 · KNOB2Continuous0 – 10.5
EnvelopePage 1 · KNOB3Continuous0 – 10.5
VolumePage 2 · KNOB1Continuous0 – 10.7
GlidePage 3 · KNOB1Continuous, logarithmic1 – 5000 ms100 ms
Voice ModePage 3 · KNOB2List, 3 values0 – 20 Poly
Glide ModePage 3 · KNOB3List, 3 values0 – 20 Off
Time ModePage 3 · KNOB4List, 2 values0 – 10 Time

Patch values

  1. 0 1 SOLID BASS
  2. 1 1 Fat Low
  3. 2 1 LeaderTape
  4. 3 1 ACID BASS
  5. 4 1 BASS 3
  6. 5 1 PLUCK BASS
  7. 6 1 BASS 1
  8. 7 1 ELEC BASS
  9. 8 1 S.BAS 27.7
  10. 9 1 RESONANCES
  11. 10 1 SYN-BASS 2
  12. 11 1 PRC SYNTH1
  13. 12 1 PRISM 2
  14. 13 1 ANALOG 4
  15. 14 1 ANALOG A
  16. 15 1 ANALOG 6
  17. 16 1 POLY 80
  18. 17 1 INSERT 1
  19. 18 1 SPIRAL
  20. 19 1 FM-TROTT
  21. 20 1 GASHAUS
  22. 21 1 RING DING
  23. 22 1 PAPAGAYO
  24. 23 1 WINEGLASS
  25. 24 1 SEDATIVE
  26. 25 1 SAMPLER 1
  27. 26 1 *Wavetbl 1
  28. 27 1 *Wavetbl 2
  29. 28 1 *Sampler 3
  30. 29 1 *Vocoder 2
  31. 30 1 *Sequence
  32. 31 1 Bounce 4
  33. 32 2 E.PIANO 1
  34. 33 2 TINE EP 1
  35. 34 2 WINTER EP
  36. 35 2 RS-EP C
  37. 36 2 *Tines III
  38. 37 2 CLAV-E.PNO
  39. 38 2 SYNTH CLAV
  40. 39 2 FUNK CLAV
  41. 40 2 PIANO 5
  42. 41 2 GRD PIANO1
  43. 42 2 BIG GRAND
  44. 43 2 GUIT ACOUS
  45. 44 2 SITAR
  46. 45 2 KOTO
  47. 46 2 HARPSICH 1
  48. 47 2 CLAV 3
  49. 48 2 XYLOPHONE
  50. 49 2 MARIMBA
  51. 50 2 VIBE 1
  52. 51 2 GLOKENSPL
  53. 52 2 BELL C
  54. 53 2 BELLS
  55. 54 2 TUB BELLS
  56. 55 2 GONG 2
  57. 56 2 KETTLE 6
  58. 57 2 MID DRM 3
  59. 58 2 ORI DRUM 1
  60. 59 2 WOOD 6
  61. 60 2 LATN DRM 4
  62. 61 2 CIMBAL
  63. 62 2 SYNTH DRUM
  64. 63 2 B.DRM-SNAR
  65. 64 3 CLICK 124
  66. 65 3 *Drawbar 1
  67. 66 3 E.ORGAN 3
  68. 67 3 60-S ORGAN
  69. 68 3 OPTIC 28
  70. 69 3 PIPES 1
  71. 70 3 PIPES 3
  72. 71 3 PIPES 2
  73. 72 3 POLY PAD
  74. 73 3 SOUNDTRACK
  75. 74 3 ICE PAD 2
  76. 75 3 LUSH PADS
  77. 76 3 BAROQUE 2
  78. 77 3 SOFT TOUCH
  79. 78 3 *Planets
  80. 79 3 CIRRUS
  81. 80 3 ENTRIX
  82. 81 3 MAL POLY
  83. 82 3 Textures 6
  84. 83 3 Etherial5a
  85. 84 3 'Airy'
  86. 85 3 BORON A
  87. 86 3 CINEMA 1
  88. 87 3 STRINGS C
  89. 88 3 STRINGS 3
  90. 89 3 STRINGS 2
  91. 90 3 STRINGS 7
  92. 91 3 FULL STRIN
  93. 92 3 SYN-ORCH
  94. 93 3 BRASS 1
  95. 94 3 BRASS 6 BC
  96. 95 3 BR TRUMPET

Voice Mode values

  1. 0 Poly
  2. 1 Mono
  3. 2 Legato

Glide Mode values

  1. 0 Off
  2. 1 Legato
  3. 2 Always

Time Mode values

  1. 0 Time
  2. 1 Rate

8 voices · Identifier sixop · Six-operator FM engine from Mutable Instruments Plaits by Emilie Gillet (MIT); DX7 patch banks as distributed with Plaits

5.6 FM6

Status:In the simulatorOn the desktopPlanned for the device

FM6 is a six-operator FM synthesizer that plays voices in the format of the classic 1980s FM keyboards, the DX7’s: 155 parameters for six operators with their own envelopes, 32 algorithms, feedback, an LFO and a pitch envelope. Its synthesis is msfa, the FM core Google published for Android, the same core the FM-1’s own firmware runs. It comes with 32 voices of this project’s own, and plays voices you load from SysEx files (below). ALGORITHM steps through the voices, and the knobs shape the one you have chosen.

Both the engine and its name are borrowed, with thanks: the engine is Google’s msfa, and the name is that of the FM engine in hugelton’s Felucca, open firmware for the FM-1, whose port of the same core checks FM6’s sound in this project’s tests.

The screen. FM6 on its first voice, TINE EP, while a chord sounds.
Figure 5.5FM6 on its first voice, TINE EP, while a chord sounds.
  • Patch chooses a voice: the 32 built-in ones, then User 1 to User 32, which show the names of the voices you have loaded. A new voice applies to the next note you play; notes already sounding keep theirs.
  • Brightness moves the level of every modulating operator, up to 24 dB down at the left and up at the right. In the middle the voice plays as programmed. The carriers, and so the loudness, do not change.
  • Env Time runs all the voice’s envelopes faster or slower, the pitch envelope’s too: up to 8 times faster at the left, 8 times slower at the right, as programmed in the middle. It acts on notes that are sounding.
  • Feedback adds to the voice’s own feedback, from 0 to 7 in whole steps.
  • Volume, on page 2, is the engine’s output level.
  • Page 3 holds Glide, Voice Mode, Glide Mode and Time Mode, which slide between notes and play one voice (chapter 4). On Legato a note played over a held one keeps the envelopes and the LFO running.
  • Twelve notes play at once.

The built-in voices:

Patch numbers What they are
0 – 4 Keys: two electric pianos, a clavinet-like pluck, a harpsichord, a koto
5 – 10 Mallets and bells: marimba, vibraphone (with tremolo), tubular bell, glass bell, chimes, steel drum
11 – 13 Organs: drawbars, drawbars with a percussive click, a gritty rock organ
14 – 17 Brass and winds: brass, soft brass, flute, clarinet
18 – 21 Strings and pads: strings, warm pad, glass pad, a slow sweep
22 – 24 Basses: FM bass, plucked bass, saw bass
25 – 27 Leads: saw, square, a sync-like sweep
28 – 30 Drums: kick (play it low), snare, hi-hat
31 A pure sine, for tuning and tests
32 – 63 User 1 to User 32, named after the voices loaded into them

5.6.1 Loading voices from SysEx

Status:In the simulatorOn the desktop

The user slots take voices from SysEx files (.syx), the format the DX7 and its editors save: a single voice, or a bank of 32. A bank fills User 1 to User 32; single voices go to the user slots one after another, starting after the last one loaded. A file may hold several dumps. Values out of range are brought into range, and anything that is not a voice dump is skipped.

In the simulator (chapter 2):

  1. Power on.
  2. Choose Load DX7 patches… under the panel and pick one or more .syx files, or drop the files anywhere on the page.
  3. The screen shows Loaded 32 voices (or how many there were), which user slots they went to and the first voice’s name, and the status line under the panel says the same. The current sound now plays the first voice loaded: if it was another engine, it becomes FM6.
  4. Turn ALGORITHM to step through the voices by name. Every sound you set to FM6 later has them too.

The file is read in your browser; nothing is uploaded. The simulator checks it first: a file that is empty, is not SysEx, holds SysEx of another kind, is cut short, or holds a voice dump of the wrong length loads nothing, and the status line says which. A dump whose checksum is wrong is loaded all the same, as DX7 editors load one, and the status line says the file may be damaged. Files of up to 64 KB are read. The voices stay until you power off.

On the desktop, fm1-render --sysex FILE.syx loads files before the first note (chapter 2), and prints the names it found.

Voices from elsewhere

Files of DX7 voices circulate widely, Yamaha’s own factory voices among them. They are not part of Lunar Modulator, and nothing here comes with them: load only files you are entitled to use.

Two algorithms with a loop

Algorithms 4 and 6 feed a whole stack of operators back on itself, as the DX7 does; FM6 runs that loop, where msfa itself plays those two algorithms without feedback. The built-in SAW BASS uses it.

FM6: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1PatchBrightnessEnv TimeFeedback
Page 2Volume–––
Page 3GlideVoice ModeGlide ModeTime Mode
FM6 parameters
ParameterWhereTypeRangeDefault
PatchPage 1 · KNOB1List, 64 values0 – 630 TINE EP
BrightnessPage 1 · KNOB2Continuous0 – 10.5
Env TimePage 1 · KNOB3Continuous0 – 10.5
FeedbackPage 1 · KNOB4Continuous−7 – 70
VolumePage 2 · KNOB1Continuous0 – 10.7
GlidePage 3 · KNOB1Continuous, logarithmic1 – 5000 ms100 ms
Voice ModePage 3 · KNOB2List, 3 values0 – 20 Poly
Glide ModePage 3 · KNOB3List, 3 values0 – 20 Off
Time ModePage 3 · KNOB4List, 2 values0 – 10 Time

Patch values

  1. 0 TINE EP
  2. 1 BARK EP
  3. 2 CLAV
  4. 3 HARPSI
  5. 4 KOTO
  6. 5 MARIMBA
  7. 6 VIBES
  8. 7 TUBE BELL
  9. 8 GLASS BELL
  10. 9 CHIMES
  11. 10 STEEL DRUM
  12. 11 ORGAN 1
  13. 12 ORGAN PERC
  14. 13 ROCK ORGAN
  15. 14 BRASS
  16. 15 SOFT BRASS
  17. 16 FLUTE
  18. 17 CLARINET
  19. 18 STRINGS
  20. 19 WARM PAD
  21. 20 GLASS PAD
  22. 21 SWEEP
  23. 22 FM BASS
  24. 23 PLUCK BASS
  25. 24 SAW BASS
  26. 25 SAW LEAD
  27. 26 SQUARE LD
  28. 27 SYNC LEAD
  29. 28 KICK
  30. 29 SNARE
  31. 30 HI-HAT
  32. 31 PURE SINE
  33. 32 User 1
  34. 33 User 2
  35. 34 User 3
  36. 35 User 4
  37. 36 User 5
  38. 37 User 6
  39. 38 User 7
  40. 39 User 8
  41. 40 User 9
  42. 41 User 10
  43. 42 User 11
  44. 43 User 12
  45. 44 User 13
  46. 45 User 14
  47. 46 User 15
  48. 47 User 16
  49. 48 User 17
  50. 49 User 18
  51. 50 User 19
  52. 51 User 20
  53. 52 User 21
  54. 53 User 22
  55. 54 User 23
  56. 55 User 24
  57. 56 User 25
  58. 57 User 26
  59. 58 User 27
  60. 59 User 28
  61. 60 User 29
  62. 61 User 30
  63. 62 User 31
  64. 63 User 32

Voice Mode values

  1. 0 Poly
  2. 1 Mono
  3. 2 Legato

Glide Mode values

  1. 0 Off
  2. 1 Legato
  3. 2 Always

Time Mode values

  1. 0 Time
  2. 1 Rate

12 voices · Identifier dx7 · Six-operator FM on msfa, the FM core of Google's music-synthesizer-for-android (Google, Apache-2.0); named after Felucca's FM6 engine (hugelton), both borrowed with thanks; reads DX7 voice data (a Yamaha trademark; not affiliated); built-in voices our own

5.7 Shapes

Status:In the simulatorOn the desktopPlanned for the device

Shapes is the macro-oscillator from Mutable Instruments Braids: 47 shapes, from analogue waveforms and their sync and sub-oscillator versions to formants, FM, physical models of plucked, bowed and blown instruments, bells and drums, wavetables, noise and granular textures. Each voice has its own attack and release envelope.

  • Shape chooses one of the 47. ALGORITHM steps through them, and a new shape applies at once, to notes that are sounding too.
  • Timbre and Color are the two controls Braids gives every shape; what they do depends on the shape (below).
  • Attack sets how long a note takes to rise, and Release, on page 2, how long it takes to fade after you let go. Both run from 1 ms at the left to 4 seconds at the right.
  • Volume, on page 2, is the engine’s output level.
  • Page 3 holds Glide, Voice Mode, Glide Mode and Time Mode, which slide between notes and play one voice (chapter 4). On Legato a note played over a held one does not strike the shape again.
  • Playing harder makes a note louder.
The screen. Shapes on Pluck, page 1.
Figure 5.6Shapes on Pluck, page 1.
No. Shape Timbre Color
0 CSaw: a sawtooth with a notch Where the notch falls How deep it is
1 Morph: one oscillator through a filter The waveform: triangle, sawtooth, square, then a narrowing pulse A low-pass filter that closes, with more overdrive, as Color rises
2 Saw/Sqr The shape of both waves From sawtooth to square
3 Sine/Tri: a wavefolder How much the wave is folded From a folded sine to a folded triangle
4 Buzz: a buzzy train of harmonics How many harmonics A second buzz voice, detuned by up to a semitone
5, 6 Sqr Sub, Saw Sub: a wave with a sub-oscillator The pulse width, or the sawtooth’s shape The sub-oscillator: none in the middle, two octaves down towards the left, one octave down towards the right
7, 8 Sqr Sync, Saw Sync: two oscillators in hard sync The pitch of the synced oscillator The balance between the two
9 – 12 3x Saw, 3x Sqr, 3x Tri, 3x Sine: three oscillators The second oscillator’s interval, from two octaves down to two up, slightly detuned near the middle The third oscillator’s interval
13 3x Ring: three sines, ring-modulated The second sine’s pitch The third sine’s pitch
14 Swarm: a swarm of sawtooths How far they are detuned A high-pass filter
15 Comb: a sawtooth through a comb filter The comb’s pitch The resonance, from negative on the left to positive on the right
16 Toy: a circuit-bent, low-fidelity oscillator The sample-rate reduction Digital bit-mangling
17 – 20 LP Flt, Peak Flt, BP Flt, HP Flt: waveforms that sound like a resonant filter The filter’s frequency The shape of the wave under it
21 Vosim: two formants The first formant’s frequency The second formant’s frequency
22 Vowel: vowel synthesis The vowel The size of the voice
23 Vowel FOF: sung vowels The vowel The kind of voice
24 Harmonic: additive harmonics Which harmonic is strongest How widely the energy spreads around it
25 – 27 FM, FB FM, Chaos FM: two-operator FM, with feedback in the last two The modulation amount The frequency ratio
28 Pluck: a plucked string How long it rings Where it is plucked
29 Bowed: a bowed string The bow’s friction Where it is bowed
30 Blown: a reed instrument The breath pressure The instrument’s body
31 Flute: a flute The breath pressure The mouthpiece’s geometry
32 Bell: a struck bell How long it rings Inharmonicity
33 Drum: a struck drum How long it rings Brightness, from tone towards noise
34 Kick: an analogue-style kick How long it rings Its tone
35 Cymbal: a metallic cymbal The filter’s frequency The balance of metal and noise
36 Snare: an analogue-style snare The drum’s tone How much snare rattle
37 Wavetbl: wavetables The position in the table Which table
38 Wave Map: a map of waveforms One coordinate on the map The other coordinate
39 Wave Line: a line of waveforms The position along the line How the waves are drawn and joined, between smooth and stepped
40 Wave x4: four voices from wavetables The position among the waves The chord
41 Filt Noise: noise through a filter that follows the key The resonance The response: low-pass, band-pass, high-pass
42 Twin Peak: noise through two resonant peaks The resonance The second peak’s frequency
43 Clk Noise: stepped noise clocked by the key’s pitch How often the random pattern repeats How many levels it steps between, from 2 to 32
44 Granular: a cloud of sine grains The grains’ length How far their pitches scatter
45 Particle: random clicks through resonant filters How dense the particles are How far the filters’ frequencies scatter
46 Digital: a digitally modulated carrier The data rate The data sent

The struck shapes

Pluck, Bell, Drum, Kick, Cymbal and Snare are struck when you press a key and die away by themselves, however long you hold it. Release matters only if you let go before they have finished.

Memory

Shapes is the largest engine: twelve voices take 54 % of the memory the simulator allows for everything (chapter 13). With PSX Verb and Plate together as effects it does not fit, nor as two sounds at once, and the simulator refuses what would not (chapter 6). The FM-1 build may play fewer Shapes notes at once.

At the edges

Shapes keeps Braids within the range its code was written for. A note bent or offset above MIDI 127 sounds as the top of that range, on every shape. Comb’s Timbre stops where the comb reaches its lowest pitch, which only the lowest four octaves of keys get to, and sounds the same there. The last sliver of Wave Line’s Timbre (above about 98 %) plays the line’s last wave.

Shapes: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1ShapeTimbreColorAttack
Page 2ReleaseVolume––
Page 3GlideVoice ModeGlide ModeTime Mode
Shapes parameters
ParameterWhereTypeRangeDefault
ShapePage 1 · KNOB1List, 47 values0 – 460 CSaw
TimbrePage 1 · KNOB2Continuous0 – 10.5
ColorPage 1 · KNOB3Continuous0 – 10.5
AttackPage 1 · KNOB4Continuous0 – 10
ReleasePage 2 · KNOB1Continuous0 – 10.3
VolumePage 2 · KNOB2Continuous0 – 10.7
GlidePage 3 · KNOB1Continuous, logarithmic1 – 5000 ms100 ms
Voice ModePage 3 · KNOB2List, 3 values0 – 20 Poly
Glide ModePage 3 · KNOB3List, 3 values0 – 20 Off
Time ModePage 3 · KNOB4List, 2 values0 – 10 Time

Shape values

  1. 0 CSaw
  2. 1 Morph
  3. 2 Saw/Sqr
  4. 3 Sine/Tri
  5. 4 Buzz
  6. 5 Sqr Sub
  7. 6 Saw Sub
  8. 7 Sqr Sync
  9. 8 Saw Sync
  10. 9 3x Saw
  11. 10 3x Sqr
  12. 11 3x Tri
  13. 12 3x Sine
  14. 13 3x Ring
  15. 14 Swarm
  16. 15 Comb
  17. 16 Toy
  18. 17 LP Flt
  19. 18 Peak Flt
  20. 19 BP Flt
  21. 20 HP Flt
  22. 21 Vosim
  23. 22 Vowel
  24. 23 Vowel FOF
  25. 24 Harmonic
  26. 25 FM
  27. 26 FB FM
  28. 27 Chaos FM
  29. 28 Pluck
  30. 29 Bowed
  31. 30 Blown
  32. 31 Flute
  33. 32 Bell
  34. 33 Drum
  35. 34 Kick
  36. 35 Cymbal
  37. 36 Snare
  38. 37 Wavetbl
  39. 38 Wave Map
  40. 39 Wave Line
  41. 40 Wave x4
  42. 41 Filt Noise
  43. 42 Twin Peak
  44. 43 Clk Noise
  45. 44 Granular
  46. 45 Particle
  47. 46 Digital

Voice Mode values

  1. 0 Poly
  2. 1 Mono
  3. 2 Legato

Glide Mode values

  1. 0 Off
  2. 1 Legato
  3. 2 Always

Time Mode values

  1. 0 Time
  2. 1 Rate

12 voices · Identifier shapes · Macro-oscillator from Mutable Instruments Braids by Emilie Gillet (MIT)

5.8 Sophie

Status:In the simulatorOn the desktopPlanned for the device

Sophie is a sixteen-pad metallic FM percussion synthesizer by Matt Estela, from the Schwung community. Each pad is a drum sound of its own. A hit rings for its pad’s Decay, whether or not you keep the key down.

  • Sophie plays MIDI notes 36 to 51, one pad each, and ignores other notes. Its pads follow the General MIDI drum layout: 36 is the kick, 38 the snare, 42 the closed hi-hat and so on, so drum parts from other instruments play the right sounds.
  • Pad chooses which pad the other knobs edit. ALGORITHM steps through the pads, and so does KNOB1 on page 1.
  • Tune sets the pad’s pitch in semitones, from two octaves down to two octaves up, relative to its key.
  • Decay is how long a hit takes to die away, in seconds.
  • Model chooses how the pad’s operators are wired: Fuse, two modulators in series, very responsive to feedback; Stack, a dense stack of operators; Split, operators side by side with uneven modulation; and Shard, a coarse, stepped wave mixed with noise. On pad 1, the kick, a sine body always carries the weight, and Model adds a layer over it.
  • Color moves the modulators’ frequency ratios through inharmonic, clangorous zones.
  • Metal sets how much the operators modulate one another: the higher, the more metallic.
  • Feedback feeds the sound back into its own modulator, for a rougher edge.
  • Sweep bends the start of each hit: a fast drop in pitch towards the right, a fast rise towards the left.
  • Playing harder makes a hit louder. Sophie ignores pitch bend.
The screen. Sophie on pad 1, the kick, just after it was struck.
Figure 5.7Sophie on pad 1, the kick, just after it was struck.

To play Sophie from the FM-1’s keys: play the white keys. With a drum kit as the sound (Sophie, Drums, Comet Kit or Crater Kit), the sixteen white keys play the sixteen pads at any octave, from the kick on the lowest F up to the ride on the highest white key, and the black keys play nothing. On the computer keyboard, A is the kick, S the rim, D the snare, F the clap, J the closed hi-hat, L the pedal hi-hat and ' the open hi-hat. A MIDI keyboard plays the pads on notes 36 to 51, as a drum part from another instrument expects.

The values shown after you change pads

The screen cannot read a pad’s settings back from Sophie. When you choose another pad, the screen keeps showing the values you last set. The first turn of a knob gives the new pad the value shown, plus that turn.

Sophie has further controls for each pad, for bit crushing, drive, level, a filter and a ring resonator, which this build does not show on the screen yet.

Sophie: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1PadTuneDecayModel
Page 2ColorMetalFeedbackSweep
Sophie parameters
ParameterWhereTypeRangeDefault
PadPage 1 · KNOB1List, 16 values0 – 150 1 Kick
TunePage 1 · KNOB2Continuous−24 – 24−5
DecayPage 1 · KNOB3Continuous0.03 – 40.28
ModelPage 1 · KNOB4List, 4 values0 – 30 Fuse
ColorPage 2 · KNOB1Continuous0 – 10024
MetalPage 2 · KNOB2Continuous0 – 1008
FeedbackPage 2 · KNOB3Continuous0 – 1006
SweepPage 2 · KNOB4Continuous−100 – 10055

Pad values

  1. 0 1 Kick
  2. 1 2 Rim
  3. 2 3 Snare
  4. 3 4 Clap
  5. 4 5 Snare 2
  6. 5 6 Low Tom
  7. 6 7 Closed HH
  8. 7 8 Floor Tom
  9. 8 9 Pedal HH
  10. 9 10 Mid Tom
  11. 10 11 Open HH
  12. 11 12 Low-Mid
  13. 12 13 High-Mid
  14. 13 14 Crash
  15. 14 15 High Tom
  16. 15 16 Ride

Model values

  1. 0 Fuse
  2. 1 Stack
  3. 2 Split
  4. 3 Shard

12 voices · Identifier sw-sophie · Sophie by Matt Estela (github.com/mestela/schwung-sophie, MIT), via the Schwung v2 shim (Schwung plugin ABI by Charles Vestal, MIT)

5.9 Drums

Status:In the simulatorOn the desktopPlanned for the device

Drums is a sixteen-pad drum kit after the classic analogue drum machines: a deep kick with a long boom, a short punchy one, two snares, a clap, closed, pedal and open hi-hats, six toms, a rim shot, a crash and a ride, and a cowbell you can put on any pad. Its kicks, toms, snares and hi-hats are Plaits’ drum models; the rim shot, clap, cowbell and cymbals are this project’s own, after published studies of the analogue circuits (chapter 14).

  • Drums plays MIDI notes 36 to 51, one pad each, in the same order as Sophie, and ignores other notes: 36 is the kick, 38 the snare, 42 the closed hi-hat, 46 the open one, 49 the crash and 51 the ride. On the FM-1’s keys the sixteen white keys play the pads (Sophie shows which key is which).
  • A hit rings for its pad’s decay, whether or not you keep the key down. Up to twelve hits sound at once. A pad struck again while it rings is struck again, as a drum is, rather than starting a second sound; a thirteenth pad takes over the quietest hit.
  • A closed or pedal hi-hat cuts the open hi-hat short, as on the machines: the three hi-hats share a choke group in both kits. Any pads can share one (Choke, below).
  • Pad chooses which pad the pad’s knobs edit: those on pages 1 to 3. ALGORITHM steps through the pads, and so does KNOB1 on page 1. Each pad keeps its own settings.
  • The pad’s knobs start in the middle, Tune at 0: that is the pad as the kit sets it up, and you turn from there. So until you change them the screen shows true values whichever pad you choose.
  • Tune sets the pad’s pitch, up to two octaves either way.
  • Decay sets how long it rings.
  • Level sets its level in the kit.
  • Tone (page 2) makes it brighter to the right.
  • Snap sets the attack: the kick’s click, the snare’s wires, the hi-hats’ noise against their metal, the clap’s bursts, the rim’s click, the cymbals’ wash, the cowbell’s first clank.
  • Sweep sets the fall in pitch at the start of a hit, the kick’s and the toms’ especially. On the other sounds, above the middle the hit falls in pitch, and below it rises.
  • Drive saturates the pad, clean at 0.
  • Model (page 3) chooses the pad’s sound. Kit is the kit’s own choice; the others are Analog Drum (a deep kick or tom), Punch Drum (a punchy, swept kick or tom), Snare, Snap Snare, Hat, Ring Hat, Cymbal, Clap, Rim and Cowbell. A pad given another sound plays that sound as Drums sets it up, so a cowbell on a tom’s pad is a cowbell.
  • Choke (page 3) chooses the pad’s choke group: a hit cuts short every pad in its group that is still ringing, within a few milliseconds. Kit, the default, is the kit’s own choice: the three hi-hats share Group 1 in both kits, whatever sound their pads play, and the other pads none. None takes the pad out of any group, and Group 1 to Group 4 put it in one. Put the crash and the ride in Group 2 and each cuts the other; put a pad in Group 1 and the hi-hats cut it.
  • Page 4 is the whole kit’s:
  • Kit chooses Deep, the long, round kit, or Punch, harder and shorter, with a swept kick, a crisper snare and ring-modulated hi-hats.
  • Accent sets how much velocity matters: at 0 every hit plays the same, at the right a soft hit is quiet and dull and a hard one loud and bright.
  • Volume sets the kit’s level.
  • Kit Decay makes every pad ring shorter or longer at once, each from its own Decay: in the middle the kit is as set up, to the left every pad shortens towards its shortest, to the right every pad lengthens towards its longest.
  • Model, Choke and Kit reach the next hit; a hit that is ringing keeps the sound and the group it started with. The other knobs move a ringing hit too.
  • Pitch bend bends every pad.
The screen. Drums on pad 1, the kick of the Deep kit, just after it was struck.
Figure 5.8Drums on pad 1, the kick of the Deep kit, just after it was struck.

The values shown after you change pads

As on Sophie, the screen cannot read a pad’s settings back. When you choose another pad, the screen keeps showing the values you last set, and the first turn of a knob gives the new pad the value shown, plus that turn.

Drums: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1PadTuneDecayLevel
Page 2ToneSnapSweepDrive
Page 3ModelChoke––
Page 4KitAccentVolumeKit Decay
Drums parameters
ParameterWhereTypeRangeDefault
PadPage 1 · KNOB1List, 16 values0 – 150 1 Kick
TunePage 1 · KNOB2Continuous−24 – 240
DecayPage 1 · KNOB3Continuous0 – 10.5
LevelPage 1 · KNOB4Continuous0 – 10.8
TonePage 2 · KNOB1Continuous0 – 10.5
SnapPage 2 · KNOB2Continuous0 – 10.5
SweepPage 2 · KNOB3Continuous0 – 10.5
DrivePage 2 · KNOB4Continuous0 – 10
ModelPage 3 · KNOB1List, 11 values0 – 100 Kit
ChokePage 3 · KNOB2List, 6 values0 – 50 Kit
KitPage 4 · KNOB1List, 2 values0 – 10 Deep
AccentPage 4 · KNOB2Continuous0 – 10.5
VolumePage 4 · KNOB3Continuous0 – 10.7
Kit DecayPage 4 · KNOB4Continuous0 – 10.5

Pad values

  1. 0 1 Kick
  2. 1 2 Rim
  3. 2 3 Snare
  4. 3 4 Clap
  5. 4 5 Snare 2
  6. 5 6 Low Tom
  7. 6 7 Closed HH
  8. 7 8 Floor Tom
  9. 8 9 Pedal HH
  10. 9 10 Mid Tom
  11. 10 11 Open HH
  12. 11 12 Low-Mid
  13. 12 13 High-Mid
  14. 13 14 Crash
  15. 14 15 High Tom
  16. 15 16 Ride

Model values

  1. 0 Kit
  2. 1 Analog Drum
  3. 2 Punch Drum
  4. 3 Snare
  5. 4 Snap Snare
  6. 5 Hat
  7. 6 Ring Hat
  8. 7 Cymbal
  9. 8 Clap
  10. 9 Rim
  11. 10 Cowbell

Kit values

  1. 0 Deep
  2. 1 Punch

Choke values

  1. 0 Kit
  2. 1 None
  3. 2 Group 1
  4. 3 Group 2
  5. 4 Group 3
  6. 5 Group 4

12 voices · Identifier drums · Kick, tom, snare and hi-hat voices from Mutable Instruments Plaits by Emilie Gillet (MIT); rim, clap, cowbell and cymbal from this repository (MIT), after Werner, Abel and Smith's TR-808 cowbell and cymbal models

5.10 Acid Bass

Status:In the simulatorOn the desktopPlanned for the device

Acid Bass is a bass after the TB-303: one voice, a sawtooth or square wave through a resonant filter swept by an envelope, with accents and slides. It is the 303 of fm1-x0x, Charles Vestal’s firmware for the FM-1, which ports Robin Schmidt’s Open303 with the Devilfish’s longer slides and accent decays and a RAT-style drive (chapter 14).

In builds with the GPL switch on

fm1-x0x’s code is published under the GNU General Public License, so Acid Bass is built in only while the firmware’s GPL switch is on: in the simulator while we test, and in firmware for the person who builds it, never in a shared build (chapter 14).

  • Accent. A note played with a velocity of 100 or more is accented: louder, and with a harder sweep of the filter. Velocity does nothing else, as on the original, so play softer than 100 for a plain note.
  • Slide. A key you play while holding another slides to its pitch instead of starting again: the 303’s slide. Let go of the newer key while the older one is still down and the note slides back. Let go of the last key and the note ends.
  • Page 1, the filter.
  • Cutoff sets how bright the note is at rest, 314 to 2,394 Hz.
  • Resonance adds the squelch: at the right the filter sings.
  • Env Mod sets how far each note opens the filter.
  • Decay sets how long that sweep takes to close, 200 ms to 2 s.
  • Page 2, the voice.
  • Accent sets how hard an accented note hits.
  • Wave chooses Saw or Square.
  • Tune moves the pitch up to an octave either way.
  • Volume sets the level.
  • Page 3, drive and slides.
  • Drive saturates the sound, clean at 0.
  • Drive Type chooses Soft, a warm overdrive, RAT, a gritty distortion pedal, or Off.
  • Slide sets how long a slide takes, 2 to 360 ms (60 ms, the original’s, to begin with).
  • Acc Decay sets the filter sweep’s decay on accented notes, 30 ms to 3 s.
  • Cutoff, Resonance, Env Mod, Tune, Volume, Drive and Slide move a note that sounds. Decay, Accent and Acc Decay reach the next note, a slide included. Wave and Drive Type wait for the next note that is not a slide, so they never click in the middle of one; while nothing sounds they change at once.
  • Pitch bend bends the note, slides included.
  • ALGORITHM steps through Wave.

Some settings to start from:

Sound Cutoff Resonance Env Mod Decay Accent Drive
Rubber bass 500 Hz 40 % 30 % 900 ms 40 % 0
Squelch 420 Hz 92 % 85 % 300 ms 90 % 0
Acid lead (Square) 1,500 Hz 70 % 60 % 630 ms 60 % 0
Distorted acid 700 Hz 80 % 100 % 400 ms 80 % 75 %, RAT
Acid Bass: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1CutoffResonanceEnv ModDecay
Page 2AccentWaveTuneVolume
Page 3DriveDrive TypeSlideAcc Decay
Acid Bass parameters
ParameterWhereTypeRangeDefault
CutoffPage 1 · KNOB1Continuous, logarithmic314 – 2394 Hz870 Hz
ResonancePage 1 · KNOB2Continuous0 – 10050
Env ModPage 1 · KNOB3Continuous0 – 10050
DecayPage 1 · KNOB4Continuous, logarithmic200 – 2000 ms630 ms
AccentPage 2 · KNOB1Continuous0 – 10050
WavePage 2 · KNOB2List, 2 values0 – 10 Saw
TunePage 2 · KNOB3Continuous−12 – 120
VolumePage 2 · KNOB4Continuous0 – 10.7
DrivePage 3 · KNOB1Continuous0 – 1000
Drive TypePage 3 · KNOB2List, 3 values0 – 21 Soft
SlidePage 3 · KNOB3Continuous, logarithmic2 – 360 ms60 ms
Acc DecayPage 3 · KNOB4Continuous, logarithmic30 – 3000 ms200 ms

Wave values

  1. 0 Saw
  2. 1 Square

Drive Type values

  1. 0 Off
  2. 1 Soft
  3. 2 RAT

1 voices · Identifier acid-bass · A bass after the TB-303: fm1-x0x's 303 by Charles Vestal (GPL-3.0), ported from schwung-303: Open303 by Robin Schmidt (MIT), Devilfish ranges after jc303 by midilab (GPL-3.0), RAT drive after dm-Rat by Dave Mollen (GPL-3.0)

5.11 Comet Kit

Status:In the simulatorOn the desktopPlanned for the device

Comet Kit is a sixteen-pad drum kit after the TR-909: a kick with a punchy sweep and a beater click, a snare with its rattle of wires, three toms, a rim shot and a hand clap, all modelled on the machine’s circuits, and hi-hats, a crash and a ride played from recordings, as the machine played its cymbals. It is the 909 kit of fm1-x0x, Charles Vestal’s firmware for the FM-1, which ports 9W9 by athousanddetails, itself grown out of ER-99 by Matthew Cieplak; the cymbal recordings are ER-99’s (chapter 14).

In builds with the GPL switch on

fm1-x0x’s code and ER-99’s recordings are published under the GNU General Public License, so Comet Kit is built in only while the firmware’s GPL switch is on, as Acid Bass is (Acid Bass). Drums stays the kit every build has.

  • Comet Kit plays MIDI notes 36 to 51, one pad each, in the same order as Drums and Sophie; on the FM-1’s keys the sixteen white keys play them (Sophie shows which key is which).
Note Pad Sound
36 1 Kick the kick
37 2 Rim the rim shot
38 3 Snare the snare
39 4 Clap the hand clap
40 5 Snare 2 the snare, a little higher, with more of its wires
41, 43 6 Low Tom, 8 Floor Tom the low tom, and the low tom tuned up
45, 47 10 Mid Tom, 12 Low-Mid the mid tom, and the mid tom tuned up
48, 50 13 High-Mid, 15 High Tom the high tom tuned down, and the high tom
42, 44 7 Closed HH, 9 Pedal HH the closed hi-hat, and a longer one
46 11 Open HH the open hi-hat
49 14 Crash the crash
51 16 Ride the ride
  • A hit rings for its sound’s decay, whether or not you keep the key down. The kit has one voice for each of its eleven sounds, as the machine has: a sound struck again starts again, and the two pads that share a sound (the two snares, two of the toms, the closed and pedal hi-hats) cut each other. A closed or pedal hi-hat cuts the open hi-hat short.
  • Velocity (page 3) sets how much a soft hit drops: at 100 % a hit at half velocity is half as loud; at 0 every hit plays at the Accent level. Accent sets the level a full-velocity hit reaches, the machine’s accent.
  • Pad chooses which pad the pad’s knobs edit, those on pages 1 and 2 and Drive Type on page 3. ALGORITHM steps through the pads, and so does KNOB1 on page 1. Each pad keeps its own settings.
  • The pad’s knobs are the machine’s own knobs for that sound. They start where the kit sets the pad up: Tune, Decay, Level, Tone and Snap in the middle, Sweep and Drive at 0. Turned fully left or right, a knob is at the end of that sound’s range on the machine, so a tom cannot be tuned onto another, as on the machine.
  • Tune sets the pitch; on the kick, how far its pitch sweeps down at the start of a hit.
  • Decay sets how long it rings; on the clap, its room tail. The snare and the rim shot have none: their length is fixed, as on the machine.
  • Level sets its level in the kit.
  • Tone (page 2) sets the length of the snare’s wires; on the kick, the pitch Sweep pulls it to.
  • Snap sets the snare’s wires against its body, and the click of the kick and of the toms.
  • Sweep works on the kick only: at 0 the kick is the machine’s; turned up, its pitch moves towards the one Tone sets, and its sweep deepens.
  • Drive saturates the pad.
  • Drive Type (page 3) chooses how: Diode, the machine’s own soft rounding, Clip, Saturate, Fuzz, Crunch, Fold (a wavefolder) or Crush (fewer bits and a lower sample rate).
  • Kit (page 4) chooses Classic, the kit as 9W9 sets it up, or Big Beat, fm1-x0x’s own: a shorter, harder kick and a quieter open hi-hat.
  • Drive Type and Kit reach the pad’s next hit; a hit that is ringing keeps the sound it started with. The other pad knobs move a ringing hit when its sound reads them, and otherwise reach the next hit.
  • Comet Kit ignores pitch bend.

The values shown after you change pads

As on Drums, the screen cannot read a pad’s settings back. When you choose another pad, the screen keeps showing the values you last set, and the first turn of a knob gives the new pad the value shown, plus that turn.

Comet Kit: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1PadTuneDecayLevel
Page 2ToneSnapSweepDrive
Page 3Drive TypeAccentVelocityVolume
Page 4Kit–––
Comet Kit parameters
ParameterWhereTypeRangeDefault
PadPage 1 · KNOB1List, 16 values0 – 150 1 Kick
TunePage 1 · KNOB2Continuous0 – 10.5
DecayPage 1 · KNOB3Continuous0 – 10.5
LevelPage 1 · KNOB4Continuous0 – 10.5
TonePage 2 · KNOB1Continuous0 – 10.5
SnapPage 2 · KNOB2Continuous0 – 10.5
SweepPage 2 · KNOB3Continuous0 – 10
DrivePage 2 · KNOB4Continuous0 – 10
Drive TypePage 3 · KNOB1List, 7 values0 – 60 Diode
AccentPage 3 · KNOB2Continuous1 – 41.9921
VelocityPage 3 · KNOB3Continuous0 – 100100
VolumePage 3 · KNOB4Continuous0 – 10.7
KitPage 4 · KNOB1List, 2 values0 – 10 Classic

Pad values

  1. 0 1 Kick
  2. 1 2 Rim
  3. 2 3 Snare
  4. 3 4 Clap
  5. 4 5 Snare 2
  6. 5 6 Low Tom
  7. 6 7 Closed HH
  8. 7 8 Floor Tom
  9. 8 9 Pedal HH
  10. 9 10 Mid Tom
  11. 10 11 Open HH
  12. 11 12 Low-Mid
  13. 12 13 High-Mid
  14. 13 14 Crash
  15. 14 15 High Tom
  16. 15 16 Ride

Drive Type values

  1. 0 Diode
  2. 1 Clip
  3. 2 Saturate
  4. 3 Fuzz
  5. 4 Crunch
  6. 5 Fold
  7. 6 Crush

Kit values

  1. 0 Classic
  2. 1 Big Beat

11 voices · Identifier comet · A kit after the TR-909: fm1-x0x's 909 by Charles Vestal (GPL-3.0), ported from 9W9 by athousanddetails (GPL-3.0), which grew out of ER-99 by Matthew Cieplak (GPL-3.0); hi-hat, crash and ride recordings from ER-99 (GPL-3.0)

5.12 Crater Kit

Status:In the simulatorOn the desktopPlanned for the device

Crater Kit is a sixteen-pad drum kit after the TR-808: a booming kick, a snare, three toms and three congas, a clap and maracas, a rim shot and claves, a cowbell, closed and open hi-hats and a cymbal, every one the machine’s own sound. It is the 808 of fm1-x0x, Charles Vestal’s firmware for the FM-1, which ports 8W8 by athousanddetails: fifteen of the sounds are models of the machine’s circuits, built from its service notes and published analyses, and the rim shot is sc808’s (chapter 14). Drums stays beside it: two kits of its own, any sound on any pad, in every build.

In builds with the GPL switch on

fm1-x0x’s code is published under the GNU General Public License, so Crater Kit is built in only while the firmware’s GPL switch is on: in the simulator while we test, and in firmware for the person who builds it, never in a shared build (chapter 14).

  • Crater Kit plays MIDI notes 36 to 51, one sound each, and ignores other notes; on the FM-1’s keys the sixteen white keys play them, from F3:
Note Pad Note Pad Note Pad Note Pad
36 Kick 40 Claves 44 Maracas 48 High Tom
37 Rim Shot 41 Low Tom 45 Mid Tom 49 Cymbal
38 Snare 42 Closed HH 46 Open HH 50 Hi Conga
39 Clap 43 Low Conga 47 Mid Conga 51 Cowbell
  • A hit rings for its sound’s decay, whether or not you keep the key down. Struck again while it rings, a sound is struck again in its own circuit, as on the machine.
  • As on the machine, each conga is its tom’s circuit switched over: a low conga stops a ringing low tom, and the other way round. The rim shot and the claves, and the clap and the maracas, sound together freely.
  • Velocity 88 is the 808’s normal hit and 127 its accent, louder and harder; between them the hit grows, and below 88 it is quieter.
  • Pad chooses which pad the pad’s knobs edit: those on pages 1 and 2. ALGORITHM steps through the pads, and so does KNOB1 on page 1. Each pad keeps its own settings, and starts as the 808 is set up: Tune at 0 and the other knobs in the middle, so until you change them the screen shows true values whichever pad you choose.
  • Tune sets the pad’s pitch, up to an octave either way (the toms and congas go further than the machine’s, which move two semitones).
  • Decay sets how long it rings: the kick’s boom, the snare’s ring, the hi-hats’ and cymbal’s length.
  • Level sets its level in the kit, up to twice the 808’s.
  • Tone (page 2) shapes the kick (brighter to the right) and the snare (from its low shell to its high one); it does nothing on the other pads.
  • Snap sets the kick’s attack click, the snare’s snares and the maracas’ attack; it does nothing on the other pads.
  • Drive saturates the pad, clean at 0.
  • Dist chooses how Drive saturates: Diode (the machine’s own rounding), Clip, Sat, Fuzz, Cubic (a biased crunch), Fold (a wavefolder) or Crush (bits and rate falling together).
  • Page 3 is the whole kit’s:
  • Accent sets how far below an accent a softer hit sits: at 100 %, velocity 88 is the 808’s normal hit; at 0 every hit is as loud as an accent.
  • Choke sets which hi-hat cuts which: Off, Closed>Open (a closed hi-hat cuts the open one, as on the machine), or Both.
  • Volume sets the kit’s level.
  • Tune, Decay, Tone, Snap, Accent and Choke reach the next hit; a hit that is ringing keeps what it started with. Level, Drive and Volume move a ringing hit too. Dist waits for the pad’s next hit, so it never clicks in the middle of one.
  • Pitch bend moves the hits you strike while you hold it, together with Tune up to an octave either way.

The values shown after you change pads

As on Drums, the screen cannot read a pad’s settings back. When you choose another pad, the screen keeps showing the values you last set, and the first turn of a knob gives the new pad the value shown, plus that turn.

Some settings to start from:

Sound Pad Tune Decay Tone Snap Drive, Dist
Long boom kick 1 Kick −2 0.85 0.3 0.3 0
Short punchy kick 1 Kick +3 0.3 0.7 0.9 0.3, Sat
Crisp snare 3 Snare +2 0.4 0.8 0.8 0
Gritty cowbell 16 Cowbell 0 0.5 – – 0.5, Fold
Crater Kit: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1PadTuneDecayLevel
Page 2ToneSnapDriveDist
Page 3AccentChokeVolume–
Crater Kit parameters
ParameterWhereTypeRangeDefault
PadPage 1 · KNOB1List, 16 values0 – 150 1 Kick
TunePage 1 · KNOB2Continuous−12 – 120
DecayPage 1 · KNOB3Continuous0 – 10.5
LevelPage 1 · KNOB4Continuous0 – 10.5
TonePage 2 · KNOB1Continuous0 – 10.5
SnapPage 2 · KNOB2Continuous0 – 10.5
DrivePage 2 · KNOB3Continuous0 – 10
DistPage 2 · KNOB4List, 7 values0 – 60 Diode
AccentPage 3 · KNOB1Continuous0 – 100100
ChokePage 3 · KNOB2List, 3 values0 – 21 Closed>Open
VolumePage 3 · KNOB3Continuous0 – 10.7

Pad values

  1. 0 1 Kick
  2. 1 2 Rim Shot
  3. 2 3 Snare
  4. 3 4 Clap
  5. 4 5 Claves
  6. 5 6 Low Tom
  7. 6 7 Closed HH
  8. 7 8 Low Conga
  9. 8 9 Maracas
  10. 9 10 Mid Tom
  11. 10 11 Open HH
  12. 11 12 Mid Conga
  13. 12 13 High Tom
  14. 13 14 Cymbal
  15. 14 15 Hi Conga
  16. 15 16 Cowbell

Dist values

  1. 0 Diode
  2. 1 Clip
  3. 2 Sat
  4. 3 Fuzz
  5. 4 Cubic
  6. 5 Fold
  7. 6 Crush

Choke values

  1. 0 Off
  2. 1 Closed>Open
  3. 2 Both

13 voices · Identifier crater · A kit after the TR-808: fm1-x0x's 808 by Charles Vestal (GPL-3.0), ported from 8W8 by athousanddetails (GPL-3.0): circuit models after the TR-808 service notes and Werner, Abel and Smith; the rim shot after sc808 by Yoshinosuke Horiuchi and Sam Aaron (MIT)

5.13 Drawbar, Trio and Phase Bend

Status:In the simulatorOn the desktopPlanned for the device

Three engines come from Felucca, Leo Kuroshita’s open firmware for the FM-1 (Hügelton Instruments), each its own design: Drawbar, an organ; Trio, three oscillators in the style of the sound chips of the early 8-bit home computers; and Phase Bend, phase distortion. Their sound is Felucca’s own: the firmware runs Felucca’s code for them unchanged, notes, envelope and all, and plays every one of Felucca’s factory sounds for them to the sample as Felucca does (chapter 14).

In builds with the GPL switch on

Felucca is published under the GNU General Public License, so these three engines are built in only while the firmware’s GPL switch is on: in the simulator while we test, and in firmware for the person who builds it, never in a shared build (chapter 14).

What the three share:

  • Eight voices. A key struck while it sounds starts again in its own voice, from where its level is. With all eight busy, a new note takes the oldest released voice, else the oldest held one, never the lowest key held.
  • An envelope, Felucca’s: Attack rises to full level in its time, Decay falls to the Sustain level, and Release falls away after the key, each from 1 ms to 10 s in Felucca’s 128 steps. Velocity sets the level, and a velocity over 110 is an accent: it opens Trio’s filter and Phase Bend’s bend with the envelope.
  • Volume sets the level.
  • Pitch bend bends every note.
  • Notes, knobs and bends take effect at the next 0.7 ms, Felucca’s control step, wherever they fall.
  • They run at the FM-1’s rate, 44,100 or 44,118 samples a second, and stay off the list in a browser that runs the simulator faster, as Macro does. At 44,118 they play 0.7 cent sharp, as Felucca does on the FM-1.

5.13.1 Drawbar

Drawbar is a tonewheel organ: nine sine partials at the drawbar pitches of the organs it is after, from 16’ (an octave down) to 1’ (three octaves up).

  • Drawbars chooses one of sixteen drawbar settings (registrations): Flute, Mellow, Hollow, Smooth, 3 Bar, Blues, Gospel, Rock, Tops, Clarinet, Reed, Strings, Chapel, Bright, Bass and Full. ALGORITHM steps through them.
  • Sub, Body and Top pull the setting’s low bars (16’ and 5 1/3’), its middle (8’ and 4’) and its upper five down or up, by up to eight steps of about 3 dB.
  • Perc adds the organ’s percussion, a decaying second or third harmonic, Soft (quieter) or Slow (longer), struck only on a note played while no other key is held, as on the organs. With it on, the 1’ bar is silent.
  • Click sets the key click at the start and end of each note.
  • Drive overdrives each note.
  • Rotor spins a rotary speaker, Slow or Fast, or stops it (Off); it speeds up and slows down as the real one does.
  • Drawbars, Sub, Body, Top, Perc, Click, Drive and Rotor move the notes that sound, without a click.

Some of Felucca’s own Drawbar sounds (Attack 1 ms, Decay 104 ms, Sustain 100 %):

Sound Drawbars Perc Click Drive Rotor Release
Full Organ Full Off 24 % 16 % Slow 26 ms
Jazz Perc 3 Bar 3rd 39 % 6 % Slow 18 ms
Gospel Gospel 2nd 47 % 31.5 % Fast 26 ms
Soft Flute Mellow (Body −2) Off 8 % 0 Slow 54 ms
Rock Drive Rock Off 55 % 79 % Fast 18 ms
Drawbar: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1DrawbarsSubBodyTop
Page 2PercClickDriveRotor
Page 3AttackDecaySustainRelease
Page 4Volume–––
Drawbar parameters
ParameterWhereTypeRangeDefault
DrawbarsPage 1 · KNOB1List, 16 values0 – 154 3 Bar
SubPage 1 · KNOB2Continuous−8 – 80
BodyPage 1 · KNOB3Continuous−8 – 80
TopPage 1 · KNOB4Continuous−8 – 80
PercPage 2 · KNOB1List, 7 values0 – 60 Off
ClickPage 2 · KNOB2Continuous0 – 10031.5
DrivePage 2 · KNOB3Continuous0 – 1000
RotorPage 2 · KNOB4List, 3 values0 – 21 Slow
AttackPage 3 · KNOB1Continuous, logarithmic1 – 10000 ms1 ms
DecayPage 3 · KNOB2Continuous, logarithmic1 – 10000 ms103.6 ms
SustainPage 3 · KNOB3Continuous0 – 100100
ReleasePage 3 · KNOB4Continuous, logarithmic1 – 10000 ms26.1 ms
VolumePage 4 · KNOB1Continuous0 – 10.7

Drawbars values

  1. 0 Flute
  2. 1 Mellow
  3. 2 Hollow
  4. 3 Smooth
  5. 4 3 Bar
  6. 5 Blues
  7. 6 Gospel
  8. 7 Rock
  9. 8 Tops
  10. 9 Clarinet
  11. 10 Reed
  12. 11 Strings
  13. 12 Chapel
  14. 13 Bright
  15. 14 Bass
  16. 15 Full

Perc values

  1. 0 Off
  2. 1 2nd
  3. 2 3rd
  4. 3 2nd Soft
  5. 4 3rd Soft
  6. 5 2nd Slow
  7. 6 3rd Slow

Rotor values

  1. 0 Off
  2. 1 Slow
  3. 2 Fast

8 voices · Identifier drawbar · Felucca by Leo Kuroshita (@kurogedelic), Hugelton Instruments (GPL-3.0): its WHEEL engine, a tonewheel-style organ of its own design

5.13.2 Trio

Trio plays three oscillators together, each a triangle, sawtooth, pulse or pitched noise, or a mix of two of them the way the old sound chips combined waves, with ring modulation and hard sync between them, into a filter that gets gritty when you push its resonance.

  • Wave chooses one of sixteen sets of three waves and how they interact: three saws, three pulses, a pulse pair with a triangle, the combined Saw&Tri and Pulse&Saw, Pulse+Noise, Noise, the Sync sets (the second oscillator restarts with the first) and the Ring sets (the first oscillator ring-modulated by the third). ALGORITHM steps through them. A note keeps the wave it started with.
  • Int 2 and Int 3 tune the second and third oscillators up to two octaves either way, in semitones; Detune pulls them apart, the second up and the third down, by up to 50 cents.
  • Mode chooses the filter: Low-pass, Band-pass, High-pass or Notch. A note keeps the mode it started with.
  • Cutoff (30 Hz to 16 kHz) and Resonance set the filter; its cutoff wanders a little, as the chips’ did.
  • PW sets the pulse width of the pulse waves.
  • Env Amt lets the envelope open (to the right) or close (to the left) the filter.

Felucca’s own Trio sounds:

Sound Wave Int 2, Int 3 Detune Mode Cutoff Resonance PW Env Amt Attack, Decay, Sustain, Release
Fat Bass Saw x3 0, −12 9 Low-pass 643 Hz 35 % 50 % 62.5 % 1 ms, 90 ms, 47 %, 6 ms
Arp Lead Pls+Pls+Tri +12, 0 4 Low-pass 2,326 Hz 20 % 25 % 12.5 % 1 ms, 78 ms, 71 %, 9 ms
Sync Lead Sync +9, 0 0 Low-pass 1,729 Hz 24 % 50 % 28.1 % 1.2 ms, 160 ms, 79 %, 18 ms
Ring Bell Ring 3 0, +18 6 Band-pass 3,455 Hz 24 % 50 % 0 1 ms, 790 ms, 0 %, 331 ms
Chip Choir Pulse x3 0, +12 7 Band-pass 643 Hz 75 % 31 % 46.9 % 160 ms, 683 ms, 87 %, 476 ms

Felucca plays Fat Bass and Sync Lead one note at a time; Trio has no voice mode of its own, so play them one note at a time, or let the sequencer do.

Trio: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1WaveInt 2Int 3Detune
Page 2ModeCutoffResonancePW
Page 3Env AmtAttackDecaySustain
Page 4ReleaseVolume––
Trio parameters
ParameterWhereTypeRangeDefault
WavePage 1 · KNOB1List, 16 values0 – 150 Saw x3
Int 2Page 1 · KNOB2Continuous−24 – 240
Int 3Page 1 · KNOB3Continuous−24 – 24−12
DetunePage 1 · KNOB4Continuous0 – 506
ModePage 2 · KNOB1List, 4 values0 – 30 Low-pass
CutoffPage 2 · KNOB2Continuous, logarithmic30 – 16000 Hz1566.45 Hz
ResonancePage 2 · KNOB3Continuous0 – 10031.5
PWPage 2 · KNOB4Continuous0 – 10050.3937
Env AmtPage 3 · KNOB1Continuous−100 – 1000
AttackPage 3 · KNOB2Continuous, logarithmic1 – 10000 ms2.07 ms
DecayPage 3 · KNOB3Continuous, logarithmic1 – 10000 ms160.2 ms
SustainPage 3 · KNOB4Continuous0 – 10070.9
ReleasePage 4 · KNOB1Continuous, logarithmic1 – 10000 ms77.6 ms
VolumePage 4 · KNOB2Continuous0 – 10.7

Wave values

  1. 0 Saw x3
  2. 1 Pulse x3
  3. 2 Pls+Pls+Tri
  4. 3 Saw+Saw+Tri
  5. 4 Tri x3
  6. 5 Saw&Tri
  7. 6 Pulse&Saw
  8. 7 Pulse+Noise
  9. 8 Noise
  10. 9 Sync
  11. 10 Sync Pulse
  12. 11 Sync 3
  13. 12 Ring
  14. 13 Ring 3
  15. 14 Ring+Sync
  16. 15 Ring+Sync P

Mode values

  1. 0 Low-pass
  2. 1 Band-pass
  3. 2 High-pass
  4. 3 Notch

8 voices · Identifier trio · Felucca by Leo Kuroshita (@kurogedelic), Hugelton Instruments (GPL-3.0): its TRIO engine, three oscillators and a filter in the style of 8-bit sound chips

5.13.3 Phase Bend

Phase Bend is phase distortion, as on the Casio CZ: a sine read through a bent phase, whose bend turns it into a sawtooth, a square, a pulse or one of three resonant waves, a sine sweeping inside a window. It is a port of CrispyZebra, the same author’s phase-distortion oscillator.

  • Wave chooses the wave: Saw, Square, Pulse, Double Sine, Saw Pulse, and the resonant Reso Saw, Reso Tri and Reso Trap. ALGORITHM steps through them. Wave 2, when not Same, plays on every other cycle, alternating with the first. A note keeps the waves it started with.
  • DCW sets the bend: at 0 a plain sine; turning it up brightens the wave, or, on the resonant waves, sweeps the resonance up.
  • Env lets the envelope bend it further as each note starts.
  • Detune (0 to 127 cents) and Line add a second line, detuned, Mixed with the first or Ring-modulated with it. A note keeps the line it started with.
  • Sub adds a sine an octave down.
  • Page 4 is glide’s, as on Macro: Glide, Voice Mode, Glide Mode and Time Mode slide between notes and play one note at a time (chapter 4). Nothing slides until Glide Mode is on Legato or Always.

Felucca’s own Phase Bend sounds:

Sound Wave, Wave 2 DCW Env Detune Attack, Decay, Sustain, Release
Brass Saw 24 % 71 % 0 1.8 ms, 160 ms, 71 %, 18 ms
Organ Double Sine 31 % 0 0 1 ms, 10 s, 100 %, 9 ms
String Saw, Double Sine 39 % 31.5 % 12 18 ms, 683 ms, 79 %, 160 ms
Reso Reso Saw 47 % 47 % 0 1 ms, 160 ms, 24 %, 78 ms
Bell Reso Tri 63 % 39 % 0 1 ms, 982 ms, 0 %, 683 ms
Wire Saw Pulse, Reso Tri 55 % 31.5 % 7 2.1 ms, 331 ms, 63 %, 78 ms
Phase Bend: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1WaveWave 2DCWEnv
Page 2DetuneLineSubAttack
Page 3DecaySustainReleaseVolume
Page 4GlideVoice ModeGlide ModeTime Mode
Phase Bend parameters
ParameterWhereTypeRangeDefault
WavePage 1 · KNOB1List, 8 values0 – 70 Saw
Wave 2Page 1 · KNOB2List, 9 values0 – 80 Same
DCWPage 1 · KNOB3Continuous0 – 10047.2441
EnvPage 1 · KNOB4Continuous0 – 10050.4
DetunePage 2 · KNOB1Continuous0 – 1270
LinePage 2 · KNOB2List, 2 values0 – 10 Mix
SubPage 2 · KNOB3Continuous0 – 1000
AttackPage 2 · KNOB4Continuous, logarithmic1 – 10000 ms2.07 ms
DecayPage 3 · KNOB1Continuous, logarithmic1 – 10000 ms160.2 ms
SustainPage 3 · KNOB2Continuous0 – 10070.9
ReleasePage 3 · KNOB3Continuous, logarithmic1 – 10000 ms77.6 ms
VolumePage 3 · KNOB4Continuous0 – 10.7
GlidePage 4 · KNOB1Continuous, logarithmic1 – 5000 ms100 ms
Voice ModePage 4 · KNOB2List, 3 values0 – 20 Poly
Glide ModePage 4 · KNOB3List, 3 values0 – 20 Off
Time ModePage 4 · KNOB4List, 2 values0 – 10 Time

Wave values

  1. 0 Saw
  2. 1 Square
  3. 2 Pulse
  4. 3 Double Sine
  5. 4 Saw Pulse
  6. 5 Reso Saw
  7. 6 Reso Tri
  8. 7 Reso Trap

Wave 2 values

  1. 0 Same
  2. 1 Saw
  3. 2 Square
  4. 3 Pulse
  5. 4 Double Sine
  6. 5 Saw Pulse
  7. 6 Reso Saw
  8. 7 Reso Tri
  9. 8 Reso Trap

Line values

  1. 0 Mix
  2. 1 Ring

Voice Mode values

  1. 0 Poly
  2. 1 Mono
  3. 2 Legato

Glide Mode values

  1. 0 Off
  2. 1 Legato
  3. 2 Always

Time Mode values

  1. 0 Time
  2. 1 Rate

8 voices · Identifier phase-bend · Felucca by Leo Kuroshita (@kurogedelic), Hugelton Instruments (GPL-3.0): its PHASE engine, a port of the phase-distortion oscillator of CrispyZebra by the same author (GPL-3.0)

5.14 Test Sine

Status:In the simulatorOn the desktop

Test Sine plays a plain sine wave for each note, at a level set by velocity, with 5 ms fades in and out. It exists to test the firmware and the simulator, and has a single control, Volume. When all twelve voices are busy, it ignores further notes until one is free.

Test Sine: what the four knobs do on each page
PageKNOB1KNOB2KNOB3KNOB4
Page 1Volume–––
Test Sine parameters
ParameterWhereTypeRangeDefault
VolumePage 1 · KNOB1Continuous0 – 10.7

12 voices · Identifier test-sine · This repository (MIT)