Electronique > Réalisations > Affichage / Mesure > Compteur-indicateur tempo 001b (BPM) - Pro

Dernière mise à jour : 28/01/2024

Présentation

Ce montage, grand frère de mon compteur-indicateur de tempo 001, a été spécialement étudié pour un batteur. Comme son ancètre, il permet d'afficher en temps réel le tempo d'une activité rythmique, au format BPM (Beats Per Minute ou Battements Par Minute)... mais d'une manière qui colle mieux aux variations de jeu d'un musicien.

compteur_tempo_001b_pcb_3d_front

Cette nouvelle version est plus précise et plus efficace que la précédente. Elle incorpore l'électronique de traitement audio pour le branchement direct d'un microphone (dynamique ou électret) ou d'un capteur piézo. Le circuit est ainsi capable de travailler en toute autonomie, avec un transducteur placé sur un fût (captation de vibrations) ou à côté (captation d'ondes acoustiques).
Le système est basé sur un microcontrôleur PIC d'entrée de gamme et donc de coût réduit. L'afficheur est de type LED "grand format" (hauteur chiffres de 14 mm) pour une visibilité parfaite même à un ou deux mètres de distance.

   

Avertissement

Par rapport à la version précédente, le logiciel du PIC a été adapté pour permettre un affichage stable quand surviennent en cours de jeu des "doubles coups", "contre-temps" ou "silences" (détails dans le texte). Le procédé mis en oeuvre fonctionne correctement en mode "manuel" ou "microphone" (prototype terminé et testé), mais des essais pratiques avec un batteur restent nécessaires pour la validation finale. 

   

Schéma

Le schéma est basé sur celui du (vieux) compteur / indicateur de tempo 001, auquel quelques modifications ont été apportées. Le bon vieux PIC 16F628A d'origine a été remplacé, ses ressources s'avéraient en effet insuffisantes pour implémenter les nouvelles fonctions.
    
compteur_tempo_001b
Schéma volontairement embrouillé
   
Principe de fonctionnement

Le logiciel du PIC mesure le nombre d'impulsions écoulées entre deux tops de marquage. Ces tops peuvent être produit manuellement avec un bouton-poussoir, ou être captés par un transducteur (microphone dynamique, électret ou piezo). La fréquence des impulsions de comptage est de 1 kHz et la résolution d'affichage est de +/-1 point (un tempo de 240 sera dans le pire des cas affiché 239 ou 241).

Je n'ai pas changé le principe du calcul : mille impulsions d'horloge sont produites par seconde, soit 60000 par minute :
- avec un rythme de 2 battements par seconde => 1000 / 2 = 500 impulsions entre chaque battement => BPM = 60000 / 500 = 120
- avec un rythme de 5 battements par seconde => 1000 / 5 = 200 impulsions entre chaque battement => BPM = 60000 / 200 = 300

Le système est doté d'un réglage de sensibilité (taux d'amplification du préampli micro/piezo) et d'un réglage de seuil de détection. Pour réduire les risques de "double détection sur un coup unique", deux filtres ont été mis en oeuvre, un au niveau matériel et un au niveau logiciel. L'affichage peut être mis à jour instantanément (interval entre les deux derniers tops) ou après moyennage des quatre dernières valeurs.

   
Gestion des "silences" et "coups double"

Si l'indication d'une valeur de tempo est assez facile à mettre en oeuvre quand les battements détectés sont réguliers (à la noire), il n'en est pas de même quand un "coup double" (croche) ou un "temps mort" (blanche) survient en plein milieu d'une séquence. C'est précisément là que l'informatique (logiciel embarqué) peut montrer sa puissance, et le présent indicateur de tempo gère ce type de problématique.

Si un "coup double" survient subitement alors que précédement quatre battements à la noire ont été reçus, alors le logiciel du PIC ne prend pas en compte le deuxième coup du "coup double". Il faut au moins quatre coups espacés à peu près régulièrement (+/-20%) pour que le système comprenne que le rythme global a changé. Un "contre-temps" est géré de manière similaire.

Il en va de même pour les "silences temporaires". Si un silence est détecté entre deux coups après au moins quatre coups considérés comme "rythme stable", alors le logiciel du PIC travaille "en roue libre" durant ce laps de temps silencieux et se resynchronise automatique au coup suivant, sans changer la valeur de tempo actuellement affichée.

Le graphe qui suit montre différentes situations d'évolution du rythme (les nombres en bleu correspondent à la valeur de tempo affichée) :

A - le rythme reste stable (détection 120 BPM après 4 coups)
B - au cours d'un rythme stable (120 BPM), un "double coup" est détecté et ignoré
C - au cours d'un rythme stable (120 BPM), un "silence" est détecté et ignoré
D - au cours d'un rythme stable (120 BPM), un "contre-temps" est détecté et ignoré
E - un rythme stable (240 BPM) succède à un rythme stable (120 BPM)

   
compteur_tempo_001b_graphe_001a

Remarques :

   

Logiciel du PIC

Pro - Logiciel non disponible en libre service.

  

Prototype

Réalisé selon implantation des composants sur PCB visible ci-après.
   
compteur_tempo_001b_proto_rm_001b compteur_tempo_001b_proto_rm_001c  

Circuit testé avec succès, avec capsule électret ("poum, poum, poum...") et avec bouton-poussoir (tap, tap, tap...).
Reste à valider en condition terrain avec un (vrai) batteur.

   

Circuit imprimé (PCB)

Réalisé en double face.
 
compteur_tempo_001b_pcb_3d_components_top

Ce circuit n'emploie que des composants traversants (pas de CMS).

   

Historique

28/01/2024
- Ajout photos prototype.

14/01/2024
- Première mise à disposition.