wzpan / wukong-robot

🤖 wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,支持ChatGPT多轮对话能力,还可能是首个支持脑机交互的开源智能音箱项目。
https://wukong.hahack.com/
MIT License
6.24k stars 1.33k forks source link

离线唤醒机制初始化失败:[Errno -9997] Invalid sample rate #75

Closed kaidoxue closed 5 years ago

kaidoxue commented 5 years ago

确认已寻找过答案

我已确认在 Github issue 页、常见问题页、文档 中都查找过,没有找到类似问题和资料。我也没有 google / bing/ 百度 / duckduckgo 到相关解答。

安装方式

手动安装

操作系统

Raspbian buster

离线唤醒相关

已确保 arecord temp.wavaplay temp.wav (Linux)已正常工作.(没有带任何其他参数)

—— 我已确保录音、播放都正常工作才尝试 wukong-robot 。

问题描述


Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 924 Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 924 Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934 Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934 Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 934 Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 924 Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2048 Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2719 Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2843 CRITICAL:main:离线唤醒机制初始化失败:[Errno -9997] Invalid sample rate

wzpan commented 5 years ago

这种看起来就是你的麦克风不支持snowboy要求的采样率了。建议换麦克风。

kaidoxue commented 5 years ago

谢谢大神,我买一个PS3 Eye 再试试

cgn5566 commented 5 years ago

请问楼上这个问题解决了吗? 我也遇到相同的问题了 奇怪的是在shell里运行python3 wukong.py是正常的,可以正常采集和识别语音。 但是设置为开机自启动就会报 CRITICAL:main:离线唤醒机制初始化失败:[Errno -9997] Invalid sample rate 无论采用哪种自启动方式都是相同的结果

cgn5566 commented 5 years ago

针对大神wzpan的解答小弟有一点疑惑,如果是麦克风的问题,是不是在shell里面运行wukong.py 的时候,就会报这个错误啊?奇怪的是手动在shell里运行时正常的。但是设置开启自启动就不行了

cgn5566 commented 5 years ago

大神wzpan您好,按照您的教程我重新编译了_snowboydetect.so 现在报错变成了 离线唤醒机制初始化失败:[Errno -9996] Invalid input device (no default output device) 按照您的教程我用ps -auwx | grep wukong查询 只有一个wukong.py进程在跑...

wzpan commented 5 years ago

@cgn5566 设置自启动是用什么方法?注意要用和你平时terminal里跑的是用同个用户,如果你是用root来跑,.asoundrc.wukong/config.yml 是没法共享给 root 的,就会出问题。

cgn5566 commented 5 years ago

大神wzpan您好,我是采用修改rc.local文件开机自启动脚本的 之前我用rc.local、systemd、supervisor、my.desktop四种方法都尝试过,结果是一样的:离线唤醒机制初始化失败 我没指定用户,我平时登录树莓派的是pi用户(已经重新设置过pi密码了),刚才按照您的提示,我尝试指定pi用户来跑,在rc.local文件里添加了 su pi -c "exec //.sh"这条命令 但是奇怪的是手动执行sh文件是正常的,但是放到rc.local就无效了,重启后没有任何提示音 请问大神如何使用pi用户来跑啊?

stale[bot] commented 5 years ago

由于久无进展,这个 issue 已被标为过期。如果还没有后续进展,这个 issue 将被关闭。谢谢你的反馈!

wzpan commented 5 years ago

@cgn5566 我用的是 desktop 来跑的。你可以参考我给 dingdang 写的 launcher:https://github.com/dingdang-robot/dingdang-robot/blob/master/launcher/dingdang-launcher-user.sh

注意不能照搬

cgn5566 commented 5 years ago

已解决!谢谢大神wzpan指导!:)

Kuldeepwadaskar commented 5 years ago

i am facing same issue. can anyone able to answer it in english

CheckCoder commented 4 years ago

已解决!谢谢大神wzpan指导!:)

@cgn5566 您好!请问是怎么解决的?

whuzx commented 3 years ago

请教大佬,我也遇到类似问题 Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2048 Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2719 Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2843

taoliescape commented 2 years ago

我也遇到类似的问题了 Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', l ine: 2048 Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, se lf->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_lin ux_alsa.c', line: 2719 Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, s ampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode ) ' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2843 CRITICAL:main:离线唤醒机制初始化失败:[Errno Invalid sample rate] -9997