Skip to content
roomi fields

Audio and hardware

Narcose

A VST3 and CLAP effect plug-in, placed on a DJ's master output, that varies four processes very slowly, locked to the track's grid.

experimental

Narcose grew out of a research file on what sound does to a dance floor, and out of a first interested DJ, who approved the plug-in format on 2 September 2026. Its main limit: nothing has yet been listened to on a real sound system; the processes are checked on synthetic signals, and the threshold below which a change goes unnoticed, on which the whole project rests, is still to be measured.

The starting point, and what Narcose does not take from it

The research file starts from a study run during a concert: very-low-frequency speakers (8 to 37 Hz) were switched on and off every two and a half minutes. The authors write: “audience participants moved more, on average by 11.8%, while VLFs were ON vs. OFF” (Cameron, Dotov, Flaten, Bosnyak, Hove and Trainor, “Undetectable very-low frequency sound increases dancing at a live concert”, Current Biology 32, 2022).

Narcose does not reproduce that setup: producing those frequencies loudly enough takes dedicated subwoofers, which a plug-in does not provide. What its processes do to dancers is a hypothesis the project has not tested. The name, the diver’s rapture of the deep, is a metaphor, not a promise.

Four processes, governed by slowness

Narcose sits on the master output, follows the track’s grid and varies four processes:

  • Sub-bass: a sub-octave of the track’s bass, tracked over the 35–110 Hz band and bounded by the sound system’s low cut. With no bass in the track, nothing comes out.
  • Pumping: dips the level of the bass band between beats, by 3 dB at most, never adding energy.
  • Drone: a held tone an octave from the tracked fundamental, beating with the track.
  • Tilt: a slow tilt of the spectrum between bass and treble, around 800 Hz, by 1.5 dB at most.

Three things govern them. The drift makes them rise and fall at three speeds counted in bars: a base period for Pumping and Drone, eight times longer for Sub-bass, sixty-four times for Tilt. The set arc sets a ceiling that rises then falls over the night. Confidence in the grid doses Pumping and Drone; when the source changes or is lost, they fade out slowly, with no abrupt switch.

The grid comes from the host’s transport, which the DJ syncs through Ableton Link or MIDI clock; failing that, from the DJ’s tap; as a last resort, from analysing the signal.

Getting started

No package is published; the plug-in is built from the code, in Rust on nih-plug. On Linux, the window needs the X11 and OpenGL development libraries (list in the README).

cargo test -p narcose-core
cargo test -p narcose-plugin
cargo xtask bundle narcose-plugin --release

On 28 October 2026, at commit a5536d2, the 52 core tests and the 37 interface tests pass. The third command produces Narcose.vst3 and Narcose.clap in target/bundled/. In Reaper: project tempo set to the track’s, first kick drum on the start of a bar, Narcose on the master.

What it does

  • Three screens: Set, Before the set, Calibration; in French or English, at three scales.
  • Calibration by ear: music cut, the plug-in’s tone against silence, from 80 down to 5 Hz, to find the sound system’s low cut; or entered by hand.
  • Bass relay: a pulse on each beat when the track has no bass left. The DJ’s option, off by default.
  • Two cuts: the soft cut stops processing with a fade counted in bars; the hard cut stops it at once, the only audible break allowed.

Common issues

A Live project loses its Narcose settings. Parameter ids changed on 7 September 2026, with no compatibility: a project saved before that date loses these settings.

Sub-bass outputs nothing. That is intended when the track has no bass. Tracking may also waver when kick drum and bass overlap: a known risk, not yet heard.

Where it stands

42 commits, from 2 to 7 September 2026, none since. Everything above is coded and tested on synthetic signals. Still to do, in order: check the interface by eye in Live on Windows; set up the listening experiment that fixes how fast a process can move without being noticed; listen to the calibration in a venue. Not yet coded: falling back on the missing fundamental for sound systems that cut around 55–60 Hz, and a table of the low cuts of known systems.

Before reaching beyond the first DJ, the stack needs another look: nih-plug does not produce Audio Units and its VST3 wrapper imposes the GPL v3. The code, unpublished, declares GPL-3.0-or-later.

Cameron et al., Current Biology 32, 2022, doi:10.1016/j.cub.2022.09.035 · nih-plug (Robbert van der Helm)

How it was made. Claude Code (Claude Opus 5.5), from the local code, its README and its design notes. The core and interface tests were run; the quotation was checked word for word against the source article. Method