Show HN: CrispVoice – Studio voice enhancement that never uploads your voice Francium Tech released CrispVoice, an open-source tool that enhances voice recordings to studio quality entirely on-device, never uploading audio to a server. The tool combines a generative model (Resemble Enhance) with a texture blend and mastering chain, running locally via a CPU-only pipeline that processes audio at roughly 2.5x real time on Apple Silicon. CrispVoice is available on GitHub under an MIT license for the enhancement model. Studio-quality voice enhancement that never uploads your voice. Live demo with before/after audio: crispvoice.francium.tech https://crispvoice.francium.tech Take any voice recording - a phone memo, a laptop-mic capture, a noisy call - and get back clean, full-bodied, podcast-ready audio. Runs 100% locally: your audio never leaves your machine. Inspired by the excellent cleanvoice.ai https://cleanvoice.ai/ and tools like Adobe Podcast Enhance. They showed what is possible; this project open sources how it is done, for anyone who wants the same result without sending their voice to a server. "Studio quality" is two problems, and this pipeline solves both: Restoration - a generative model Resemble Enhance https://github.com/resemble-ai/resemble-enhance , MIT re-synthesizes the voice at 44.1 kHz, removing noise and adding back the bandwidth and body a cheap microphone never captured. Texture blend - 25% of a DeepFilterNet https://github.com/Rikorose/DeepFilterNet -denoised copy of the original is mixed back in. Re-synthesis alone sounds subtly synthetic; the blend restores the natural transients, breaths, and room decay of the real recording. This stage came out of blind A/B testing against a commercial reference and moved the quality from "processed" to "studio." Mastering - a broadcast-style ffmpeg chain: chest warmth, articulation and air EQ, de-essing, gentle 2:1 compression, and EBU R128 loudness normalization to -19 LUFS. See ARCHITECTURE.md /Francium-Tech/CrispVoice/blob/main/ARCHITECTURE.md for the full technical breakdown, including how the mastering EQ was fitted band-by-band against a commercial tool's output. Two short clips, before and after or use the players on the demo page https://crispvoice.francium.tech : | Voice | Before | After | |---|---|---| | Interview, room noise | | demo/crispvoice.mp3 /Francium-Tech/CrispVoice/blob/main/demo/crispvoice.mp3 demo/woman.m4a /Francium-Tech/CrispVoice/blob/main/demo/woman.m4a demo/woman crispvoice.mp3 /Francium-Tech/CrispVoice/blob/main/demo/woman crispvoice.mp3 Requires uv https://docs.astral.sh/uv/ and curl. Tested on macOS Apple Silicon ; Linux x86 64 should work. ~4 GB disk total. git clone https://github.com/Francium-Tech/CrispVoice.git cd CrispVoice ./setup.sh one-time: local Python + PyTorch + model weights ./enhance recording.mp3 writes recording studio.wav More options: ./enhance in.mp3 out.mp3 output format follows the extension wav/mp3/m4a ./enhance in.mp3 --preview 30 quick sample: process only the first 30 seconds ./enhance in.mp3 --nfe 32 ~2x faster, slightly lower quality default 64 ./enhance in.mp3 --blend 0.4 more natural texture default 0.25 ./enhance in.mp3 --preset natural lighter compression, more dynamics ./enhance in.mp3 --denoise-only cleanup without generative re-synthesis ./enhance in.mp3 --threads 2 use even less CPU ./enhance in.mp3 --no-master skip the mastering chain Progress, ETA, and memory usage are printed for every chunk. Private by default. No network calls after setup. Ever. Self-contained. The Python interpreter, PyTorch, model weights, and even the ffmpeg binary all live inside the project folder. Nothing is installed system-wide. ./uninstall.sh removes every trace in one go. Never hog the machine. CPU-only deliberately: on Apple Silicon the GPU shares unified memory with the OS, and PyTorch's MPS backend can exhaust it and freeze the machine - a lesson learned the hard way . Half the cores, low process priority, bounded memory via 10-second chunks. Throughput is roughly 2.5x real time on an M-series CPU: an 8-minute recording takes about 20 minutes. Speed was traded for quality; lower --nfe if you want it faster. Resemble AI https://github.com/resemble-ai/resemble-enhance for the MIT-licensed enhancement model that does the heavy lifting. cleanvoice.ai https://cleanvoice.ai/ for the inspiration and the quality bar to chase. FFmpeg https://ffmpeg.org/ for decoding, mastering, and encoding. CrispVoice is an open source project by Francium Tech https://francium.tech . MIT. Model weights are downloaded separately from ResembleAI/resemble-enhance https://huggingface.co/ResembleAI/resemble-enhance also MIT and are not part of this repository.