BarkDog 1.0, un Raspberry Pi qui tient le journal des nuisances sonores

Posté par Stéphane le Boisselier . Édité par Ysabeau 🧶. Modéré par Ysabeau 🧶. Licence CC By‑SA.
Étiquettes : aucune
13
20
oct.
2026
Matériel

BarkDog est un logiciel libre, sous licence MIT, qui transforme un Raspberry Pi et un micro USB en enregistreur de nuisances sonores. Une IA qui tourne sur la carte reconnaît aboiements, hurlements, musique ou travaux, et ne garde que les épisodes, horodatés et scellés par une empreinte SHA-256. Les voix humaines sont rendues muettes par défaut, et aucun son ne part sur Internet.

La version 1.0 vient de sortir.

Pourquoi

Quand une nuisance sonore se répète la nuit, la première chose qu’on vous demande est un relevé : quels jours, à quelle heure, combien de temps. Le tenir à la main est épuisant, et un dictaphone qui tourne toute la nuit produit des heures d’audio que personne n’écoute. BarkDog fait ce tri tout seul.

Fonctionnement

  1. Le Pi écoute en continu, à 16 kHz, avec un filtre coupe-bas contre le ronflement électrique.
  2. Toutes les demi-secondes, le modèle YAMNet de Google (521 classes de sons AudioSet, au format TensorFlow Lite) attribue un score à chaque nuisance choisie.
  3. Au-delà du seuil, un épisode commence, avec les dix secondes qui précèdent. Il se termine après un calme réglable.
  4. Le fichier WAV reçoit une chronologie par catégorie et une empreinte SHA-256, inscrite dans un journal CSV qui n’est jamais réécrit.

Tout tourne sur la carte. Un Raspberry Pi Zero 2 W suffit ; les Pi 3, 4 et 5 conviennent aussi.

Treize nuisances sont proposées (aboiements, hurlements, coqs, chats, musique, basses, travaux, pétards, tondeuses, deux-roues, alarmes, klaxons…), avec un seuil par nuisance si besoin. Des « sons à ignorer » annulent une détection quand ils dominent : les canards, par exemple, sont souvent confondus avec des aboiements.

Vie privée

Enregistrer les paroles d’autrui sans leur consentement est interdit (article 226-1 du Code pénal). Dès que l’IA entend une voix, BarkDog efface ce passage du fichier, avec de courts fondus, et le signale sur la frise. On peut aussi choisir d’écarter complètement un épisode composé surtout de parole.

La page web

Une page en Python pur, sans framework, sert de tableau de bord depuis un téléphone :

  • écoute de chaque épisode, avec une frise par catégorie et des boutons pour sauter au bon moment ;
  • journées repliables, filtres jour ou nuit, graphique par jour, exports CSV ;
  • annotations (faux positif, notes) stockées à part, corbeille ;
  • mode test qui affiche les scores de l’IA en direct, pour régler les seuils sans rien enregistrer ;
  • interface en français et en anglais.

Côté sécurité : mot de passe haché en PBKDF2, sessions signées, protection anti-CSRF, CSP stricte, services systemd cloisonnés (l’enregistreur n’a même pas accès au réseau). La page est prévue pour le réseau local ou un VPN, pas pour une exposition directe sur Internet.

Ce que ce n’est pas

Les niveaux sont relatifs et le micro n’est pas calibré : ce n’est pas un sonomètre, et le journal ne remplace pas un constat de commissaire de justice. C’est un outil pour objectiver la répétition et les horaires, et pour arriver devant un conciliateur ou un propriétaire avec autre chose qu’une impression.

Installation

Sur Raspberry Pi OS 64 bits, avec un micro USB :

git clone https://gitlab.com/lbstephane/barkdog.git ~/barkdog
cd ~/barkdog && ./install.sh

Le script installe les dépendances et le modèle, règle l’heure, demande le mot de passe de la page et crée les deux services.

Contribuer

Le développement se fait sur GitLab, avec un miroir sur GitHub. Les retours, tickets et contributions sont les bienvenus, en particulier sur les micros qui fonctionnent bien en extérieur et sur la qualité de détection selon les environnements.

Aller plus loin

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.