Raspberry pi 上的 Alsa 问题
Posted
技术标签:
【中文标题】Raspberry pi 上的 Alsa 问题【英文标题】:Alsa issues on Raspberry pi 【发布时间】:2018-01-08 16:27:39 【问题描述】:我正在尝试使用 IBM watson TTS 引擎播放文本。在播放声音时,我收到以下错误:
ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.surround51.0:CARD=0' ALSA lib conf.c:4259:(_snd_config_evaluate) 函数 snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM 环绕 21 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.surround51.0:CARD=0' ALSA lib conf.c:4259:(_snd_config_evaluate) 函数 snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM 环绕 21 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.surround40.0:CARD=0' ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM 环绕 40 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.surround51.0:CARD=0' ALSA lib conf.c:4259:(_snd_config_evaluate) 函数 snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM 环绕 41 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.surround51.0:CARD=0' ALSA lib conf.c:4259:(_snd_config_evaluate) 函数 snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM 环绕 50 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.surround51.0:CARD=0' ALSA lib conf.c:4259:(_snd_config_evaluate) 函数 snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM 环绕 51 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.surround71.0:CARD=0' ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM 环绕 71 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2' ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM iec958 ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2' ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM spdif ALSA lib confmisc.c:1286:(snd_func_refer) 找不到定义 'cards.bcm28 35.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2' ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer 返回 错误 或:没有这样的文件或目录 ALSA lib conf.c:4738:(snd_config_expand) 评估错误:没有这样的文件或目录 ry ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) 未知 PCM spdif ALSA lib pulse.c:243:(pulse_connect) PulseAudio:无法连接: 连接 r 热血沸腾
ALSA lib pulse.c:243:(pulse_connect) PulseAudio:无法连接: 连接 r 热血沸腾
connect(2) 调用 /tmp/jack-1000/default/jack_0 失败(err=No such 文件或目录 学界)
aplay -l
我的输出是:
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Device [C-Media USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
.asoundrc
我的输出是:
pcm.!default
type asym
playback.pcm
type plug
slave.pcm "hw:0,0"
capture.pcm
type plug
slave.pcm "hw:1,0"
我一直在尝试各种方法来解决这个问题,但都无济于事。
任何帮助或指示将不胜感激。
【问题讨论】:
见Raspberry ALSA sound output / input slave。 【参考方案1】:没有名为cards.bcm2835.pcm.surround51.0:CARD=0
的声卡。
对于这个.asoundrc
的配置,你可以只使用snd_pcm_open
函数来打开“默认”声卡。https://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#ga8340c7dc0ac37f37afe5e7c21d6c528b
【讨论】:
以上是关于Raspberry pi 上的 Alsa 问题的主要内容,如果未能解决你的问题,请参考以下文章
用于在 Raspberry Pi 上读取和播放 WAV 文件的 ALSA 应用程序
如何在 Raspberry Pi 上使用 C++ 将接收到的 UDP 音频数据正确写入 ALSA