Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de possibilités de programmation. Une des fonctionnalités les plus intéressantes est la possibilité de programmer le pcDuino pour détecter des sons. Cet article expliquera comment programmer le pcDuino pour détecter un bruit spécifique et comment l’utiliser pour créer des applications audio intéressantes.
Programmer le pcDuino : Audio : Détecter un bruit.
Ce que l’on va faire ici
- Dans ce code, je montre comment pyduino permet de détecter simplement un bruit à l’aide d’un simple micro de webcam grâce à la fonction waitSound() qui permet notamment de fixer le seuil sonore de détection.
- Couplée à d’autres fonctions Pyduino (capture d’image, envoi de mail, …), cette fonction pourra s’avérer particulièrement utile.
Pré-requis
- un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
- Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
- ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
- les dépendances de la librairie pyDuino Multimédia installées : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
Schéma fonctionnel
- L’entrée audio simple permet de détecter un son :
Matériel nécessaire
Système
- Le pcDuino
- Une entrée audio opérationnelle :
- le micro intégré d’une webcam (le plus simple)
- une carte audio USB avec entrée audio et un micro
E/S
- aucun matériel
Instructions de montage
- Simplement connecter le micro (ou la webcam) au mini-PC :
Le montage à réaliser
Le fichier *.py
Copier/coller ce code dans l’éditeur Geany :
# -*- coding: utf-8 -*-
# exemple pyDUino – par X. HINAULT – www.mon-club-elec.fr
# Aout 2013 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino
# test WaitSound
from pyduinoMultimedia import * # importe les fonctions Arduino pour Python + Multimedia
# entete declarative
#— setup —
def setup():
return # si vide
# — fin setup —
# — loop —
def loop():
Serial.println(« Ecoute bruit… « )
#waitSound() # attend un son… fonction bloquante – seuil detection par defaut = 10% pendant 0.1sec
waitSound(25,0.1) # attend un son… fonction bloquante – seuil detection 25% pendant 0.1sec
Serial.println(« Detection de bruit ! Il est « + nowtime(« : »))
# lancer simultanement <pulse audio volume control> et regler les niveaux si besoin
# — fin loop —
#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
setup() # appelle la fonction main
while not noLoop: loop() # appelle fonction loop sans fin
Ce code est également disponible ici : https://github.com/sensor56/pyduino-exemples/blob/master/Audio/WaitSound.py
Utilisation
- Connecter le micro (le plus simple = une webcam avec micro-intégré)
- Vérifier les niveaux de son au préalable avec Audacity
- Appuyer sur le bouton exécuter dans Geany
- Une fenêtre de Terminal doit apparaître : un message indique alors que le programme écoute un bruit
- Ouvrir, si vous voulez visualiser l’entrée audio sous forme graphique, le <pulse audio volume control> depuis le menu graphique « Sons et Vidéos » : placez vous dans l’onglet « recording ». Sélectionner la bonne entrée audio si besoin : vous devez alors voir le niveau son varier
- Si un bruit suffisamment fort est détecté, un message l’indique dans le Terminal.

Discussion technique
- Un niveau sonore de l’ordre 20% donne de bon résultats sur un clap des mains.
Articles similaires:
- Programmer le pcDuino : Audio : Enregistrer un fichier son.
- Programmer le pcDuino : Python simple : Entrée numérique : Détecter l’appui sur un bouton poussoir
- Programmer le pcDuino : Voix : Tester la reconnaissance vocale (en mode connecté) !
- Programmer le pcDuino : Python simple : Le code minimum
- Programmer le pcDuino : Audio : Lire un fichier son.
Articles Liés
- Programmer le pcDuino : Python simple : ...
Le pcDuino est un système informatique open source qui offre aux développeurs une plateforme puissante…
- Javascript : Graphique Dygraphs simple
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…
- Javascript :Graphique Dygraphs simple avec timeline
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…