VAD从侦听模式切换到说话模式

时间:2023-01-16 12:01:16

I am attempting to turn my four-wire apartment buzzer into a VOIP phone using a raspberry pi and a custom circuit. The problem is that two way communication is not supported. I can either be listening or speaking. I want to use a standard SIP setup with asterisk, but do VAD on the sound output of the raspberry pi in order to send a digital signal switching the intercom to "speak mode" whenever there is a voice on the audio output. Is there any pre-existing c function or include that listens to the ALSA mixer and throws a 1 for speech and a 0 for absence of speech with sufficiently low latency to be used in this walkie-talkie like system?

我正试图将我的四线公寓蜂鸣器变成一个使用树莓派和定制电路的VOIP手机。问题是不支持双向通信。我可以是听或说。我想使用带星号的标准SIP设置,但是在覆盆子pi的声音输出上做VAD,以便在音频输出上有声音时发送将对讲机切换到“说话模式”的数字信号。是否存在任何预先存在的c函数或包含,它会监听ALSA混音器并为语音抛出1而对于缺少语音而言为0且具有足够低的延迟以用于此类对讲机系统?

Once again, I would prefer pre-existing libraries, and because this is live, low latencies.

再一次,我更喜欢预先存在的库,因为这是实时的,低延迟。

1 个解决方案

#1


0  

ALSA is a simple audio mixer, and it's interface only consists of mixer-related methods. It's meant to abstract away the hardware driver. What you will be able to do is get the audio data from ALSA is real time, however you will need to implement your own voice activity detection.

ALSA是一个简单的音频混音器,它的接口只包含与混音器相关的方法。这意味着抽象出硬件驱动程序。您可以做的是从ALSA获取音频数据是实时的,但是您需要实现自己的语音活动检测。

This question on Signal Processing SE has a few good suggestions for libraries and codec implementations to get you started.

关于信号处理SE的这个问题对于库和编解码器实现有一些很好的建议,可以帮助您入门。

#1


0  

ALSA is a simple audio mixer, and it's interface only consists of mixer-related methods. It's meant to abstract away the hardware driver. What you will be able to do is get the audio data from ALSA is real time, however you will need to implement your own voice activity detection.

ALSA是一个简单的音频混音器,它的接口只包含与混音器相关的方法。这意味着抽象出硬件驱动程序。您可以做的是从ALSA获取音频数据是实时的,但是您需要实现自己的语音活动检测。

This question on Signal Processing SE has a few good suggestions for libraries and codec implementations to get you started.

关于信号处理SE的这个问题对于库和编解码器实现有一些很好的建议,可以帮助您入门。