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 问题的主要内容,如果未能解决你的问题,请参考以下文章

从 ALSA Raspberry Pi 获取音频幅度

用于在 Raspberry Pi 上读取和播放 WAV 文件的 ALSA 应用程序

如何在 Raspberry Pi 上使用 C++ 将接收到的 UDP 音频数据正确写入 ALSA

无法在 Raspberry Pi 上从 Dockerfile 安装 dlib

Raspberry Pi 上的 Mono [关闭]

Raspberry Pi 上的 ssh 连接被拒绝 [关闭]