A self-contained desktop app that turns local audio tracks into moving, spacious headphone mixes. Built for Windows and macOS with Python, Qt Widgets, NumPy, and libsndfile. No browser, local web server, accounts, API keys, analytics, downloads at runtime, or shared services.
Brainfloss turns a local audio file into a new, spatial headphone mix while leaving the original untouched.
Open dist/Brainfloss-0.3.0/Brainfloss.exe. For another machine, unzip the portable
Windows archive and keep the whole Brainfloss-0.3.0 folder together. No Python or
FFmpeg installation is needed. This initial local build is unsigned.
- Drop audio files into the window, or click browse files. MP3 is supported, along with WAV, FLAC, OGG/Vorbis, and AIFF. Input must be mono or stereo.
- Pick Gentle drift, Classic orbit, Deep space, Neon orbit, or True floss. True floss sends the mix straight through one ear and out the other, then back again, without circling behind your head. Optionally adjust movement cycle (higher means slower), spatial depth, and room ambience. The live diagram previews the selected path, relative velocity, and direction at 4× visual speed while labelling the real audio cycle.
- Choose MP3 or 24-bit WAV, then choose an output folder.
- Click Create spatial audio. Each track has its own status; the bottom bar shows overall batch progress. Listen opens the result in your default player.
Use headphones for the effect. Originals are opened read-only. Output names use
2026-10-05_00-23-45-678 - Song - spatial.mp3, with numbered suffixes if a name
already exists. The prefix is your computer's local date/time, to milliseconds,
when Create spatial audio (or Create again) was clicked. Every file in
that batch shares the same timestamp, including when a folder picker delays the
start. Retrying starts a new batch with a new click timestamp. Cancelling
keeps completed results and cleans up the incomplete track. Press Create again
to retry cancelled, queued, or failed tracks. A damaged file does not stop the
rest of the batch; double-click its row for details. Clear list only clears the
queue, never files. To re-render successful tracks, change the preset, movement,
depth, ambience, output format, or destination. Rows become Ready and
Create again becomes available; no re-import is needed. Listen continues
to open the last successful export until the new one is ready. Previous exports
remain on disk, including if a later attempt fails or is cancelled. Restoring the
last successful settings before starting returns those rows to Saved.
Neon orbit is inspired by the supplied Blinding Lights (8D AUDIO) reference: an approximately 11.2-second orbit with gentle level changes and stronger timing cues. See the measurement notes for the basis and limits.
- Smooth circular motion, a gentler curved sweep, or a straight ear-to-ear pass.
- Constant-power ear gains and smoothly varying fractional delays, with up to approximately 0.65 ms interaural timing difference in the original presets; Neon orbit uses a larger timing range with gentler level/filter changes.
- Direction-dependent high-frequency attenuation and modest distance shading.
- Six staggered stereo early reflections, controlled by room ambience.
- Two virtual sources and a small original stereo bed to retain stereo material.
- Fixed gain reduction only when needed to leave 2 dB sample-peak headroom; quiet tracks are not boosted and dynamics are not compressed.
This is an 8D-style binaural approximation rendered to ordinary stereo. It does not create Dolby Atmos objects/metadata, separate stems, use measured or personalized HRTFs, or add binaural beats. Front/back perception varies by listener and recording; elevation is not modeled. The whole mix moves together. The room effect is short, diffuse early reflections, not a long hall reverb.
MP3 uses the highest available constant bitrate at the original sample rate (320 kbps at 44.1/48 kHz; lower rates have lower codec limits). WAV is 24-bit PCM; it avoids another lossy encode but cannot restore detail lost in an input MP3. Original sample rates are retained; high-resolution sources unsupported by MP3 must use WAV. Tags, artwork, chapters, and playlists are not copied. The effect adds up to about 0.32 seconds to preserve the reflection tail and uses brief edge fades. Sample-peak headroom is not a certified true-peak limiter.
The app reads selected files and writes to the chosen local folder. The last output folder is stored in native OS preferences. The queue and track history are not persisted. There are no networking calls in the application.
Processing streams blocks instead of loading full tracks. A temporary stereo
float file is created inside the destination during each conversion and deleted
afterward, including ordinary cancellation/errors. Allow roughly 150 MB free
for a four-minute 44.1 kHz track. Files larger than the standard WAV 4 GiB limit
are rejected for WAV export. A forced process kill or power loss can leave a
.brainfloss-* scratch folder; it can be removed when no conversion is running.
If you choose a folder managed by OneDrive, iCloud, or another sync application, that application may sync the files independently. Brainfloss does not upload them.
Use CPython 3.11 or 3.12, 64-bit. Development dependency installation requires internet access once; the installed app works offline.
Windows (PowerShell):
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe -m brainfloss
.\.venv\Scripts\python.exe -m pytest -q
.\.venv\Scripts\python.exe scripts/build.pymacOS (Terminal, using a Python installed for the target architecture):
python3.12 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
.venv/bin/python -m pytest -q
.venv/bin/python -m brainfloss
.venv/bin/python scripts/build.pyThe build produces dist/Brainfloss-0.3.0/Brainfloss.exe on Windows and
dist/Brainfloss-0.3.0.app on macOS, plus a portable archive, notices, and project
sources. Build on the target OS: PyInstaller is not a cross-compiler. Build on
Apple Silicon for arm64, and on Intel for x86_64. Qt 6.8 targets macOS 12+;
Windows 10/11 x64 is the intended Windows target. macOS packaging is provided
but has not been executed or verified on this Windows development machine.
Public macOS distribution additionally needs Developer ID signing/notarization;
the build script creates a local unsigned/ad-hoc-signed development app.
brainfloss/audio.py: streaming DSP, encoders, cancellation, and safe output.brainfloss/app.py: native window, queue, preferences, and worker thread.tests/: signal-level, codec, file-safety, cancellation, and UI lifecycle tests.scripts/build.py: local packaging for the current platform.scripts/make_demo.py: generates original synthetic audio for testing.THIRD_PARTY_NOTICES.md: dependencies and license/source references.docs/images/brainfloss-window.png: application screenshot used above.
Brainfloss source code is available under the MIT License. The packaged application also includes third-party components with their own terms; see THIRD_PARTY_NOTICES.md and the notices bundled with a build.
- SoundFile documentation documents the bundled Windows/macOS libsndfile and MP3 encoding controls.
- Qt for Python provides native desktop widgets.
- PyInstaller usage documents self-contained desktop packaging and platform-specific builds.
These references are for developers. The application does not connect to them.
