Bonjour,

Je suis en train de réaliser un système basique d'interphonie avec 2 raspberry + 2 micros + 2 HP + 2 boutons + 2 led. Raspberry connectés en ethernet.

Principe : quand j'appuie sur un bouton, les led s'allument, la communication se fait avec l'autre raspberry et arecord récupère l'audio des micros pour les émettre sur les HP des autres raspberry (principe de l'interphone quoi). Bref, tout ça fonctionne mais j'ai comme un problème de larsen et je ne sais pas trop comment l'atténuer voir le supprimer. J'utilise arecord et aplay. J'ai fait quelques optimisations sur alsamixer afin de réduire l'acquisition du micro, mais il y a peut être d'autres éléments à toucher, éléments que je ne connais peut être pas.

Merci pour vos conseils.

Voici le code raspberry :

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import RPi.GPIO as gpio
import time
import os
 
gpio.setmode(gpio.BCM) 
gpio.setup(23, gpio.OUT) 
gpio.setup(24, gpio.IN, pull_up_down = gpio.PUD_DOWN)
 
gpio.output(23,gpio.HIGH)
time.sleep(2)
gpio.output(23,gpio.LOW)
 
print("programme streamaudio en cours")
 
while True: 
        etat = gpio.input(24)
        time.sleep(0.4)
 
        if (etat == 1):
                print("bouton d appel enclenche")
 
		i = 0
                for i in range (5):
                        gpio.output(23, gpio.HIGH)
                        time.sleep(0.5)
                        print("high")
                        gpio.output(23, gpio.LOW)
                        time.sleep(0.5)
                        print("low")
 
 
		gpio.output(23, gpio.HIGH)
		print("debut de la communication")
		os.system('arecord --quiet --duration=20 --format=S16_LE --rate=16000 | ssh 10.0.2.3 aplay --duration=20 --format=S16_LE --rate=8000')
		gpio.output(23, gpio.LOW)
		print("fin de communication")