Electronique > Réalisations > Effets > Delay (réverbération/écho) 002

Dernière mise à jour : 13/08/2023

Présentation

Cette unité de réverbération est de type numérique, le retard appliqué au signal entrant est assuré par des cellules mémoire numériques.

delay_002_pcb_3d_front 
   
Le tout est basé sur un microcontrôleur PIC d'entrée de gamme qui intègre un convertisseur analogique numérique, la mémoire vive (requise pour le décalage dans le temps) et un convertisseur numérique analogique. Le montage est incroyablement simple et ne fait usage d'aucun composant spécialisé de type BBD (Bucket Brigade Device). Le retard maximal entre deux répétitions est de 100 ms, le montage permet donc d'obtenir un effet de révérbération ou d'écho rapide.

   

Avertissements

La section numérique ne possède que 8 bits de résolution. Ce montage ne bénéficie pas de la haute qualité sonore offerte par les systèmes haut de gamme et ne peut prétendre leur faire concurence. Il s'agit bien d'un montage d'initiation très simple à réaliser qui permet de mettre en évidence un phénomène de réverbération ou écho rapide obtenu par retard (delay) et rebouclage (feedback) d'un signal audio.  L'inconvénient avec ce montage - si on peut appeler cela un inconvénient, est qu'il faut programmer le microcontrôleur (programme mis à disposition gratuite).

L'entrée et la sortie se font en niveau ligne. Microphone et guitare non compatibles.

   

Schéma 002

Ce montage très simple pourrait être davantage simplifié, mais il ne faut tout de même pas pousser le bouchon trop loin...

delay_002
   
Principe de fonctionnement
Le signal audio (analogique) auquel on souhaite appliquer un retard est en premier lieu numérisé grâce à un CAN (convertisseur analogique numérique). Ce procédé consiste à échantillonner (prendre des échantillons à intervalles réguliers) du signal audio qui est discontinu (il y a toujours une tension, nulle en absence de son). La résolution permise par le CAN du PIC est de 10 bits ou 12 bits. L'utilisation de la résolution 12 bits implique un temps trop long et pour cette raison la résolution de 10 bits est préférée. Toutefois, comme le CNA (convertisseur numérique analogique) qui sera utilisé par la suite possède une résolution de 8 bits seulement, les 2 bits de poids faible obtenus lors de la numérisation sont tronqués.

Chaque échantillon (morceau de son) est placé dans un espace de mémoire vive composée d'un grand nombre de cellules. Ces échantillons stockés dans un format de 8 bits ressortent après un certain temps (delay) et on les retrouve sous forme analogique grâce au CNA intégré dans le PIC. 

Le signal audio retardé peut être réinjecté à l'entrée de l'unité de retard (feedback) afin de créer des répétitions. Sans ce rebouclage, on obtient un seul écho.

Remarque : le rebouclage peut se faire soit dans le domaine numérique (pas de perte de qualité au fil des rebouclages) soit dans le domaine analogique (avec perte de qualité au fil des rebouclages). Ici, c'est la seconde solution qui est adoptée pour des questions de simplicité. Précisons que la notion de "sans perte de qualité" est discutable, car dans la réalité, les "bouclages naturels" (répétitions successives sur des parois réelles) provoquent un signal retardé qui se "dégrade" au fil des répétitions, puisque le signal réfléchi subit une modification de sa composition spectrale (propre au matériaux provoquant la réflexion du son).

L'amplitude du signal réinjecté détermine la durée de l'effet (réverbération ou écho) : 
- Avec un signal réinjecté d'amplitude inférieure au signal d'entrée, on observe une décroissance progressive de l'effet. 
- Avec un signal réinjecté d'amplitude identique au signal d'entrée, l'effet est permanent (les échos ne s'arrêtent jamais).
- Avec un signal réinjecté d'amplitude supérieure au signal d'entrée, on observe une croissance progressive de l'effet allant jusqu'à saturation (et là aussi les échos ne s'arrêtent jamais). 
Dans la très grande majorité des cas, on exploite la première façon de faire.

   
Un peu de théorie...
Avec un délay numérique, le temps de retard dépend de deux paramètres :
- nombre de cellule de retard
- temps mis par un échantillon pour passer d'une cellule de retard à l'autre

Supposons qu'il y ait 1000 cellules de retard et que le temps écoulé pour passer de l'une à l'autre est de 100 us (0,1 ms). Dans ce cas, le temps mis pour parcourir les 1000 cellules est de 100 ms.

Si la taille mémoire (nombre de cellules de retard) est très limitée, on peut envisager de réduire le temps de passage d'une cellule à l'autre. Le cadencement étant défini par la fréquence d'échantillonnage, on constate immédiatement qu'une fréquence d'échantillonnage basse permet de rallonger la durée du retard... mais au détriment de la bande passante globale. Le théorème de Shannon/Niquist stipule en effet que la fréquence d'échantillonnage doit être supérieure à deux fois la fréquence maximale du signal audio à traiter. Une fréquence d'échantillonnage minimale de 40 kHz est donc requise si on veut passer la bande audio jusqu'à 20 kHz. Or, une fréquence de 40 kHz correspond à une période de 25 us. Avec 1000 cellules de retard, cela permet un retard maximal de 25 ms.

Dans le présent montage, j'ai réservé un espace mémoire de 2000 cellules et ai adopté une fréquence d'échantillonnage voisine de 40 kHz, non pas pour passer la pleine bande audio, mais pour limiter le risque de repliement de spectre audible (qui se produit quand la fréquence du signal audio entrant est supérieure à la moitié de la fréquence d'échantillonnage, donc ici supérieure à 20 kHz). Voilà qui explique la durée de retard maximale de 50 ms. Ceci dit, vous noterez la présence de l'interrupteur SW4/Range qui quand il est fermé réduit la fréquence d'échantillonnage à 20 kHz et permet donc de doubler la durée du retard... au détriment de la bande passante et d'un risque de repliement de spectre plus élevé. Mais j'insiste, un montage d'expérimentation est fait pour... expérimenter.

Descriptif du schéma
Le schéma est composé de trois parties :

Idéalement, il faudrait :
- ajouter à l'entrée (avant conversion A/N) un filtre passe-bas pour éviter le rempliement de spectre (qui se produit si la fréquence du signal entrant est supérieure à la moitié de la fréquence d'échantillonnage). Ce filtre devrait posséder une fréquence de coupure Fc adaptée au réglage de la fréquence d'échantillonnage Fe (SW4/Range), avec Fc = 20 kHz pour Fe = 40 kHz et Fc = 10 kHz pour Fe = 20 kHz. La pente de ce filtre devrait en outre être très élevée, au minimum d'ordre 4 (-24 dB/octave)
- disposer d'un nombre accru de cellules de retard en adoptant un microcontrôleur "plus consistant" (PIC32 ou autre)
- ajouter en sortie (après conversion N/A) un filtre passe-bas plus efficace pour réduire davantage le résidu de fréquence d'échantillonnage. Ces idéaux ne sont pas suivis ici, rappelons qu'il s'agit d'un montage d'initiation...

Les différents réglages sont les suivants :


Les graphes suivant illustrent le phénomène, avec trace verte (A) pour le signal entrant dans la ligne à retard et trace rouge (B) pour le signal qui en sort. Le premier graphe montre un signal test de durée 50 ms, tandis que le second montre deux sons percussifs réels. On remarque bien les répétitions qui s'atténuent au fil du temps.
   
delay_002_graphe_001a delay_002_graphe_002a
   
Alimentation
L'alimentation doit être de type simple de valeur +5V, comme celle décrite à la page Alimentation simple 001.

Remarque : les règles de l'art imposent normalement une distribution parfaitement maîtrisée et séparée des lignes d'alimentation pour les sections analogiques et numériques. Ici, les convertisseurs A/N et N/A sont intégrés au PIC et ce dernier ne dispose pas de broches d'alimentation séparées, on simplifie donc au maximum en utilisant une alimentation unique, ce qui n'empêche pas de devoir limiter les boucles de masses et autres routages inadéquats.

   

Logiciel du PIC

Fichier binaire compilé *.hex (à flasher dans le PIC) dans l'archive zip dont le lien suit.
Delay 002 - 16F1788 - (12/08/2023)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

   

Prototype

En cours de réalisation. PCB réalisé, en attente de réception.

    

Circuit imprimé (PCB)

Réalisation en double face.
   
delay_002_pcb_components_top
   
Dessin du circuit imprimé (PCB) - 11/08/2023

   

Historique

13/08/2023
- Première mise à disposition.