Files
wiki/Catalogue-Self-Hosted/apps/app-fast-music-remover.md
T
2026-06-09 18:40:21 +02:00

123 lines
6.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Fast Music Remover
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, music, audio, dsp, ai, cpp, python, docker]
confidence: high
contested: false
sources:
- https://selfh.st/apps/?tag=Music+Streaming
- https://github.com/omeryusufyagci/fast-music-remover
- https://github.com/omeryusufyagci/fast-music-remover/pkgs/container/fast-music-remover
---
# 🎤 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](https://github.com/omeryusufyagci/fast-music-remover) |
| **GitHub** | [https://github.com/omeryusufyagci/fast-music-remover](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é)
```yaml
# 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)
```bash
# 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/ffmpeg` sous Linux, `/opt/homebrew/bin/ffmpeg` sur macOS Apple Silicon)
- `filter_strength` : entier 010 réglant l'agressivité du modèle DeepFilterNet
- `output_format` : `mp3`, `wav`, `flac` (le défaut suit l'entrée)
- `keep_video` : `true` pour réinjecter l'audio nettoyé dans la vidéo d'origine
- `max_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** (abon­nement), **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.1` ou 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 `./data` sur un volume persistant (sinon les fichiers traités sont perdus à chaque redémarrage).
- Pensez à un `quota` disque sur `./data` (tâches `logrotate`/`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
- [Dépôt GitHub](https://github.com/omeryusufyagci/fast-music-remover)
- [Image GHCR officielle](https://github.com/omeryusufyagci/fast-music-remover/pkgs/container/fast-music-remover)
- [DeepFilterNet (moteur IA)](https://github.com/Rikorose/DeepFilterNet)
- [Demucs (Meta)](https://github.com/facebookresearch/demucs)
- [Spleeter (Deezer)](https://github.com/deezer/spleeter)
## 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)