An audio transformer that makes everything sound like a Brownian noise
| Version | Player |
|---|---|
| Original | original.mp3 |
| Oxidized (Brown) | oxidized.mp3 |
Credits: Music by massobeats - rose water. Processed with oxidizer CLI.
The following spectrograms illustrate the frequency response of the algorithm. Notice how the high frequencies (above 16kHz) are attenuated and replaced by the textured Brownian noise floor.
| Original Audio | Oxidized Audio |
|---|---|
![]() |
![]() |
| Full spectrum detail | Warm, low-passed texture |
Well, I got bored while studin' for my Psychology exams, so I procrastinated on this side project a bit. Oh, and recently I've realised that constantly listening to the Brown Noise during work keeps me focused.
In acoustics, Brown noise (or Red noise) has a power spectral density that decreases by 6 dB per octave. It is much deeper and bassier than White or Pink noise, similar to the gentle surf that comes with a storm.
It's generally considered as a very soothing and relaxing sound, played by many people to help them fall asleep, relax or focus.
Oxidizer doesn't just play noise over your music, that wouldn't sound to pleasant :/ It transforms the audio using a "degradation" process. Higher frequencies are the first to dissolve, leaving very deep and warm sound. So it's "degrading" audio and it's written in Rust π¦, so naming it "oxidizing" seems like a no-brainer π€‘
Later, the signal is further textured with a stochastic random walk (leaky integrator) which adds a gentle background "whoosh," making the track feel more alive and organic, and other kinds of noise, e.g. white noise.
There are three oxidation levels implemented, each tailored for a specific use-case:
| Level | Character | Best for |
|---|---|---|
| Clear | Warm and Airy | Accentuating vocals while removing digital harshness |
| Deep | Deep and Mellow | Invoking "buried under blankets" feeling |
| Muffled | "It's all 'bout the bass, no treble" | Transforming drums into distant, thumping heartbeats |
You can choose the character of the background noise:
- Brown: bass-heavy, organic "whoosh" (default.)
- White: flat, full-spectrum "radio static" for a lo-fi feel.
- Multiple algorithms: Ability to generate an "oxidized" audio with different characteristics.
- Stereo Spread: Independent Brownian generators for Left/Right channels.
- Wow & Flutter: Subtle pitch modulations to emulate old tape motors.
- Bit-Crushing: Optional "digital oxidation" for a more lo-fi grit.
- Custom algorithms: Users can use their own audio transformation algorithms using Lua/Rust/Python scripts or smth, idk. Seems like a challenge to implement tho.
Ensure you have the Rust toolchain installed. If not, get it from rustup.rs.
cargo install --git https://github.com/Sztakler/oxidizer.gitgit clone https://github.com/Sztakler/oxidizer.git
cd oxidizer
cargo build --release
cargo install --path .# Basic oxidation (uses Deep level and Brown noise by default)
oxidizer --input music.mp3 --output output.wav
# Customizing the texture and intensity
oxidizer -i music.mp3 -l clear -n white --intensity 0.1
# Extreme "Muffled" effect with multiple filter passes
oxidizer -i music.mp3 -l muffled --passes 3 --intensity 0.02| Flag | Description | Default |
|---|---|---|
-i, --input |
Path to the input file (MP3, WAV, FLAC, etc.) | Required |
-o, --output |
Path to the output .wav file |
output.wav |
-l, --level |
Oxidation intensity: clear, deep, muffled |
deep |
-n, --noise |
Noise generator type: brown, white |
brown |
-t, --intensity |
Noise & saturation scale (0.0 to 1.0) | 0.05 |
-p, --passes |
Number of filter iterations (stacks the slope) | 1 |
-s, --sample-rate |
Output sample rate (e.g., 44100, 48000) | 44100 |
Note on Sample Rate: Ensure the sample rate matches your input for pitch consistency. Lowering the rate manually (e.g., setting -s 22050 for a 441k file) will result in a "slowed down" tape effect (which sounds pretty cool imho).

