voice-engine / ec

Echo Canceller, part of Voice Engine project
GNU General Public License v3.0
246 stars 70 forks source link

Detailed instructions? #5

Closed rdehuyss closed 5 years ago

rdehuyss commented 5 years ago

Hi,

I also think this may be an excellent project but I'm also missing some more detailed instructions.

I'm trying to setup Echo Cancellation for DoorPi.

The DoorPi project uses ALSA. I copied the asound.conf as specified. However, for the Doorpi project, I need to configure my device as follows: the result from the command cat /proc/asound/cards | grep ]: | sed 's/.* - //' should be entered. What is the link with asound.conf?

Thanks in advance, Ronald

xiongyihui commented 5 years ago

In https://github.com/voice-engine/ec/blob/master/asound.conf, the output of echo cancellation is set as the default ALSA input device. No sure why do you need to get the device from /proc/asound/cards

rdehuyss commented 5 years ago

Ok, you pointed me in the right direction, thx!

However, when doing a VOIP call using linphone where I want to configure this EC, it works for playing the dial-tone but afterwards, there isn't any sound.

The logs are as follows:

pi@raspberrypi:~/projects/ec $ ./ec -i plughw:0 -o plughw:0 -s
Running... Press Ctrl+C to exit
skip frames 0
default pipe size: 65536
new pipe size: 8192
playback filled 1126 bytes zero
Enable AEC
playback filled 32 bytes zero
playback filled 64 bytes zero
playback filled 192 bytes zero
playback filled 32 bytes zero
playback filled 282 bytes zero
No playback, bypass AEC
Enable AEC
playback filled 1696 bytes zero
No playback, bypass AEC

Any idea why this is happening?

xiongyihui commented 5 years ago

It seems your playback is underrun. When playback data is not enough, it will be filled with zeros.