MANTICE

Connecting to engine…

MANTICE

READY
↺ Default
🔗 Share
⬇ Download
📂 Load
Duration s
Format
Hi-Res
48k / 24b
Zoom 110%
Theme
Code

Mantice

What is Mantice?

Mantice is a procedural ambient drone generator. The name comes from the Italian word for organ bellows — the invisible breath engine that gives life to the pipes. Like a mantice, this tool provides the continuous, living airflow beneath your sound.

Unlike sample-based instruments or DAW plugins, Mantice generates audio from mathematical processes — every sound is computed in real-time from oscillators, noise, and grain clouds. No two renders are ever exactly alike (unless you lock the seed).

Architecture

Layers

A Mantice preset consists of 1–5 independent layers, each with its own frequency, timbre, spatial position, and movement. Layers are mixed together to create complex, evolving textures. Think of layers as individual instruments in an ensemble — each contributes a different voice to the whole.

FM Synthesis Engine

Each FM layer uses Frequency Modulation synthesis as its core. Multiple detuned voices per layer create rich, beating textures. The FM index controls harmonic complexity — low values produce pure tones, higher values create metallic, bell-like timbres.

Subtractive Synthesis Engine

Subtractive layers use classic waveform oscillators — sawtooth, square, or triangle — instead of FM. Two detuned oscillator pairs (±detune cents) create the thick, beating quality of a Reese bass. A third sub-oscillator one octave below adds weight. The output is then shaped by the per-layer filter for the full subtractive sound design workflow.

Per-Layer Filter & LFO

Every layer has five filter modes: LP (low-pass), HP (high-pass), BP (band-pass), Comb, and Formant. LP/HP/BP are biquad filters with resonance and optional LFO modulation (sine/triangle/square) on the cutoff. Comb creates metallic ringing via feedforward delay — the Cutoff sets the delay frequency, Feedback controls resonance intensity. Formant shapes the sound into vowel resonances (A, E, I, O, U) using three parallel bandpass filters at human vocal formant frequencies — ideal for chant-like and throat-singing textures.

Harmonics & Noise

On top of FM, each layer can add harmonic overtones (up to 16 partials with configurable decay) and filtered noise (white, pink, or brown) for breath-like textures and organic warmth.

Granular Clouds

Layers can also be granular — extracting tiny overlapping slices (grains) from real audio recordings. The included samples (singing bowls, gongs, bowed glass, throat singing, water, wind) become raw material for evolving textures impossible with pure synthesis. Control grain size, density, pitch spread, and read position to sculpt the cloud.

Spatial Motion

Each layer has a position in 3D space — horizontal (left/right, front/back) and vertical (elevation). Layers can move through space using trajectories: orbit, drift, bounce, or random. This creates an immersive, living soundfield — especially powerful with headphones.

Chorus

A per-layer chorus effect adds width and shimmer through modulated delay copies. Slow rates create gentle swaying; faster rates add vibrato-like movement.

Flanger

A per-layer flanger modulates a short delay (comb filter) with an LFO, creating the classic jet-plane sweeping sound. Rate controls sweep speed, Depth controls modulation intensity, Feedback controls resonance. Runs sample-by-sample for artefact-free audio. Applied after Chorus in the per-layer chain.

Phaser

A per-layer phaser uses cascaded all-pass filter stages to create notch sweeps through the spectrum. Center Hz sets the sweep range, Stages controls the number of notches (more stages = deeper effect), Feedback adds resonance. Applied after Flanger in the per-layer chain.

Layer Sub-tabs & Global FX

Layer parameters are organised into four sub-tabs: Synth (oscillator type and tuning), Filter (filter type + LFO), Space (quadrant, trajectory, elevation), and FX (chorus → flanger → phaser, distortion). Global processing lives in the Global FX card below the layers, ordered by signal chain: Reverb → Shimmer → Earth & Air → Binaural.

Per-layer signal chain: Synthesis → Filter → Distortion → Panner → Chorus → Flanger → Phaser
Global chain: DC Block → Saturation → Reverb → Shimmer → Earth & Air → Master EQ/Comp → Limiter → Binaural

Global Processing

Saturation

A master soft saturation stage using 4× oversampled tanh waveshaping. Running internally at 4× the output sample rate eliminates aliasing artefacts on harmonically rich material. Adds analog tape-like warmth and gently compresses peaks. At low values it's transparent; higher values add harmonic richness and density.

Reverb (FDN + IR)

An 8-line Feedback Delay Network with Hadamard mixing matrix, per-line damping, and stereo decorrelation. Choose from algorithmic spaces (cathedral, cave, hall, chamber, plate) or switch to IR mode — real impulse responses convolved with the signal for authentic acoustic spaces. The reverb glues layers together into a unified acoustic space.

Shimmer FX

A global pitch-shifted feedback tail applied after the reverb. The reverb output is pitch-shifted (by a selectable interval — octave up, fifth, fourth, etc.), then fed back into the reverb input, creating an ethereal upward bloom. Feedback controls how long the tail sustains. Works best with reverb enabled.

Binaural Beats

Optional binaural entrainment creates a perceived beat frequency by slightly detuning left/right channels. Frequencies correspond to brainwave bands: Delta (0.5–4 Hz, sleep), Theta (4–8 Hz, meditation), Alpha (8–13 Hz, focus), Beta (13–30 Hz, alertness). Requires headphones.

Earth & Air

Earth adds sub-bass tectonic rumble (10–40 Hz) — felt more than heard. Air adds high-frequency breath and wind turbulence. Together they extend the frequency range beyond what the layers provide, grounding the drone in physical space.

Parameter Automation

Any global or per-layer parameter can evolve over the duration of a render or stream. Open the Automation card and enable any parameter with the toggle. Each row shows a compact inline breakpoint editor — up to three nodes, each with a timing position (t%), a value, and a curve shape.

Click the shape label between nodes to cycle through lin (linear), exp (exponential), and S (S-curve). + mid inserts a midpoint at the largest gap; − mid removes it. Values before the first node and after the last node are held constant.

Five global templates — Journey, Arc, Breathe, Meditate, Sunrise — appear as quick-set pills at the top of the card. One click wires up a coherent multi-parameter automation so you don't have to start from scratch. Use ✕ clear all to reset.

Automation only runs when a duration is set (Render or timed Stream). It has no effect in open-ended infinite playback.

Just Intonation (JI)

Enable JI mode in the Synth tab to switch from 12-TET layer roots to exact rational-fraction tuning. All layer frequencies are derived from a single tonic via pure intervals (e.g. 3/2 for a perfect fifth, 5/4 for a major third), so intervals between layers beat at zero — the defining quality of sustained sacred drone music.

A small dot in the layer header confirms JI is active on that layer. Existing presets with decimal ratios load without change.

Workflow

Preview streams audio in real-time via WebSocket — tweak parameters and hear changes instantly. Render computes the full duration at high quality for export. Use the seed to reproduce exact results, or leave it random for variation.

The Generator creates random presets biased by mood. Choose which synthesis types to include — FM and/or Subtractive — then click Generate. Mutate takes the current preset and introduces controlled variation (use the Amount slider to set how wild).

Presets are stored as YAML files — human-readable, version-controllable, and shareable. Use Save/Save As to create your own library.

Created by Matteo Bassigithub.com/bassimatte/mantice

Run Locally (Offline)

Download Mantice and run it entirely on your machine — no internet required after cloning.

▸ Installation

# Clone the repository
git clone https://github.com/bassimatte/mantice.git
cd mantice

# Install Python dependencies
pip install -r requirements.txt

Requires Python 3.10+ and pip. Works on Windows, macOS, and Linux. No GPU needed.

▸ Launch Web UI

# Start the server and open browser
python main.py --gui

# Or start server only
python -m engine.web_server
# → http://127.0.0.1:8432

▸ Generate WAV Files from Terminal

# Render all presets to WAV (default 60s each)
python main.py

# Render a specific preset
python main.py --name "Breathing Cathedral"

# Custom duration (seconds)
python main.py --name "Om" --duration 300

# Export as FLAC or OGG
python main.py --name "Solar Choir" --format flac

# Set a seed for reproducible output
python main.py --name "Gong Bath" --seed 42

# Generate a random preset and render it
python main.py --generate

# Generate with a mood bias
python main.py --generate --mood dark

# Mutate an existing preset
python main.py --mutate "Breathing Cathedral" --amount 0.3

# List all available presets
python main.py --list

▸ Real-Time Preview (Speakers)

# Preview a preset through speakers
python main.py --preview --name "Cavern of Echoes"

# Infinite drone (Ctrl+C to stop)
python main.py --preview --infinite

▸ Batch Export (Freesound)

# Render all presets (5 min, 24-bit, 48kHz, normalized)
python batch_render_freesound.py

# Regenerate metadata XLSX only (skip rendering)
python batch_render_freesound.py --metadata-only

Output goes to exports/freesound/

▸ Automation Templates

Apply parameter automation curves to any preset:

# Available: journey, arc, breathe, meditate, sunrise, wander, trance, shimmer, sustain, drift, pulse
python main.py --name "Om" --auto-template journey --duration 300
python main.py --name "Crystal Bowl" --auto-template breathe --hires
python main.py --name "Simple Drone" --auto-template sustain --duration 600

journey: Fade-in, filter opens, reverb builds, binaural drifts alpha→delta
arc: Sweeping rise and fall, full frequency journey
breathe: Gentle pulsing, in-out cycles
meditate: Ultra-slow drift, minimal movement
sustain: Pure static drone, no automation (La Monte Young style)
drift: Ultra-slow filter evolution (barely perceptible)
pulse: Slow breathing envelope (classic drone technique)

▸ Journey Quick-Sets

Render multi-preset sequences with auto-selected presets and timed crossfades:

# Available: drift, flow, pulse, ceremony, dawn, shimmer
python main.py --journey-template drift --duration 600 --hires
python main.py --journey-template ceremony --format flac --seed 42

drift: 30s holds, 12s morphs — very slow evolution (forest/nature)
flow: 15s holds, 6s morphs — smooth pingpong (singing bowls)
pulse: 8s holds, 2s morphs — rhythmic cycling (drone/bass)
ceremony: 60s holds, 20s morphs — monumental pace (sacred)
dawn: 20s holds, 8s morphs — one-shot journey (light/celestial)
shimmer: 4s holds, 1s morphs — fast shifting (bright/crystal)

All audio is generated on CPU via NumPy/SciPy — typical render time is ~40s per 5-minute file.

Appearance

Global Settings

SettingRangeDefaultDescription
Duration1–3600 s60Total audio length
Saturation0.0–1.00.3Master soft saturation — normalized tanh waveshaping for tape-like warmth
Seedany integerrandomReproducible output

Layer — Synthesis (FM)

SettingRangeDefaultDescription
Root Frequency20–8000 Hz110Fundamental frequency of the layer
Voices1–128Number of detuned oscillator copies
Ratiosfloats[1.0]Frequency multipliers relative to root
FM Index0.0–5.00.1FM modulation depth (higher = more harmonics)

Layer — Synthesis (Subtractive)

SettingRangeDefaultDescription
Waveformsaw / square / trianglesawOscillator waveform shape
Detune0–50 cents8Spread between the two detuned oscillator pairs — wider = thicker beating
Sub Mix0.0–1.00.3Level of the sub-oscillator (one octave below root) — adds low-end weight

Subtractive layers produce richer bass and lead textures than FM. Combine with a LP filter + slow LFO for a classic Reese bass effect.

Layer — Filter & LFO

SettingRangeDefaultDescription
Typeoff / LP / HP / BP / Comb / FormantoffFilter type
Cutoff20–20000 Hz2000Filter cutoff (LP/HP/BP); comb delay frequency (Comb)
Resonance / Feedback / Strength0.1–81.0Q (LP/HP/BP); feedback gain 0–0.97 (Comb); wet mix 0–1 (Formant)
VowelA / E / I / O / UAVowel shape — selects F1/F2/F3 formant frequencies (Formant only)
LFO Rate0.01–5 Hz0.1Cutoff modulation speed (LP/HP/BP only)
LFO Depth0.0–1.00.0Modulation amount — 0 = off (LP/HP/BP only)
LFO Shapesine / triangle / squaresineLFO waveform (LP/HP/BP only)

Comb: feedforward FIR comb — metallic ringing and spectral combing. Formant: 3-band vowel resonance (A=800/1200/2500, E=400/2000/2800, I=270/2300/3000, O=570/850/2500, U=380/950/2200 Hz). Filter is applied after synthesis, before chorus/flanger/phaser on all layer types.

Layer — Distortion

SettingRangeDefaultDescription
Drive0.0–5.00.0 (off)Waveshaping intensity — 0 bypasses the stage
Typesoft / hardsoftSoft = tanh (warm, analog-like); Hard = hard clip (aggressive)

Applied after the filter stage. Adds harmonic saturation; at high drive values creates heavy distortion. Keep Drive below 1.0 for subtle warmth.

Layer — Harmonics

SettingRangeDefaultDescription
Harmonics1–164Number of overtone partials per voice
Harmonic Decay0.0–1.00.7Amplitude decay per harmonic (0.7 = each partial 70% of previous)

Layer — Filtered Noise

SettingRangeDefaultDescription
Noise Amount0.0–1.00.0Noise mixed into the layer signal
Noise Colorwhite / pink / brownpinkWhite=flat, Pink=1/f (natural), Brown=1/f² (rumble)

Layer — Dynamics

SettingRangeDefaultDescription
Volume-60 to +6 dB0 dBLayer gain in the master mix (replaces old Mix + Loudness controls)
Drift0.0–0.10.01Pitch drift for organic beating between voices

Layer — Unison (FM only)

SettingRangeDefaultDescription
Spread0–21.0Stereo field width: 0=mono, 1=default π/8–3π/8 arc, 2=full L/R
Blend0–11.0Voice amplitude taper: 1=all voices equal, 0=centre dominant, edges silent

Layer — Spatial Motion

SettingRangeDefaultDescription
Pan-1.0 (L) – 0 (C) – +1.0 (R)0Precise stereo placement; overrides Quadrant when non-zero
Width0–21Stereo spread via M/S: 0=mono, 1=normal, 2=extra-wide
Quadrantcenter, front_left, front_right, rear_left, rear_rightcenterCoarse starting stereo position (overridden by Pan)
Trajectory X/Ynone, drift, orbit, bounce, randomnoneMotion pattern
Speed0.0–1.00.01Movement speed

Layer — Elevation Panning

SettingRangeDefaultDescription
Elevation-90° to +90°0Vertical angle (negative=below, positive=above)
Motionstatic, rise, fall, float, breathestaticVertical movement pattern
Speed0.0–1.00.1Elevation motion speed
Range0–180°60Sweep range for motion

Uses HRTF-like filtering: 800 Hz Butterworth crossover. High elevation boosts highs/cuts lows. Low elevation does the opposite.

Layer — Chorus

SettingRangeDefaultDescription
Mix0.0–1.00.0 (off)Chorus wet/dry balance
Rate0.1–5.0 Hz0.5LFO speed (slow sway → vibrato)
Depth1–20 ms5 msDelay modulation depth
Voices1–42Number of chorus copies

Adds width and shimmer by creating modulated delay copies. Best for thin layers that need extra richness.

Layer — Flanger

SettingRangeDefaultDescription
Wet0.0–1.00.0 (off)Flanger wet/dry mix — 0 bypasses the stage
Rate0.01–2.0 Hz0.25LFO speed — slow rates for jet sweep, faster for vibrato
Depth0.0–1.00.5Modulation depth — controls delay sweep range
Feedback0.0–0.950.4Comb resonance — higher values = more metallic ringing

Runs sample-by-sample (not chunk-wise) for artefact-free modulation. Applied after Chorus in the per-layer chain.

Layer — Phaser

SettingRangeDefaultDescription
Wet0.0–1.00.0 (off)Phaser wet/dry mix — 0 bypasses the stage
Rate0.01–4.0 Hz0.5LFO speed for notch sweep
Depth0.0–1.00.7Sweep depth — how far the notches move
Center Hz100–4000 Hz800Center frequency of the notch sweep
Feedback−0.95–+0.950.0Resonance — positive brightens, negative darkens the notches
Stages2–12 (even)4Number of all-pass stages — more stages = more notches, deeper effect

Cascaded all-pass filter stages create phase notches that sweep through the spectrum. Applied after Flanger in the per-layer chain.

Layer — Granular

SettingRangeDefaultDescription
Source18 CC0 samplesSinging BowlAudio file to use as grain source (Sacred, Nature, Earth, Atmosphere)
Grain Size20–200 ms80Duration of each grain (short=glitchy, long=smooth)
Density1–50 /sec15Grains per second (sparse=pointillistic, dense=continuous)
Pitch Spread0–2 semitones0.3Random pitch variation per grain
Position0–10.5Center read position in source file
Scatter0–10.5Randomness of read position
Envelopehann / trianglehannGrain window shape

Granular layers extract tiny overlapping slices from real audio samples, creating evolving textures impossible with pure synthesis.

Reverb (FDN)

SettingRangeDefaultDescription
Spacecathedral, chamber, hall, cave, platecathedralReverb character
Mix0.0–1.00.3Dry/wet balance
Decay Trim0.0–2.01.0Multiplier on tail length

8-line Feedback Delay Network with Hadamard mixing, per-line damping, stereo decorrelation.

Shimmer FX (Global)

SettingRangeDefaultDescription
Wet0.0–1.00.0 (off)Shimmer mix — 0 bypasses entirely
Pitch−12, +5, +7, +12, +19, +24 semitones+12 (Octave Up)Pitch shift applied to the feedback tail
Feedback0.0–0.950.5How long the shimmer tail sustains — higher = longer bloom

Pitch-shifted feedback tail fed after reverb — creates an ethereal upward bloom. Works best with Reverb enabled. Applied in the global chain after Reverb, before Earth & Air.

Binaural Beats

SettingRangeDefaultDescription
Methoddetune / carrierdetuneDetune splits voices L/R; Carrier adds a sine pair
Beat Hz0.5–406.0Perceived beat frequency
Carrier Hz50–500200Base frequency (carrier mode only)

Delta 0.5–4 Hz (sleep) · Theta 4–8 Hz (meditation) · Alpha 8–13 Hz (focus) · Beta 13–30 Hz (alert)

Earth & Air

SettingRangeDefaultDescription
Earth: Tectonic Freq10–40 Hz18Sub-bass rumble center frequency
Earth: Pressure0.0–1.00.4Earth intensity
Air: Intensity0.0–1.00.12High-frequency breath/wind
Air: Turbulence0.0–0.20.04High-freq chaos amount

Master EQ

SettingRangeDefaultDescription
Low Cut20–400 Hz20High-pass cut-off — removes sub-rumble below this frequency
Bass Gain−12–+12 dB0Low-shelf boost/cut around Bass Freq
Bass Freq40–500 Hz100Low-shelf transition point (visible when Bass ≠ 0)
Lo Mid Gain−12–+12 dB0Bell boost/cut in the low-mid range
Lo Mid Freq100–1000 Hz250Bell centre frequency (visible when Lo Mid ≠ 0)
Lo Mid Q0.3–5.01.0Bell width — higher Q = narrower, more surgical (visible when Lo Mid ≠ 0)
Hi Mid Gain−12–+12 dB0Bell boost/cut in the high-mid range
Hi Mid Freq500–8000 Hz2500Bell centre frequency (visible when Hi Mid ≠ 0)
Hi Mid Q0.3–5.01.0Bell width (visible when Hi Mid ≠ 0)
Air Gain−12–+12 dB0High-shelf boost/cut for presence and sparkle
Air Freq2000–16000 Hz10000High-shelf transition point (visible when Air ≠ 0)

5-band master EQ. Bass and Air are shelving filters (±6 dB/oct). Lo Mid and Hi Mid are constant-Q peaking (bell) filters — same formulas used in professional DAW EQs (Audio EQ Cookbook). Freq and Q sub-controls are hidden when a band's gain is at 0 to keep the UI clean. Filters run in series: Low Cut → Bass → Lo Mid → Hi Mid → Air.

Master Compressor

SettingRangeDefaultDescription
Threshold-40–0 dB0Level above which compression begins
Ratio1–202.0Compression ratio (e.g. 4:1)
Attack1–500 ms50Time to reach full compression
Release10–2000 ms200Time to recover after signal drops
Knee0–12 dB0Soft-knee width for gradual onset
Makeup Gain-6–12 dB0Output gain after compression

Feed-forward peak compressor on the master bus. Use a soft knee (4–8 dB) for transparent limiting; fast attack/slow release for pumping effects.

Transport

KeyAction
AStart/stop playback
SStop all audio
RRender full audio (offline)

Layers

KeyAction
1–5Switch to layer 1–5

File Operations

KeyAction
Ctrl+SSave preset (overwrite)
Ctrl+ZUndo parameter change
Ctrl+Shift+ZRedo parameter change

View

KeyAction
Ctrl + / Ctrl -Zoom in / out
Ctrl 0Reset zoom to 110%

Tips

TipDescription
🔒 Lock seedClick the lock icon next to seed to get reproducible results across previews
📁 File menuClick "File ▾" at the bottom of the sidebar for Save, Save As, Restore, Export
🎛 Collapse cardsClick any section header (Settings, Binaural, Reverb, Earth&Air) to collapse/expand
📱 MobileUse the ☰ hamburger menu on small screens to toggle the sidebar

Community & Feedback

Special thanks to CAT-FOX_ALEX on Freesound for ongoing feedback, suggestions and feature ideas that have shaped Mantice.

Granular Sample Library

All samples are licensed Creative Commons 0 (public domain) from freesound.org.

SampleTitleAuthorLink
Singing BowlE flat Tibetan singing bowl struckmttvn#535950
Bowed GlassWine Glass Resonances by Violin Bowrobin.kaf#711891
GongGong Drone.wavjdagenet#395422
Metal ResonanceClosing large metal door-003AudioPapkin#814881
WindAutumn leaves falling on forest floorMjeno#405136
Water WavesWaves close upskrafft#681374
Water DropsQuarry tunnel ambience – large splashecfike#476318
Rock ScrapeLow Stone Rubbing – Deep Rock ScrapeNikoletB#846434
GravelWalking on leaves (Brezzo di Bedero)IlMotografo#679104
Fire CrackleFire CracklingStevenMyat_#676385
Raindribbling rain (snow melt from roof)pillonoise#329576
Leaf RustleSpooky leaves (but looped)happygummy#581234
Bubblesbubbles.deep.loop.oggxUMR#478653
Sub Rumblemachination-dry.wavnewagesoup#338869
Stick CrackTwigs BreakingElements-Library#683793
GearsStripped gears in VAV boxitickets#490919
IceIce Crackingnorthern87#369982

Visualizer

Layers

TUNING

Global FX

0.30
1.00
0 ms
0.00

Master

0.30
EQ
20 Hz
0.0 dB
0.0 dB
0.0 dB
0.0 dB
Compressor
0 dB
2.0
50 ms
200 ms
0.0 dB
0.0 dB
3.0 dB
1.0 s