Aller au contenu
Tous les projets
Terminé · 2022

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
Affiche du projet : une onde sonore coupée en son milieu, sur un motif de formes d'onde

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

Schéma du traitement : le fichier WAV déposé dans la fenêtre Kivy est lu en échantillons 16 bits, les silences de plus de 400 ms sont repérés sous un seuil puis coupés en gardant une marge, et le fichier nettoyé est réécrit
La chaîne du traitement, et le détail de la détection des silences

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

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.