Python 使用WebRTC语音活动检测器(VAD)检测来自Websockets流化的VOIP的实时音频

Python 使用WebRTC语音活动检测器(VAD)检测来自Websockets流化的VOIP的实时音频,python,websocket,webrtc,voip,live-streaming,Python,Websocket,Webrtc,Voip,Live Streaming,我正在尝试为通过websocket传输的VOIP呼叫设置WebRTC语音活动检测器(VAD),以检测呼叫者何时停止通话 关于WebRTC VAD的大多数教程和问题都基于录制的音频文件,而不是实时流。我想知道如何在websocket上实现它,实时传输VOIP呼叫 根据py webrtcvad文档(): 给它一小段音频(“帧”)。WebRTC VAD仅接受以8000、16000或32000 Hz采样的16位单声道PCM音频。帧的持续时间必须为10、20或30毫秒 如何将来自websocket的原始音

我正在尝试为通过websocket传输的VOIP呼叫设置WebRTC语音活动检测器(VAD),以检测呼叫者何时停止通话

关于WebRTC VAD的大多数教程和问题都基于录制的音频文件,而不是实时流。我想知道如何在websocket上实现它,实时传输VOIP呼叫

根据py webrtcvad文档():

给它一小段音频(“帧”)。WebRTC VAD仅接受以8000、16000或32000 Hz采样的16位单声道PCM音频。帧的持续时间必须为10、20或30毫秒


如何将来自websocket的原始音频流转换为WebRTC VAD工作所需的上述要求?

要使用VAD,您需要正确的块大小。


您从websocket获得的原始音频的采样率、位深度和通道号是多少?来自websocket的块有多大?
- For example, if your sample rate is 16000 Hz, then the only allowed 
frame/chunk sizes are: 
    16000 * ({10,20,30} / 1000) = 160, 320 or 480 samples.
- Since each sample is 2 bytes (16 bits), the only allowed frame/chunk sizes are 
320, 640, or 960 bytes.