⚠️ Hadal Black is unapologetically massive, and needs a screen of 2560 × 1440 (1440p) or higher.

Circuit Bass Synthesizer · Wavetable · Drive Channel

Hadal Black

A circuit bass. A hundred waves. All of Genuine Filth.

Hadal Black starts as a circuit bass: two banks of expo-converter oscillators, a sub counted down by a real divider chain, a transistor ladder solved the hard way, germanium grit and a wobble engine that lands on the grid. Then it adds the two things a circuit bass could never have on its own.

The first is a third oscillator: a wavetable of one hundred synthetic waves, played through every circuit the other two are. The second is Genuine Filth, whole, on a send from every oscillator.

Hear it first

VST3 · Windows 64-bit·No activationmacOS is in development.

The Hadal Black front panel in blue-black, with ice-blue engraving, dark grained cheeks and fluted dials capped in brushed metal, three of them - POSITION, CUTOFF and VOLUME - larger and ringed in lit aqua over a red arc. A nameplate reads APHELION, HADAL BLACK, with a MORE SYNTHS button beneath it. A program display reads 26 - BRINE SPOUT and WT POSITION FM 7. Beside it a wide window draws the wave the newest note is playing, with four fainter waves stacked behind it and a cursor on a rail beneath, captioned WAVETABLE - SIEVE 9; then a lit DEPTH gauge and a round OSCILLOSCOPE. Below, rows of controls: OSC A, OSC B and THE SUB, each ending in a send knob; THE WAVETABLE - ONE HUNDRED WAVES with POSITION, ENV, WARP and AMOUNT; AMP, VOICE, THE LADDER, the two patch LFOs and MASTER; THE WOBBLE ENGINE - CUTOFF LANE with WT SCAN and VOLUME LANE - THE PUMP, each with an eight-step row of rates and its curve drawn across one bar; and along the bottom GENUINE FILTH - IRON / SILICON / GLASS / GERMANIUM, THE SUPPLY / TONE / IRON OUT, and a CURVE TRACER / RAIL box whose tracer is drawing, reading AWAKE - FED and RAIL 9.8V. A jellyfish is drawn in thin white line at the panel's right-hand edge.

Demos

11 takes, played by us

Straight out of the plugin, no processing on the way here, levels matched so you can move between them without reaching for the volume.

Take 01
Take 02
Take 03
Take 04
Take 05
Take 06
Take 07
Take 08
Take 09
Take 10
Take 11

The short answer

A circuit bass, and two things it never had

A circuit bass sounds the way it does because every part of it is a circuit, and that is also its limit: it only has the waves its oscillators can make, and only the dirt its own drive can give. Hadal Black is a circuit bass with a third oscillator that is a wavetable - played through the same wavefolder, ladder, grit and amp as the circuits beside it - and the whole of Genuine Filth on a send from every oscillator. The wave is the one part of the instrument that is not a circuit. The voice it speaks through is. And the dirt goes where you send it: the wavetable and not the sub, the sub and nothing else, or all four at once.

100 waves, none sampled

Written as spectra, and each family is a journey

The bank is ten families of ten, and POSITION crosses all one hundred continuously, so each wave is a small step from the one before it. Nothing was sampled, extracted or licensed: every wave is written as the strength of each of its harmonics, built once when the first instance opens, and shared by every instance in the session.

  • ASCENTpartials arriving
  • PULSEa pulse narrowing
  • VOWELa mouth moving through its vowels
  • HOLLOWa hollow wave filling
  • SYNCa hard sync rising
  • FMan FM index opening
  • TILTa slope brightening
  • SIEVEharmonics sieved away
  • METALa clang gathering
  • GROWLa resonance climbing the harmonic series

Every wave is built in the same phase, so the crossfade between neighbours adds up instead of partly cancelling, and a scan does not go hollow halfway between two waves. Halfway between any two neighbours in a family, the level dips by less than 1 dB; across the seam between two families it can dip further, because two waves with nothing in common partly cancel. The waves that are not held back by their peak limit sit at the loudness of a full-scale sawtooth, within a twentieth of a decibel; the spikiest are held back, and play quieter. No two neighbours are the same wave, and none carries DC.

Ten copies of every wave

Band-limited at every note

A wavetable is a single cycle stored as numbers, and played too high it folds its upper harmonics back down as aliasing - the brittle, out-of-tune haze of a cheap digital oscillator. Hadal Black stores every wave ten times, each copy cut off an octave lower than the last, and each note reads the fullest copy whose top harmonic still fits under the band, through a four-point cubic on a 4,096-sample cycle.

Read the way the voice reads it-81.1 dBAt its worst note, from 55 Hz to 3.5 kHz
Read the naive way-1.9 dBFrom 880 Hz up: aliasing almost as loud as the note

Both are the brightest wave in the bank, as the share of the band that is not a harmonic of the note. The naive way is the fullest copy at every note.

A third oscillator bank

Played through the circuits, not bolted on after them

The layer does not sit beside the synth as a separate engine with its own filter. It is a third oscillator bank inside every voice: through its own circuit wavefolder, then into the same transistor ladder, the same germanium grit and the same pair of OTAs as the two circuit banks. Close the ladder and the layer darkens with everything else. Turn up GRIT and it snarls with everything else.

The ladder, 12 kHz to 250 Hz64.2 dBof top end off the layer
Beside a circuit sawtooth0.00 dBapart, at the same LEVEL
The layer's own FOLD32.1 dBbrighter, turned fully up

POSITION, ENV and WT SCAN

Scanned three ways, one of them on the grid

POSITION carries the layer across the bank by hand. ENV hands it to the filter envelope, so a note can open on one wave and settle on another, the way a plucked or struck thing does. And WT SCAN, on the wobble engine's cutoff lane, lets the lane scan the table instead of - or as well as - the filter, so the timbre itself talks on the tempo grid with the cutoff left alone. Both patch LFOs can drive the position and the warp amount too.

POSITION from the first wave to the brightest makes the layer 42.7 dB brighter. With ENV fully up, a note starts 19.5 dB brighter than it settles; with ENV at zero, -0.6 dB, which is the same note throughout. With WT SCAN on a quarter-note lane at 128 BPM and the filter untouched, the timbre cycles every 470.0 ms against a quarter note's 468.75.

five warps

Each exactly neutral at its neutral

A warp bends the way the oscillator travels through its cycle rather than the wave itself. A warp adds harmonics, so the oscillator also picks a darker copy of the wave, to make room for the warp as well as the note.

  • BENDLeans the cycle toward its start or its end. Two-way, so it does nothing with AMOUNT in the middle.
  • SYNCRuns through the cycle several times and starts over each time.
  • MIRRORReads the cycle forward and then back.
  • SQUEEZEPresses the first half of the cycle into more or less of it. Two-way, like BEND.
  • QUANTIZEHolds the cycle on fewer and fewer steps.

Every warp changes what the layer plays, and at its neutral setting every warp leaves the voice exactly as it was, sample for sample.

On a send from every oscillator

Genuine Filth, whole

Genuine Filth is Aphelion's drive channel: an input transformer, a class-A transistor stage, a triode, a diode clipper and an output transformer, in series, all hanging off one power supply that sags. In Hadal Black it is compiled in whole, from its own source, with all twenty-four of its controls on a row of their own. This is not a version of it. It is the same unit.

It is fed the way a mixing desk feeds an effect, by sends. OSC A, OSC B, the wavetable and the sub each have a send knob, and each one taps its oscillator after its own level and wavefolder, before the ladder, and follows that voice's amp envelope - so what reaches the channel rises and falls with each note. Every voice feeds the one stereo channel, and every voice pulls on its one supply. The dry voice keeps playing, and the return is added beside it. Fed the same signal, the channel inside Hadal Black and a Genuine Filth of its own produce identical output: 0 apart, sample for sample.

Each oscillator alone, through a dark dry voice, with its send turned from zero to full: the top end the return adds
Sent fromTop end added
OSC A+46.6 dB
OSC B+39.1 dB
The wavetable+43.7 dB
The sub+7.0 dB

It is a send, not an insert. The return does not pass through the ladder, so the cutoff shapes the dry voice and not the dirt; the volume pump and VOLUME act on both. To hear an oscillator only through the channel, close the ladder so the dry voice goes dark. Genuine Filth's MIX is inside the return, so a send with MIX at zero adds a clean copy that bypasses the ladder, not a dirty one. All sixteen of Genuine Filth's own presets load from the strip beside the curve tracer, and change only its dials.

The first half of the Genuine Filth row, headed GENUINE FILTH - IRON / SILICON / GLASS / GERMANIUM: INPUT; an IRON switch; DRIVE; a SILICON switch; DRIVE and BIAS; a GLASS switch; DRIVE, TUBE set to 12AX7, and AGE; a GERM switch; FUZZ, ELEMENT set to LED, and LEVEL.
The rest of the row: THE SUPPLY / TONE / IRON OUT, with SAG, a TONE switch, CUTOFF, RESO, FIZZ, MODE, an IRON switch, DRIVE, MIX and OUTPUT; and CURVE TRACER / RAIL, where a small screen draws the channel's input against its output as a lit loop, a tall meter stands beside it, a preset strip reads CUSTOM, and the status reads AWAKE - FED, RAIL 9.8V.

Fifty samples, always

Dry and dirty, in phase

Genuine Filth takes fifty samples to do its work - about a millisecond - and a return that arrives a millisecond late comb-filters against the dry voice it is mixed with. So the dry voice waits for it: it is delayed by the same fifty samples, all the time, and the instrument reports that latency to the host, which compensates for it like any other.

Asleep until it's fed

A patch that never feeds it doesn't pay for it

Five circuits solved every sample are not free, so the channel sleeps. When every send is at zero it does no work at all. It wakes as soon as any voice feeds it, and goes back to sleep half a second after the last one stops.

A 220 Hz sine through the channel with every stage switched out, beside the dry voice: the two meet 1.6 degrees apart, where fifty samples out of step would put them about 82 degrees apart. With the sends at zero the channel stays asleep, and with one turned up it wakes. None of the presets feeds it except the two built for it. Nothing allocates on the audio thread, asleep or awake: 0 bytes, counted.

The sub

The floor stays clean, unless you send it

The sub is not an oscillator mixed in before the drive. It is a flip-flop divider counting the key's own pitch down one or two octaves, on its own path around the grit. Turn the grit all the way up and the mids snarl while the sub underneath stays nearly pure. And because it has a send of its own, you can still put the floor through Genuine Filth - deliberately, and only there.

The sub, under full grit7.9%distortion
The mids, under the same grit33.6%distortion

Two lanes, on the grid

The wobble engine

Two tempo-locked lanes, cutoff and volume, each with thirteen divisions from a whole note to a thirty-second, its own shape, and an eight-step pattern of rates - so one bar can run 1/4, 1/4, 1/8, 1/16 as a sequence rather than an automation chore. The volume lane closes the voice's real OTAs instead of scaling a gain. The panel draws each lane's actual curve across the bar, computed by the same code the audio runs. And the cutoff lane has one more job: WT SCAN, above.

At 128 BPM a quarter-note wobble repeats every 470.0 ms against a theoretical 468.75. The volume lane at full depth pumps -16.5 dB.

The wavetable window

A panel that shows the wave you are playing

Where Batholith has its valve and meter, Hadal Black has a window. It shows the wave the newest note is actually playing - with ENV, WT SCAN and the LFOs taken into account, not just where POSITION is set - with the four waves before it stacked behind, so a scan reads as travel through something. A cursor rides a rail across the whole bank, and the caption names the wave and the warp. Beside it are a depth gauge, which lights further down the deeper the bass runs, and an oscilloscope.

The wavetable window, captioned WAVETABLE - SIEVE 9: a jagged lit aqua wave with four fainter waves stacked up and to the right behind it, and a cursor on a ruled rail beneath. Beside it the DEPTH gauge, lit most of the way down, and a round OSCILLOSCOPE showing a rising trace.
THE WAVETABLE - ONE HUNDRED WAVES: a larger steel dial for POSITION, ringed in lit aqua, then ENV, WARP set to OFF, AMOUNT, OCT, SEMI, UNISON, DETUNE, SPREAD, FOLD and LEVEL, and a send knob at the end of the row.

The fifth row is Genuine Filth: its twenty-four controls, its live curve tracer plotting the channel's real input against its real output, its supply-rail meter, and its preset strip, with a line reporting whether the channel is awake and being fed. There are 94 controls for 94 parameters: every parameter has exactly one control on the panel. It is a big panel - 1760 by 1072 - and it wants a screen to match.

26 presets

Named for the deep

For the wavetable, eight: BLACK WATER, ABYSSAL CHOIR, GULPER EEL, VAMPIRE SQUID, FANGTOOTH, MARINE SNOW, CHALLENGER DEEP, BLACK DRAGONFISH. For the circuits alone, sixteen: from TRENCH FLOOR to PRESSURE HULL, each with the wavetable turned off. For Genuine Filth, two: FILTH FEEDER, BRINE SPOUT. The wobble lanes' patterns are saved in every one.

The sheet

What is in the box

The bank is built once, when the first instance opens, in a fraction of a second, and shared by every instance after it. The dearest patch Hadal Black can make - eight voices with both circuit banks and the layer seven deep, a warp on the layer - still renders faster than real time, on the machine it was timed on, which is not a promise about yours. Nothing allocates on the audio thread with the layer at work. Every parameter has a number that is frozen the day it ships, and a saved session round-trips byte for byte.

FormatVST3 instrument · Windows 64-bit
In developmentmacOS
OutputStereo · the sub always mono and centred
OscillatorsTwo circuit banks and a wavetable layer, each up to seven deep · a divider-chain sub
Wavetable100 synthetic waves in ten families of ten, none sampled · five warps
Filter and driveNewton-solved transistor ladder · germanium grit into a folder
Genuine FilthThe whole channel, on a send from every oscillator · its sixteen presets built in
ModulationTwo-lane tempo-locked wobble engine · two LFOs · two envelopes
VoicesMono with glide by default · 8-voice poly
Presets26
Panel1760 by 1072
Latency50 samples, always
Parameters94, all automatable
ActivationNone. No license server, no phone-home

Powered by Phonon

The colour of the deepest water

The hadal zone is the deepest part of the ocean - below the abyssal plain, down in the trenches, named for Hades. No sunlight has ever reached it. Hadal Black is the colour of that water, and of the panel.

VST3 · Windows 64-bit·No activationmacOS is in development.

At a glance

Hadal Black specifications

Technical specifications for Hadal Black, Circuit Bass Synthesizer · Wavetable · Drive Channel
FormatVST3 instrument · Windows 64-bit
In developmentmacOS
OutputStereo · the sub always mono and centred
OscillatorsTwo circuit banks and a wavetable layer, each up to seven deep · a divider-chain sub
Wavetable100 synthetic waves in ten families of ten, none sampled · five warps
Filter and driveNewton-solved transistor ladder · germanium grit into a folder
Genuine FilthThe whole channel, on a send from every oscillator · its sixteen presets built in
ModulationTwo-lane tempo-locked wobble engine · two LFOs · two envelopes
VoicesMono with glide by default · 8-voice poly
Presets26
Panel1760 by 1072
Latency50 samples, always
Parameters94, all automatable
ActivationNone. No license server, no phone-home