树莓派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)

原文地址:https://www.cnblogs.com/ivistn/p/9052216.html