1

我正在尝试安装 google assistant sdk,使用树莓派 3 型号 b 并使用具有麦克风和扬声器的 Sabrent usb 进行音频(http://www.ebay.com/itm/Sabrent-External-Sound-Box-USB- SBCV/252367546463)。运行代码时出现错误。

python -m googlesamples.assistant

错误堆栈:

    Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/pi/env/lib/python2.7/site-packages/googlesamples/assistant/__main__.py", line 273, in <module>
    main()
  File "/home/pi/env/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/env/local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/pi/env/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/env/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/env/lib/python2.7/site-packages/googlesamples/assistant/__main__.py", line 146, in main
    flush_size=audio_flush_size
  File "/home/pi/env/local/lib/python2.7/site-packages/googlesamples/assistant/audio_helpers/__init__.py", line 140, in __init__
    blocksize=int(block_size/2),  # blocksize is in number of frames.
  File "/home/pi/env/local/lib/python2.7/site-packages/sounddevice.py", line 1491, in __init__
    **_remove_self(locals()))
  File "/home/pi/env/local/lib/python2.7/site-packages/sounddevice.py", line 1017, in __init__
    'Error opening {0}'.format(self.__class__.__name__))
  File "/home/pi/env/local/lib/python2.7/site-packages/sounddevice.py", line 2671, in _check
    raise PortAudioError(msg)
sounddevice.PortAudioError: Error opening RawStream: Invalid sample rate
4

3 回答 3

0

我通过定义速率解决了这个问题,如下所示。直到我在这里阅读了文档并在黑暗中拍摄了如何实现它之前,我在网上找不到其他任何东西可以为我解决这个问题。原来它对我有用。

pcm.!default {
  type asym
        playback.pcm {
        type plug
        slave.pcm "hw:0,0"
        rate 48000
   }
   capture.pcm {
     type plug
     slave.pcm "hw:1,0"
   }
}
于 2019-03-13T20:10:56.537 回答
0

令人惊讶的是,这个错误正是它所说的。您的声音设备不支持您尝试使用的采样率(这可能可以在 Google 中配置;您没有说明它或您尝试了什么)。USB 设备仅支持 48kHz 的 DAT 格式音频是很常见的。ALSA(Linux 最常见的声音驱动程序集)并没有掩盖这一事实。可以要求它进行转换,例如使用asoundrc来设置默认插件。

于 2017-05-04T07:26:11.383 回答
0

我遇到了和你一样的问题,但是我可以通过编辑 /home/pi/.asoundrc 来解决这个问题,如下所示

    pcm.!默认{
      类型不对称
      捕获.pcm“usb_mic”
      播放.pcm "jack_speaker"
    }

    pcm.usb_mic {
      类型插头
      奴隶 {
        pcm“硬件:1,0”
      }
    }

    pcm.jack_speaker {
      类型插头
      奴隶 {
        pcm“硬件:0,0”
      }
    }

https://github.com/googlesamples/assistant-sdk-python/issues/4

于 2017-05-11T07:20:50.523 回答