2017-06-05 43 views
1

我一直在尝试将G assistant安装到Raspberry Pi3中。我有问题,在下面的链接Raspberry Pi 3上的Google Assistant SDK:音频设置不起作用

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 

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

回答

2

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

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

我将gui(桌面)音量的输入/输出设置为模拟,并且一旦开始使用Google智能助理,请勿触摸它,以免再次发生混乱.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”

祝您好运!

-1

是的,我看到这个错误 - 奇怪的是,我有一切工作正常后,我从来没有想过.asoundrc文件将被损坏。

Invalid value card arecord: main:722: audio open error: no such file or directory

我确认Xeneck Stoher说,大约在输入/输出选择搞乱你〜.asoundrc文件Rasbian GUI音量/音频,取代它修复了这个问题,并记录/回放现在工作得很好。