Folium

Interval-derived morphing magic

What if an instrument responded to a tuning, beyond just its pitch?

$80

Download a Demo (no email required!) Mac Windows

Why I made Folium, and how you can build your own instruments with its components.

For a long time I kept running into the same question. What if a tuning did more than set pitch? What if the scale I loaded reached into the FM ratios, the filters, the effects and the sequencers, so the whole instrument responded to the intervals I was actually using?

I chased it for years with other synths and a growing pile of custom Max devices mainly to snap the FM to a scale over MTS-ESP and another for filter resonance. It worked, and I loved the sounds I got out of this experiment. But other synth builders UI designs and mental models around designing sounds got in the way every single time, so eventually I sat down and built my own synth.

Folium is built around the way I like to make music: build sounds in under a minute, morph between two patches using a crossfader, nothing fiddly, and equally at home sequencing with or playing by hand and performing with.

I kept cables off the front and put them on the back (Propellerhead Reason style). I could continue rambling here about the instrument design philosophy, but I'll wrap up by saying: I made it for myself first, and it would make me really happy to hear what you make with it.

And if you vibe code your own instruments, the Petal Oscillator at the heart of Folium is open source under the MIT licence. Copy the prompt further down this page into your coding agent and it will build the oscillator into your own synth. I think that's a really fun thing to be able to share.

Note: Folium is in active development, and in Early Access. This means that I use it to make music every day, and it will evolve and change with future updates, as I make music with it, and listen to user feedback.

Thank you!

Petal Oscillator

The Petal Oscillator locks its FM ratios to your scale.

The oscillator is where Folium started. I wanted FM that stayed in tune with whatever microtuning I played via MTS-ESP, so I built a complex oscillator, loosely based on a Don Buchla design, and then I made its ratios snap to my loaded microtuning.

Small ratios like 3:2 sound sweet and bigger ones like 16:9 go all metallic.

Once you have a scale you like, it’s a lot of fun to wander between the ratios from your scale.

If you switch the wave to Carrier it turns into a bank of up to 48 partials built from your scale’s own intervals, which takes you into some weird drone territory.

If you hover over the edge of the module and click the arrows, it flips over to Analog mode - two oscillators with sync, unison and a sub. The sync and the second oscillator’s ratio lock to your tuning too.

FIG 1AComplex mode
FIG 1BAnalog mode
Wavefolder

The wavefolder slides between Buchla, Serge and Lockhart folds.

The wavefolder sits right after the oscillator, and I wanted it to morph like everything else.

The Type knob sweeps continuously from the Buchla curve through Serge to Lockhart. Set the Type to Scale mode and a clean sine folds onto your tuning for extra crunch.

FIG 2AThe wavefolder
Sepal VCF/LPG

Every voice gets two filters and a low pass gate that can ring in your scale.

Folium's filter module (the Sepal VCF/LPG) is so much fun to play with.

Turn on Lock and each filter's cutoff snaps to the note you play times one of your picked ratios, so when the resonance climbs high enough to ring on its own, it sings in tune with your tuning.

The low pass gate below does the same on the way out: with Ring up and Lock on, notes ring and fade away in your scale.

FIG 3ASepal (Interval-derived Filtering)
Envelopes

Three envelopes share one graph, and you shape them right on the line.

With the envelopes I went for simplicity: three of them on one graph, each with the same six stages.

Drag the nodes to set the times and levels, drag a line to bend its curve, sync the times to your tempo, and run it as a gate, a one-shot or a loop, with repeat to fire it again while you hold the key.

ENV 3 is special - it bends pitch by your picked degrees, so a kick can start on a fifth and fall to the root, in tune with whatever scale you’ve loaded.

And there’s the velocity tab, which quickly sends how hard you play to the amp, both filters and the wavefolder through one response curve.

FIG 4AAn envelope controlling amplitude
FIG 4BThe velocity page
Input

Folium plays per-note bend, pressure and slide from an MPE controller.

Press MPE on the Input module and every note gets its own bend, pressure and slide.

The bend range can be counted in keys of your tuning, so it moves in steps of your scale.

Pressure and slide each pick a target and a depth, plus on the back they're outputs you can cable anywhere.

FIG 5AThe MPE page
LFOs

Two LFOs run any shape you draw.

I gave Folium just two LFOs because constraint breeds creativity, and in my opinion two is usually plenty. If you really want Folium to have extra LFOs, please let me know at shades@petals.fm

Like everything else on the interface, they also morph with the crossfader.

FIG 6ATwo LFOs
FIG 6BThe LFO shape editor
Motion Sequencers

Two motion sequencers play your intervals in rhythm, and every step gets its own cable.

Lock the ratio and Motion 1 walks the FM ratio through the intervals you picked in the Bloomscope, a melody of timbres that stays in your scale.

Motion 2 plays FM, Fold, either cutoff or the morph fader. Steps can rest, or tie so one glides into the next, and a lane runs free up to 50 Hz, to your host’s tempo, on every note you play, or only on one key, so you can tap that key with one hand to step the filter while the other plays chords.

On the back every step has its own cable jack that fires on that step alone, so you can do multiple mod outs per step and yesss - the steps morph between A and B with the rest of the patch!

FIG 7AMotion Sequencer Lanes 1 and 2
Bloomscope

The Bloomscope draws your scale, and the intervals you pick there adjust the rest of the instrument.

Every interval in your scale is a dot in the Bloomscope.

Click up to eight and they become the steps of the ratio slider, the ratios the filters, and the low-pass gate lock to, and the degrees the pitch envelope counts.

Small ratios ring consonant and the big ones turn metallic, so picking is a quick way to choose how sweet or strange your whole patch sounds.

FIG 8AA microtuning, displayed visually
The back panel

Mess with cables if you want to.

Press Tab and the plate turns round: drag from an output to a lit input, and each cable gets its own depth.

Anything you set on the front via a button or menu is automatically cabled at the back, since the front and the back are the same mod routes.

FIG 9AFolium's back panel
Randomize modules individually

The Seedling rolls a fresh version of one module at a time.

When I'm in a flow state I want a new idea without losing the one I have. The Seedling draws a group of dots for each module, one dot per parameter sitting at its value: click a group and that module rolls fresh, Shift-click and it only nudges. Set A, roll a few modules, set B, and the fader runs between the sound you had and the one the Seedling found.

FIG 10ASeedlings waiting to randomize some modules
Help

Hold Option over any control and Folium tells you what it does.

I want the instrument to be accessible to everyone, and to teach itself if someone gets lost, or if someone's new to synthesis.

I don't usually want to download a manual in the middle of making music, and after my friend and early tester Ismo (Havantepe) gave me feedback, I built a live help system into Folium as I worked on it.

Hold Option, or Alt, point at anything on the plate, and a card explains it. You can also click the ? in the header and point at any control for an explanation of what it does.

FIG 11AA help card
Morph

Morph between two entire patches with one fader.

Set State A, change anything, set State B, and the crossfader runs between them.

Knobs glide from one side to the other and switches flip at the midpoint, so one move can carry a whole patch somewhere else.

FIG 12AA and B
FX

A small effects unit closes the chain, and every slider on it morphs.

I wanted it to feel like a cheap little multi-effects box, with nothing to fiddle with and everything worth morphing.

Five sliders run top to bottom: noise, width, space, damp and mix.

Slide the morph fader and the whole space moves with it, from wide and washed out to dry and close.

FIG 13ANoise to Output
Open source

Put the Petal Oscillator in your own instrument.

The Petal Oscillator is Folium's oscillator, with both modes, in standalone format for you to use in your own instruments or projects.

It's header-only C++ with no dependencies and an MIT licence, so it drops into a JUCE plugin, a VCV Rack module or a Daisy, and it locks to any tuning you give it.

If you build with Claude Code or Cursor, paste this prompt.

github.com/PetalsFM/petal-oscillator, MIT licensed.

Prompt
Read https://github.com/PetalsFM/petal-oscillator/raw/main/llms.txt and AGENTS.md, then add the Petal Oscillator to my synth, one petal::Oscillator per voice. Copy include/petal/core.hpp, declick.hpp and oscillator.hpp into the project, plus scl.hpp if I load tuning files. Load the tuning off the audio thread, then call setSampleRate, setTuning, noteOn and process in the audio callback, with setRatioLock(true) so the ratio snaps to my scale. Keep my own envelope and VCA after it, and never allocate or lock on the audio thread.

The spec sheet

Sound

Engine
Phase modulation FM and wavefolding, plus an Analog mode with two oscillators
Voices
Eight, each with its own two filters
Complex mode
Sine, Warp and Carrier waves, Ratio 0.5 to 16, lockable to your picked degrees
Analog mode
Two oscillators of tri, saw, square or pulse, with Sync, Unison of seven, Ring, Cross FM and a sub
Fourth row
Feedback on Sine, Shape on Warp, Color on Carrier, and any of them flips to Noise
Wavefolder
Fold 1 to 8 and Bias across Buchla, Serge and Lockhart, and a Scale fold onto your tuning

Shaping

Filters
Two per voice, SVF or ladder, LP, HP, BP and notch, in series or in parallel
Filter lock
Cutoff on the played note times a picked ratio, self-oscillation, Drive or Saturation each
Low pass gate
Tone in partials of the note, Response, Ring and Lock, played by any envelope
Envelopes
Three DAHDSR on one graph, amp, free, and pitch in picked degrees
Velocity
Amplitude, filters and fold, with one response curve
Effects
Noise, Width, Space, Damp and Mix, then Output with a soft limiter
Reverb
A modulated eight-line FDN shared by every voice, decay 0.1 to 30 s

Modulation

LFOs
Two, ten shapes and any you draw, with Link and Bend between them
Motion
Two lanes of eight steps, clocked by rate, tempo, every note or one key
The back
Sixteen cables, each with its own depth, and a jack for every step
Routing
Noise and fold before or after the filters, filters in series or in parallel
Morph
Two whole patches on one fader, switches flip at the midpoint

Control

Input
Poly with 1 to 8 voices, Mono or Legato, glide by Step or Slide
MPE
Per-note bend up to 96 keys or semitones, pressure and slide with a target and depth each
Microtuning
MTS-ESP and Scala (.scl), and a patch carries its tuning
Seedling
Roll or nudge one module at a time
Help
Hold Option or Alt, or click ?, and point at any control
Presets
Factory and User folders, Save, Import and Export, undo and redo

System

Formats
VST3 and CLAP, Mac and Windows
Mac
One universal build for Apple Silicon and Intel, macOS 13.1 or later
Themes
Nightshade and Amiga 500

Folium.

For Mac and Windows, available in VST3 and CLAP formats.

$80
Download a Demo (no email required!) Mac Windows
v1.1 Mac and Windows