zoukankan      html  css  js  c++  java
  • 树莓派Dietpi系统配置Dueros

    dietpi 系统安装alsa工具

    安装依赖

     sudo apt-get install python-dateutil
     sudo apt-get install gir1.2-gstreamer-1.0
     sudo apt-get install python-pyaudio
     sudo apt-get install libatlas-base-dev
     sudo apt-get install python-dev 
    apt-get install python-pip      sudo pip install tornado  sudo pip install hyper
    pip install requests
    pip install gi


    安装tornado时会报错 error: invalid command 'bdist_wheel',需要升级pip 和 setuptools
    pip install setuptools --upgrade
    pip install pip --upgrade

    升级完pip后,pip执行报错ImportError: cannot import name main,原因是hash缓存了旧的pip,需要清下缓存
    hash -d pip

    使用pyaudio测试,
    1.pip install pyaudio ,提示  ImportError: No module named setuptools
    2. 使用pip install setuptools
    3. 重试安装,报错

    unable to execute 'arm-linux-gnueabihf-gcc': No such file or directory
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
    ----------------------------------------
    Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Ym4Ons/pyaudio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace(' ', ' ');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-UrQ3g3/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-Ym4Ons/pyaudio/

       4. 执行 apt-get install gcc-arm-linux-gnueabihf, 报错 E: Unable to locate package gcc-arm-linux-gnueabihf

    后来,失败 直接执行 apt-get install python-audio安装




    下载 dueros client sdk
    git clone https://github.com/MyDuerOS/DuerOS-Python-Client.git
     cd DuerOS-Python-Client
     git checkout raspberry-dev

    修改 DuerOS-Python-Client/sdk/auth.py 将 CLIENT_ID CLIENT_SECRET 改为自己开放平台内设备配置信息。
    因dietpi内没有桌面,需要外界浏览器调用login,改webbrower.open("http://pi.local:3000"),并在内外系统内配置 pi.local hosts指向树莓派ip。

    执行 enter_trigger_start.sh
    报错

    Traceback (most recent call last):
    File "./app/enter_trigger_main.py", line 9, in <module>
    from app.framework.player import Player
    File "/root/Dueros/DuerOS-Python-Client/app/framework/player.py", line 10, in <module>
    from gi.repository import Gst
    ImportError: No module named repository

    需要安装 apt-get install python-gobject-2-dev python-gi-dev

    ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

    解决 : pulseaudio --start 

    Cannot connect to server socket err = No such file or directory
    Cannot connect to server request channel
    jack server is not running or cannot be started

    解决: 启动jackd  -d dummy

    但之后程序会hang住

    最终 在X环境下执行 jack_control start   pulseaudio --start

    成功启动

    Could not read result type = 22
    Client name = PortAudio conflits with another running client
    Cannot connect to the server

    ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred

    The underun is likely caused because pulseaudio is already accessing the card - you can pause it using http://linux.die.net/man/1/pasuspender. In general to avoid such deadlock, you need a soundserver like jackd https://help.ubuntu.com/community/What%20is%20JACK, but you already figured this out from the following log entries in your trace ;-) (apt-get install jackd)

    ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave"

    You need to change "pcm.front cards.pcm.front" to "pcm.front cards.pcm.default" in /usr/share/alsa/alsa.conf.

    The rest of the errors are not meaningful, for instance, "bt_audio_service_open: connect() failed: Connection refused (111)" refers to your bluetooth device - you are likely missing some bluethooth packages, but you can simply ignore it.

    This should get you moving forward and debug further.

    import pyaudio
    p = pyaudio.PyAudio()
    for i in range(p.get_device_count()):
      dev = p.get_device_info_by_index(i)
      print((i,dev['name'],dev['maxInputChannels']))

    一些解决alsa的办法  https://blog.csdn.net/u013372900/article/details/72784823

     https://github.com/Uberi/speech_recognition#user-content-on-ubuntudebian-i-get-errors-like-jack-server-is-not-running-or-cannot-be-started-or-cannot-lock-down--byte-memory-area-cannot-allocate-memory


    alsa 相关
    模块 卡索引设置 /etc/modprobe.d/alsa-base.conf
    主路径 /usr/share/alsa
    设备路径 /proc/asound

    pulseaudio 配置 https://wiki.archlinux.org/index.php/PulseAudio_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

  • 相关阅读:
    Android中查找一个Layout中指定的子控件
    常用代码
    数据库连接池配置
    分享一个电子书网站
    怎么快速入手一个项目在没有人指导的情况下
    压测如何观测jvm,就是使用jmx来实现jvm监控
    工具类
    APP开发和web开发的区别
    网站切流量
    互联网主题分析
  • 原文地址:https://www.cnblogs.com/ivistn/p/9052216.html
Copyright © 2011-2022 走看看