2017-06-05 46 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音量/音頻,取代它修復了這個問題,並記錄/回放現在工作得很好。