【问题标题】:Google Assistant SDK on Raspberry Pi 3: Audio setup does not workRaspberry Pi 3 上的 Google Assistant SDK:音频设置不起作用
【发布时间】:2017-11-06 13:33:40
【问题描述】:

我一直在尝试将 G 助手安装到 Raspberry Pi3 中。我对以下链接有疑问

https://developers.google.com/assistant/sdk/prototype/getting-started-pi-python/configure-audio

上面链接的部分文字

# Record a short audio clip. If you get an error, go to step 2.
$ arecord --format=S16_LE --duration=5 --rate=16k --file-type=raw out.raw

正如预期的那样,我在这一步中遇到了错误。所以我尝试了 Step2 创建了一个包含所有硬件信息的新文件(.asoundrc)。然后我尝试关注

speaker-test -t wav

但我收到以下错误(如果我重命名 .asoundrc,我看不到此错误但我无法录制)

speaker-test 1.0.28

Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
WAV file(s)
ALSA lib conf.c:1697:(snd_config_load1) toplevel:9:17:Unexpected char
ALSA lib conf.c:3417:(config_file_open) /home/pi/.asoundrc may be old or corrupted: consider to remove or fix it
ALSA lib conf.c:3339:(snd_config_hooks_call) function snd_config_hook_load returned error: Invalid argument
ALSA lib conf.c:3788:(snd_config_update_r) hooks failed, removing configuration
Playback open error: -22,Invalid argument

我该如何解决这个问题? 谢谢!

【问题讨论】:

    标签: raspberry-pi3 google-assistant-sdk


    【解决方案1】:

    如果您的 .asoundrc 没有正确的结构,就会发生这种情况。警告:如果您使用 rpi gui(桌面)音量控制来更改输入,它将为您修改 .asoundrc,从而破坏谷歌助手的 ALSA。你必须去修理它。谷歌网站上的说明是正确的。

    要修复它,请删除创建的新条目。 然后,在顶部,查找“type hw”行。它已被偷偷修改...您必须将其改回“type asym”以匹配 google 指定的配置。

    我将 gui(桌面)音量的输入/输出设置为模拟,一旦我开始使用谷歌助手就不要触摸它,这样它就不会再次与 .asoundrc 混淆。

    我使用的是罗技 USB 耳机,它有麦克风和扬声器(我不使用外接扬声器) 因此,鉴于我的音频输入和输出进入耳机,我的 .asoundrc 看起来像这样:

    pcm.!default {
      type asym
      capture.pcm "mic"
      playback.pcm "speaker"
    }
    pcm.mic {
      type plug
      slave {
        pcm "hw:1,0"
      }
    }
    pcm.speaker {
      type plug
      slave {
        pcm "hw:1,0"
      }
    }
    

    最后,如果你重启你的 Pi,你必须重置助手二进制文件的源路径,否则它将无法找到启动助手演示的命令。 通过键入“source env/bin/activate”来执行此操作 然后你可以通过输入“google-assistant-demo”再次运行它

    祝你好运!

    【讨论】:

      【解决方案2】:

      是的,我看到了这个错误——奇怪的是,在我一切正常之后,我从没想过 .asoundrc 文件会损坏。

      无效值卡 arecord: main:722: audio open error: no such file or directory

      我确认 Xeneck Stoher 说 Rasbian gui 音量/音频输入/输出选择弄乱了您的 ~.asoundrc 文件,替换它修复了这个问题,现在录制/播放工作正常。

      【讨论】:

        猜你喜欢
        • 2017-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多