【问题标题】:Use WebRTC Voice Activity Detector (VAD) on live audio coming from VOIP streamed by Websockets对来自 Websocket 流式传输的 VOIP 的实时音频使用 WebRTC 语音活动检测器 (VAD)
【发布时间】:2021-06-09 01:56:33
【问题描述】:

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

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

根据 py-webrtcvad 文档 (https://pypi.org/project/webrtcvad/):

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

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

【问题讨论】:

  • 来自 websocket 的原始音频的采样率、比特深度和通道数是多少?来自 websocket 的块有多大?

标签: python websocket webrtc voip live-streaming


【解决方案1】:

要使用 VAD,您需要正确的块大小。 https://github.com/wiseman/py-webrtcvad/issues/30

- 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.

【讨论】:

    猜你喜欢
    • 2016-03-21
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 2015-02-12
    • 2020-11-01
    • 2015-08-05
    相关资源
    最近更新 更多