{"slug": "show-hn-crispvoice-studio-voice-enhancement-that-never-uploads-your-voice", "title": "Show HN: CrispVoice – Studio voice enhancement that never uploads your voice", "summary": "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.", "body_md": "**Studio-quality voice enhancement that never uploads your voice.**\n\nLive demo with before/after audio: [crispvoice.francium.tech](https://crispvoice.francium.tech)\n\nTake 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.\n\nInspired by the excellent [cleanvoice.ai](https://cleanvoice.ai/) and tools\nlike Adobe Podcast Enhance. They showed what is possible; this project open\nsources *how* it is done, for anyone who wants the same result without\nsending their voice to a server.\n\n\"Studio quality\" is two problems, and this pipeline solves both:\n\n**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.\n\nSee [ARCHITECTURE.md](/Francium-Tech/CrispVoice/blob/main/ARCHITECTURE.md) for the full technical breakdown,\nincluding how the mastering EQ was fitted band-by-band against a commercial\ntool's output.\n\nTwo short clips, before and after (or use the players on the\n[demo page](https://crispvoice.francium.tech)):\n\n| Voice | Before | After |\n|---|---|---|\n| Interview, room noise |\n|\n\n[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\n(Apple Silicon); Linux x86_64 should work. ~4 GB disk total.\n\n```\ngit clone https://github.com/Francium-Tech/CrispVoice.git\ncd CrispVoice\n./setup.sh                    # one-time: local Python + PyTorch + model weights\n./enhance recording.mp3       # writes recording_studio.wav\n```\n\nMore options:\n\n```\n./enhance in.mp3 out.mp3          # output format follows the extension (wav/mp3/m4a)\n./enhance in.mp3 --preview 30     # quick sample: process only the first 30 seconds\n./enhance in.mp3 --nfe 32         # ~2x faster, slightly lower quality (default 64)\n./enhance in.mp3 --blend 0.4      # more natural texture (default 0.25)\n./enhance in.mp3 --preset natural # lighter compression, more dynamics\n./enhance in.mp3 --denoise-only   # cleanup without generative re-synthesis\n./enhance in.mp3 --threads 2      # use even less CPU\n./enhance in.mp3 --no-master      # skip the mastering chain\n```\n\nProgress, ETA, and memory usage are printed for every chunk.\n\n**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`\n\nremoves 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`\n\nif you want it faster.)\n\n[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.\n\nCrispVoice is an open source project by [Francium Tech](https://francium.tech).\n\nMIT. Model weights are downloaded separately from\n[ResembleAI/resemble-enhance](https://huggingface.co/ResembleAI/resemble-enhance)\n(also MIT) and are not part of this repository.", "url": "https://wpnews.pro/news/show-hn-crispvoice-studio-voice-enhancement-that-never-uploads-your-voice", "canonical_source": "https://github.com/Francium-Tech/CrispVoice", "published_at": "2026-07-26 13:25:30+00:00", "updated_at": "2026-07-26 13:52:48.194089+00:00", "lang": "en", "topics": ["ai-tools", "generative-ai"], "entities": ["Francium Tech", "CrispVoice", "Resemble Enhance", "DeepFilterNet", "cleanvoice.ai", "Adobe Podcast Enhance", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/show-hn-crispvoice-studio-voice-enhancement-that-never-uploads-your-voice", "markdown": "https://wpnews.pro/news/show-hn-crispvoice-studio-voice-enhancement-that-never-uploads-your-voice.md", "text": "https://wpnews.pro/news/show-hn-crispvoice-studio-voice-enhancement-that-never-uploads-your-voice.txt", "jsonld": "https://wpnews.pro/news/show-hn-crispvoice-studio-voice-enhancement-that-never-uploads-your-voice.jsonld"}}