Most of these patches aren't meant to be great sounds in themselves, but to show off the kind of flexibility that Moselle gives you. To keep the example patch as simple as possible, there is, for instance, no filter unless we're showing off the filters. Most examples have bad key-click noise that is trivial to supress, but to keep things simple that too isn't done.

Wavetable Oscillator

This is one of Moselle's half-dozen or so oscillators. It can be used for pure Wavetable Synthesis as shown here. The patch gets most or all its harmonic variation from fading between waves in the table to play. The Wavetable Oscillator can also make Wavetable Synthesis Loops, Waveform Sequencing, and Multisampled timbres. The editor can read and write .wav and other audio formats for compatibility with other wavetable synths.

Swarm--insane numbers of oscillators

The software modular synthesizer Moselle includes several types of oscillator. This video shows you one called the Swarm. It doesn't give many fancy controls over the waveforms, but instead it lets you create truly insane numbers of detuned waves. How many is insane? 7? 70? 700? Watch the video to find out.


The software modular synthesizer Moselle comes with several phaser designs you can use as-is. Or, you can tweak or hot-rod them as you wish. You can even build your own phasers from scratch. Here's a 12-stage mono phaser with with controls for feedback, manual frequency setting, and auto-sweep speed and amount.

Seething Cicada Bass Drone

One of the first Moselle patches and still a favorite. 9 detuned sawtooths go through a low-pass and hi-pass filter in parallel, creating a band-cut. The low-pass is 2-pole. The hi-pass is 6-pole and has resonance. The resonance is modulated by an LFO, whose period is modulated by a second LFO, giving it a nice non-cyclical modulation. Half-way through the video, two MIDI controls are played with. MIDI General Controller #1 adjusts the curve of the sawtooths from normal to square, by adjusting the Geometric Oscillator's "Power" parameter. Controller #2 just adjusts the detune. That is brought to 0 in the middle of the video, which is when the left/right motion on the oscilloscope stops for a bit.

Pitch Bend, Escher-Style

This pitch-bend bends one octave... but when the pitch is bent all the way down or up, it is back to where it started. What happened and how?

Look at the screen shot, at the [Filter] Input. You see that it uses the PitchBend to fade between three oscillators. The first is an octave high. The third is an octave low. So, PitchBend controls the pitch as usual, but also fades. By the time the pitch is bent all the way, down an octave, the original oscillator has been faded out, and an octave-higher oscillator (also bent down an octave) has faded in... The octave-higher oscillator ended up where the center oscillator started out.

You will probably never need this exact effect, but it shows how even one formula in Moselle can do things practically no other synthesizer on the planet can do.

MoogDirty Cookbook

This is just a sawtooth into a filter. The filter is the "MoogDirty," which is a Moog-style filter (no connection with the firms of that name) with an overdrive parameter. The four knobs control, in order, 1) cutoff, 2) resonance, 3) drive, 4) selection of 1, 2, 3, or 4-pole output. (Look at the patch, on the screen, and see if you can figure out how these all work).

This filter is happy to self-resonate to extremely high levels, but as you increase drive, resonance chokes back down. There are awesome sounds to be had when using medium-high drive and medium-high resonance in combination.

Bend Range that Obeys your Scale

Most synthesizer patches have "pitch bend" set to two semitones. This lets you do the two semitone bends you need many places. It can also... theoretically... if you're careful and skilled... bend one semitone. More or less. Say you're playing in Cmaj. A two-semitone bend lets you accurately bend a G up to an A (two semis) and also kind of bend an E up to an F (one semi). But, is not very accurate in the second case.

Normal pitch bend also can not bend different notes in a chord different amounts. If you're playing in the key of Cmaj, and are holding an Gmaj chord, bending up a single semitone gives you Amaj, whose C# doesn't fall on the Cmaj scale.

Moselle sends math to the rescue. This patch has a four-line formula for pitch bend, but it's not complicated. First the formula checks to see if the bend is up or down. Depending on that, we look at a list of bends, 1 or 2 steps, for each note in the octave. For instance, for a bend down, we see that C has a 1-step bend.

This can be adopted to any scale you want. You could even put different bends on different oscillators to have single notes fan out into a chord. If your song modulates keys, you could even have this formula additionally take into account a footswitch that determines whether to have Cmaj or Fmaj scale or what have you.

MoogV11 Filter Demo

The V11 is one of the many different filters in Moselle, and one of two that are to some extent simulations of the Moog filters. (These are only simulations and have NO connection to the actual Moog firms or products.) The V11 lacks the drive adjustment unlike the MoogDirty.

Most synthesizers simply have 24dB/oct filters. A very few offer 12dB/oct as well. This filter actually simultaneously outputs 6dB/oct, 12dB/oct, 18, and 24dB/oct curves. The 6 and 12dB/oct can be especially useful when you want a low cutoff but that is givign too dark a sound.

Reverse Reverb

The Reverse Reverb is not one of Moselle's built-in modules. Instead it's a user-defined module, which contains inside a Delay and some Filters. It uses the delay without feedback. Instead, it randomly distributes the number of taps you specify according to the time parameters you give. Here, we hear 400 taps from 10ms to 2.8sec. (This is edited part-way through the video to 800ms.)

The knob adjustments simply tweak the module's low and high frequency filters.

The sound in all of these videos was recorded directly from Moselle: no hardware or external processing was used.

Four-Way Chorus

This patch is just a sawtooth, without even a filter. However it goes into a bank of four separate choruses. The knobs being adjusted control 1) the speed of the chorus effect (from 1/60th of a second, to 3Hz), 2) the frequency ranges affected, and 3) the volume of the resulting effect.

At the beginning and at 0:49 the effect volume is turned to 0 to remind you how boring a sawtooth is. The rest of the time the volume is cranked.

This chorus uses one delay, but has four taps each being modulated independently. The first three move relatively rapidly, up and down an octave. The three ranges do not overlap. The fourth LFO ranges very slowly from very high to very low frequencies.

This group of choruses could be turned into a "user-defined module" and re-used across a variety of patches if you wished.

(The name of the patch in the video is SuperChorus. However that name has since been changed as some firms use that term as a trademark. This effect is unrelated and not meant to be a simulation.)

Just Intonation

Many synthesizers can use alternate tunings, but cannot adjust or swap tunings on the fly. Moselle's instead gives you carte blanc to alter tunings however you want. Here, we use a general-purpose MIDI control, General1, to fade between the common "equal temperament" tuning and "just intonation" tuning. Various common C chords are played in equal temperament, then the tuning is faded to just intonation so you can hear that. When in just intonation, you will note that it sounds very flat, with no "chorusing" from being slightly detuned from mathematical perfection by the need to be use equal intervals. Even complex and strange note clusters sound well-tuned in just intonation.

If you look at the program closely, you can see the formula for the portamento input: Fade( General1, Tuning, TunJust7LimC). This Fade() function doesn't have anything to do with tuning specifically. It can fade between any two (or more) other things. However, Moselle lets you use the math anwhere you want to do anything math can do, and this demonstrates the flexibility.

(An interesting way to use this ability would be to modulate keys—normally impossible in just intonation—by fading from a Cmaj just intonation to an Fmaj just intonation or whatever you need. Equal Temperament was invented as a compromise with just ONE purpose: to let you modulate keys. And with Moselle you could go back to just intonation if you wanted and simply fade as needed between tunings.)

Hammond Leslie

This is NOT a simulation of a Hammond, which is actually pretty complicated. Instead it is "just" a stored-wave oscillator with 8 harmonics specified, that is reminiscent of a Hammond with all drawbars out—but in some ways quite different from the real thing.

Instead, the point of this video is to show how Moselle lets you make "user-defined modules" out of other modules. As you can see in the patch on the screen, the Leslie simulator is used like any built-in module. In fact it's a user-defined module that contains within it several basic Moselle components wired together. These include a Delay line, two LFOs, two Slew modules, and a crossover Filter. The result is a simulation of the low and high frequency rotors, each with independent low speeds, hi speeds, speed-up times and slow-down times. The MIDI controller General1 simply chooses whether the simulator is in low-speed mode or high-speed mode: a switch, like a real Leslie.


This is like the old "Oscillator Sync" but with a twist. The traditional Oscillator Sync outputs the slave oscillator continuously. Here, we only output it for a portion of the master's cycle, then we output zero until the master resets.

A second twist is that we use yet another oscillator to time a given number of the slave waveforms to output before silencing it.

The video uses three MIDI general purpose controllers. General1 controls the frequency of the slave. (It doesn't track the keyboard.) General2 controls how many repeats of the waveform. General3 selects whether the slave is triangle, square, or sawtooth.

Moselle doesn't need any special features to allow this. Moselle simply gives you normal sync-ins and sync-outs, but then also gives you the ability to hook them together with all the math you want.

Magic Chord Memory

This shows how to make the equivalent of a "chord memory" with Moselle, and furthermore we have the chord depend on what note you're playing: sometimes major, sometimes minor, as the scale calls for (Cmaj in this case). Note the voice is nothing more than an oscillator: this patch isn't showing of the sound, but rather the control possibilities. Also, this patch shows how you can request multiple voices per note. You can set this to 6 or 8 to get the classic "unison" sound but it will still be polyphonic unless you also switch it to mono. (In Moselle the number of voices, and number of simultaneous keys, are two separate controls.)

S. O. S. !

This is just holding down one key. A 64-segment envelope is used somewhat like a sequencer, controlling both pitch and whether there's sound at all. It also shows off the envelope's ability to loop, and to go to some other segment on a trigger (in this case going to segment 40 upon key release).

All of Moselle's windows are shown in the videos (except in some cases, a video of the keyboard is shown instead of the patch selection window). The entire patch for most of these examples is entirely visible in the "editor" window. Given what you see and hear, how much of the patch you can understand? There are 160+ tutorial patches explaining all aspects of the language, but you probably don't need to work through them before being able to read most patches.

FM Marimba Buzz

An attempt to program like a DX-7: 6 sine waves, 6 envelopes, several kinds of Frequency Modulation.

Unlike the original, but like any Moselle patch, you can go ahead and have any parameter react to any MIDI control, add filters and non-sine waveforms where-ever you want, add reverb or what have you.

Bell Reverb

This patch shows off two things: the Stored Waveform Oscillator (SWO) and the Reverb package. While playing a few notes, the reverb time and high-frequency damping were adjusted by MIDI. (The various glitchy sounds you hear are due to the real-time adjustment, not the reverb itself.)

The SWO can take a formula giving the strength of any given harmonic. This patch uses this feature for two oscillators. The first has harmonics 1, 6, 11, 16, 21, etc., up to the top of human hearing. The second has harmonics 1, 8, 15, 22, etc., skipping by 7. These were simply found by experimentation to sound a lot like bells.

This is then run through a reverb, and as you should be able to see on the screen, the reverb speed and high frequency content are adjustable via MIDI General Controller 1 and 2. (All MIDI controls are usable from Moselle, but most examples just use Gener al1-8.)

The reverb is not a built-in module type. Instead, it is a package. A package contains modules inside it, all wired together for a given purpose. In this case, there's a digital delay line with a lot of taps, and several filters controlling feedback damping and general tone. This package was written by us but the point of Moselle is that you can write these too. If you don't like this reverb, by all means write your own and share it if you want.

Cazanova Resonant Bass

This shows off an emulation of the Casio CZ oscillator, which was genius. We take just a single sine wave, and adjust its frequency and amplitude to warp it into something that sounds like a sawtooth. We then alternate that with different frequency and amplitude modulation that simulates the effect of a resonant filter. This complicated AM/FM'd oscillator is contained in a "package" which acts just like the built-in modules. So, without understanding its inner workings, you can use it in any patch as simply another oscillator type. The Moselle package supports all three resonance waveforms of the original, and the five basic CZ waveforms (warping to a sawtooth, to a square wave, a couple kinds of pulse waves and double pulses) plus a few more that the original inspired.

Geometric Oscillator Waveform Morphs

Moselle has several oscillators. This demo shows off the "Geometric" Oscillator, which isn't band-limited, but rather outputs geometrically perfect triangle, sawtooth, square and the like.

It can do things most oscillators cannot. First, it uses its Duty input (normally used for pulse width on the square wave) to control a smooth morph from triangle to sawtooth wave. Besides modulating this with an LFO or envelope or MIDI controller to get a bit of harmonic motion, you can also simply choose a static value to give your triangle a bit more kick, or your sawtooth a bit less.

The second trick is that it can raise the output curve to a power. The default setting of 1 has no effect, but numbers below 1 cause both triangles and sawtooths to smoothly morph into square waves as the power approaches 0. Using a power higher than 1 creates what we call the 180 degree double-pulse for the triangle, and the 0 degree double-pulse for the sawtooth.

You can of course modulate both the tri-to-saw duty and the power number to keep the waveform ever-changing. Do it with mutually-prime LFOs and it won't even repeat.

Barber-Pole Flanger

The patch is a boring sawtooth, missing some low harmonics like a clavinet. However it runs through a triple flanger whose frequencies are controlled by LFOs, that in turn are controlled by the pitch bend. The flangers fade out when they reach one extreme of their time range, and fade in at the other end. This gives the unusual effect of a flanger going up or down forever. Note that this triple flanger isn't built into Moselle. Not even a flanger is built into Moselle. It's just the kind of thing you can make if you get the idea for it.

EQ: graphic, parametric, modulated, and simple tone controls

Moselle has a module type called MultiFilter. This can hold any number of filters, from a selection of a couple dozen types. These include:

You can even do all the above with one MultiFilter: say, 5-band parametric EQ plus phasing plus low-pass filter. You can also have as many MultiFilters as you want. Unlike EQ's or phasers in most other software, every setting can respond to MIDI events (note, velocity, pitch bend) and modulation sources (envelopes, filters, even audio-domain oscillators). For instance, the first demo here has something that sounds similar to a low-pass filter sweep... but its not. Its a parametric EQ being swept on an envelope.

If you've read this far, there are more videos on YouTube.