Keep the voice. Lose the music.

A Rust engine, compiled to WebAssembly, takes the music out of any Chrome tab. Your audio never leaves your computer.

The real engine, running in this page

idle

Press play, then switch the music off.

Why take the music out

60%

Hear what people are saying

Background music is one of the most common reasons viewers struggle to follow speech, and it is hardest on people with hearing loss.

BBC TV audibility survey, 2011. RNID survey of members with hearing loss, 1998.

Focus on the lesson

Adding music to a lesson made people remember less of it. Lectures and tutorials work better without it.

Moreno and Mayer, Journal of Educational Psychology, 2000.

For those who choose to avoid music

Some people keep away from instrumental music for faith, a period of mourning or grief. nomus lets them keep the words.

Watch it without the mood music

Music makes what you see feel stronger, and sounds help short videos spread. Turn it off and judge what is being said.

Baumgartner et al., International Journal of Psychophysiology, 2006. TikTok, 2020.

Fewer music claims on stream

Twitch reports that over 99% of its music takedowns were for background tracks. nomus removes most of that track. It does not grant rights to anyone's video.

Twitch, Music-related copyright claims, 2020.

Easier on sensitive ears

Many autistic people find everyday sound too loud. Less music also means fewer songs stuck in your head at night.

Williams et al., Ear and Hearing, 2021. Scullin et al., Psychological Science, 2021.

A Rust engine in your browser's audio thread

A small neural network listens to 10 ms of sound at a time and decides, for every frequency, how much of it is a voice. Speech and singing pass. Instruments fade out.

  1. The tab's sound

    Chrome hands nomus the audio of the tab you chose, and nothing else.

  2. An AudioWorklet

    A real-time audio thread feeds the engine in 480-sample frames.

  3. nomus.wasm

    Rust, compiled to WebAssembly with no imports: it cannot reach the network or disk.

  4. Your speakers

    The voices, 20 ms later.

crates/nomus-core/src/voice_mask.rs
// One GRU layer, one 10 ms frame. PyTorch gate order: r, z, n.
matvec(&g.w_ih, &self.x, &g.b_ih, &mut self.gates_i);
matvec(&g.w_hh, hid, &g.b_hh, &mut self.gates_h);
for j in 0..h {
    let r = sigmoid(self.gates_i[j] + self.gates_h[j]);
    let z = sigmoid(self.gates_i[h + j] + self.gates_h[h + j]);
    let n = (self.gates_i[2 * h + j]
        + r * self.gates_h[2 * h + j]).tanh();
    self.h_new[j] = (1.0 - z) * n + z * hid[j];
}
Delay
20 ms
Engine
0.8 MB
Weights
1.04 M
CPU
~2%

of one core

Network requests
0

Your audio never leaves the tab.

No server

Filtering happens on your computer. There is no nomus server for sound to go to.

No tracking

No account, no analytics, no cookies. The extension does not count you or the sites you use.

Enforced, not promised

The extension and this site both declare connect-src 'self', so the browser itself blocks any request to another server.

Check it yourself: open DevTools, pick the Network tab, and play something.Read the privacy page

What to expect

Works well

  • Talks, lectures, podcasts and news with a music bed under them
  • Short videos with a trending track over someone speaking
  • Songs, when you want the vocals and not the band

Still hard

  • Music much louder than the voice: some of it comes through
  • Instruments that sound like a voice, such as a solo violin
  • Chrome on a computer only, for now. No phones yet.

Get the extension

Install the developer build in about a minute. Version 0.3.0.

  1. Download and unzip

    Unzip nomus-extension.zip to get a folder.

    Download zip
  2. Turn on Developer mode

    Open chrome://extensions and switch on Developer mode, top right.

  3. Drop the folder in

    Drag the folder onto that page. Then press Shift Y on any tab (Ctrl on Windows).