Silence Remover
Application Python qui retire automatiquement les silences d'un enregistrement WAV, en gardant les pauses naturelles de la parole.
- Année
- 2022
- Cadre
- Algorithmes et traitement de données
- Technologies
- Python
- Traitement du signal
- Matplotlib
01 · Contexte
Le défi
Projet personnel de traitement du signal, sans bibliothèque audio externe : le fichier WAV est lu octet par octet et converti à la main en échantillons 16 bits, analysé, puis recomposé sans ses silences. Une petite fenêtre Kivy permet de déposer le fichier à traiter.
02 · Architecture
Comment c'est construit
Les points clés
- Lecture et écriture du WAV à la main : les octets sont convertis en échantillons 16 bits signés, puis l'inverse
- Silences repérés par un seuil sur le signal normalisé, seulement au-delà de 400 ms pour garder les pauses naturelles de la parole
- Petits bruits parasites (6 ms au plus) fusionnés dans le silence qui les entoure, et 100 ms de marge gardées autour de chaque coupe
- Réglage des seuils en visualisant le signal et les zones détectées avec Matplotlib
03 · En images
Galerie

Le principe : les silences repérés sous le seuil sont retirés et le son est recollé 
La fenêtre de l'application, en attente d'un fichier 
Le fichier nettoyé est écrit à côté de l'original 
Le réglage avec Matplotlib : seuils de silence et zones retirées
Cliquer sur une image l'ouvre en plein écran, avec navigation entre les captures.
04 · Bilan
Ce que j'en retire
Ce projet personnel m'a fait découvrir Kivy et a créé mon intérêt pour le scripting. Depuis, j'aime bien concevoir de petits scripts Python pour automatiser les petites tâches répétitives du quotidien sur un ordinateur.