6.6 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Fast Music Remover | 2026-06-07 | 2026-06-07 | app |
|
high | false |
|
🎤 Fast Music Remover
Outil libre (C++ + Python) qui supprime en quelques secondes les voix et le bruit de fond d'un fichier audio ou vidéo, basé sur DeepFilterNet et exposé via une mini web UI Flask.
| Métadonnée | Valeur |
|---|---|
| Site web | github.com/omeryusufyagci/fast-music-remover |
| GitHub | https://github.com/omeryusufyagci/fast-music-remover |
| License | MIT |
| Langage | C++ (72.2 %), Python (8.7 %), CMake, JavaScript |
| Étoiles | ≈717 ⭐ (51 sur selfh.st/apps) |
| Dernière MAJ | 2026-05 (builds GHCR actifs) |
| Catégorie | cat-music |
Description
Fast Music Remover est un utilitaire de nettoyage audio dont la promesse est limpide : « Take control of the media you consume every day ». Concrètement, le projet combine un MediaProcessor C++ (cœur DSP, extraction + filtrage) avec un backend Flask (Python) et un frontend web minimaliste. L'algorithme repose sur DeepFilterNet, un réseau de neurones convolutif de référence pour la séparation de la voix et du bruit (stateful RNN multi-frame), déjà utilisé dans des projets comme Krisp et Adobe Enhance Speech. Le tout est exposé sous forme d'application conteneurisée avec une image officielle sur ghcr.io.
Cas d'usage typiques : retirer la musique de fond d'un podcast ou d'une vidéo YouTube pour ne garder que la voix (karaoké inversé), nettoyer le bruit ambiant d'un enregistrement voix off amateur, ou normaliser la parole d'un replay TV. Le pipeline accepte des fichiers locaux (audio ou vidéo via FFmpeg) ou une URL (YouTube, médias en ligne) : l'URL est téléchargée, démultiplexée, l'audio passe dans le MediaProcessor, puis est ré-encodée dans le format d'origine.
L'API du projet est volontairement simple : POST d'un fichier ou d'une URL, paramètre filter_strength (ajouté récemment, PR #82) pour doser l'intensité du filtrage. Le projet est jeune (6 contributeurs, 102 commits, 11 branches), encore en « pre-release » (aucune release GitHub taguée), mais déjà utilisable en daily driver pour des traitements courts.
Installation
Docker (recommandé)
# docker-compose.yml
services:
fast-music-remover:
image: ghcr.io/omeryusufyagci/fast-music-remover:latest
container_name: fast-music-remover
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
environment:
- PYTHONUNBUFFERED=1
Lancement : docker compose up -d, puis ouvrir http://localhost:8080, soumettre une URL ou un fichier .mp3/.wav/.mp4, patienter (le premier traitement télécharge les modèles DeepFilterNet, ~100 Mo). Pour builder en local : docker compose up --build.
Installation manuelle (Linux)
# Dépendances
sudo apt install -y ffmpeg cmake g++ libsndfile1-dev nlohmann-json3-dev python3-pip
# Clone + Python deps
git clone https://github.com/omeryusufyagci/fast-music-remover.git
cd fast-music-remover
pip install -r requirements.txt
# Compilation du MediaProcessor
cd MediaProcessor
mkdir build && cd build
cmake ..
make -j$(nproc)
cd ../..
# Lancement
python3 app.py
Sous macOS, mettez à jour config.json avec "ffmpeg_path": "/opt/homebrew/bin/ffmpeg".
Configuration
config.json (racine du projet) expose les options principales :
ffmpeg_path: chemin absolu de FFmpeg (/usr/bin/ffmpegsous Linux,/opt/homebrew/bin/ffmpegsur macOS Apple Silicon)filter_strength: entier 0–10 réglant l'agressivité du modèle DeepFilterNetoutput_format:mp3,wav,flac(le défaut suit l'entrée)keep_video:truepour réinjecter l'audio nettoyé dans la vidéo d'originemax_duration: durée max acceptée (sécurité anti-abus, défaut 30 min)
Le port HTTP se règle via FLASK_PORT (défaut 8080). Les variables PYTHONUNBUFFERED=1 et LOG_LEVEL aident au debug dans Docker.
Alternatives
Open Source : app-mazanoke (compression média self-hosted), app-music-grabber (autre utilitaire audio), UVR (Ultimate Vocal Remover, Python/GUI desktop), MVSEP (online), Demucs (Meta, CLI Python), Spleeter (Deezer, 2stems/4stems/5stems), lalal.ai (CLI Python), DeepFilterNet (le moteur seul, CLI Rust), Krisp (propriétaire freemium). Pour du simple débruitage sans séparation : app-koetora n'existe pas, mais RNNoise (C) est un classique.
Propriétaire (que cette app remplace) : Lalal.ai (≈15 € pour 90 min), Vocalremover.org (abonnement), Media.io Vocal Remover, Adobe Podcast Enhance Speech (gratuit mais cloud Adobe), Audo.ai, Spleeter Pro, iZotope RX (DAW, plusieurs centaines d'euros). L'avantage de Fast Music Remover est de tourner localement (pas d'upload sur un cloud tiers) et d'être MIT, donc intégrable dans des workflows audio maison.
Sécurité
- Exposez l'UI sur
127.0.0.1ou derrière un reverse proxy authentifié : le service peut consommer beaucoup de CPU sur de longs fichiers. - Le backend Flask n'a pas d'authentification intégrée : ne l'ouvrez jamais tel quel sur Internet, sinon n'importe qui peut saturer votre CPU avec un fichier de 10 Go.
- Montez
./datasur un volume persistant (sinon les fichiers traités sont perdus à chaque redémarrage). - Pensez à un
quotadisque sur./data(tâcheslogrotate/clean.sh). - Mettez à jour l'image régulièrement : DeepFilterNet évolue et corrige des artefacts.
- Le projet est jeune, donc à ne pas mettre en frontal critique sans audit du code Python.
Ressources
Pages Liées
- cat-music — Catégorie Music
- recettes-docker-compose — Templates Docker Compose
- securisation-home-lab — Reverse proxy + quotas CPU
- app-mazanoke — Compression média (autre utilitaire audio)