首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adafruit I2S MEMS麦克风不适用于语音活动检测系统。

Adafruit I2S MEMS麦克风不适用于语音活动检测系统。
EN

Stack Overflow用户
提问于 2022-01-24 18:39:41
回答 1查看 276关注 0票数 1

我试着用raspberry pi对文本系统做一个演讲。VAD存在很多问题。我在使用DeepCpeech的VAD脚本。Adafruit I2S微机电系统麦克风只接受32位PCM音频.因此,我修改了脚本,以记录32位音频,然后将其转换为16位,用于DeepSpeech的处理。帧生成和会话部分如下:

代码语言:javascript
复制
for frame in frames:
    if frame is not None:
        if spinner: spinner.start()
        #Get frame generated by PyAudio and Webrtcvad
        dp_frame = np.frombuffer(frame, np.int32)
        #Covert to 16-bit PCM
        dp_frame=(dp_frame>>16).astype(np.int16)
        #Convert speech to text
        stream_context.feedAudioContent(dp_frame)

PyAudio吐露如下:

代码语言:javascript
复制
'format': paInt32,
'channels': 1,
'rate': 16000,

当VAD启动时,它总是生成非空帧,即使周围没有声音。但是,当我每5秒设置一个定时器时,它会显示录音已经成功完成。我认为问题是,能量(电压)增加了一些噪音,这就是为什么麦克风不能检测到沉默和结束帧生成。如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-26 13:36:12

我搜索了DeepCpeech的VAD脚本并找到了它。这个问题与这个问题有关。webrtcvad只接受16位单声道音频,采样频率为8000、16000、32000或48000赫兹.因此,您需要将32位帧转换为16位(我是关于PyAudio输出帧)来处理webrtcvad.is_speech()。我变了,一切都很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70838837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档