当前位置:   article > 正文

树莓派智能音响项目——snowboy语音唤醒初探_jackshmreadwriteptr::~jackshmreadwriteptr - init n

jackshmreadwriteptr::~jackshmreadwriteptr - init not done for -1, skipping u

snowboy 是一个开源的、轻量级语音唤醒引擎,可以通过它很轻松地创建属于自己的类似“hey, Siri” 的唤醒词。目前的百度的语音唤醒实际上也是使用的snowboy引擎。对于snowboy的介绍网上可谓多如牛毛,在此不再赘述。本文的目的在于记录初次在树莓派3b+上配置snowboy实现语音唤醒的过程和遇到的问题。
测试成功
主要参考:

树莓派使用 snowboy 配置语音唤醒

按照该作者的流程基本可以实现语音唤醒,值得注意的是:

  1. 在选取麦克风时,除了usb免驱动,最好使用麦克风阵列,这样听的更远、更清楚。
  2. 官方源代码使用 Python3 测试有报错,经测试需修改 snowboy/examples/Python3 目录下的 snowboydecoder.py 文件。
    将第 5 行代码 from * import snowboydetect 改为 import snowboydetect 即可直接运行。
  3. 若在测试中遇到如下警告:

ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition ‘cards.bcm2835_alsa.pcm.front.0:CARD=0’

ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

上面一些警报,ALSA部分是没有找到声卡,下面是没有找打jack server。这对音频采集没有影响,若要消除警告,可参考:Pyaudio报警消息去除

  1. 在设置自己的唤醒词时,可将包含自定义唤醒词的音频文件上传至 snowboy官网(需要登录),以训练生成自己喜欢的语音模型。需要上传的音频文件数量为 3 个.wav 格式。在利用Chromium浏览器尝试直接在线录制,也出现了bug。所以建议使用上传本地音频的方法。
    需要指出的是,同snowboy官方文档中指出的那样,树莓派上或者其他板子上接的麦克风可能和 PC 上的麦克风的声音畸变差异非常大。为了增强使用效果,我们建议直接使用麦克风在一路径下录制音频,方法:

5.对于从源代码中复制自己的项目目录,可以参考:

  1. 更复杂的应用形式(如控制 LED 小灯等),具体示例代码可参考官方文档
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/88283
推荐阅读
相关标签
  

闽ICP备14008679号