您的位置:首页 > 新闻 > 会展 > 鞍山seo_网站开发app定制_seo关键词排名实用软件_seo兼职

鞍山seo_网站开发app定制_seo关键词排名实用软件_seo兼职

2025/1/8 2:36:58 来源:https://blog.csdn.net/a1066196847/article/details/144172535  浏览:    关键词:鞍山seo_网站开发app定制_seo关键词排名实用软件_seo兼职
鞍山seo_网站开发app定制_seo关键词排名实用软件_seo兼职

一、简介

效果:运行起来后,可以连续对话

硬件:树莓派5、麦克风、音箱,成本500-1000

软件:snowboy作为唤醒词、百度语音作为语音识别、brain作为指令匹配、百度文心一言作为对话模块、微软的edge-tts语音合成...

二、开发流程

连接到树莓派,不管是ssh、vnc都比较简单,这个不再赘述。在这个基础上进行

1、基础配置

(1)、从0开始启动树莓派,先是把树莓派系统从头到尾的更新一下,否则在安装一些软件的时候会出现问题

更新源

sudo nano /etc/apt/sources.list
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free-firmware

更新源

sudo nano /etc/apt/sources.list.d/raspi.list
deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi bookworm main

更新系统

sudo apt update
sudo apt full-upgrade

(2)、安装miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
bash Miniconda3-latest-Linux-aarch64.sh

(3)、配置git(较简单,不再赘述)

(4)、树莓派、windows剪切板内容互用

2、音箱代码配置

(1)、安装必要的和音箱相关的包

sudo apt-get install portaudio19-dev 
sudo apt-get install python3-pyaudio 
sudo apt-get install sox 
sudo apt-get install pulseaudio 
sudo apt-get install libsox-fmt-all 
sudo apt-get install ffmpeg

(2)、安装python3.8虚拟环境即可,因为这个项目是比较早的版本了

conda create --name pi python=3.8

(3)、连接好麦克风、音箱后,检查下设备

如果遇到录音问题/音箱问题,先单独测试硬件设备,方法是:在百度搜“在线测试麦克风”,然后把新买的麦克风、音箱插到电脑上,进行测试,如果测试没有问题,那说明是树莓派有问题,或者树莓派没问题,但是你哪里搞错了。如果有问题,就换设备即可

aplay -l    检查播放设备是否包含seeed-2mic-voicecard,这个是查播放设备,录音设备不会被检测出来
arecord -l  查看所有可以录音的设备
alsamixer   音频工具调整参数
arecord -f S16_LE -d 3 temp.wav    测试录音3秒,千万不要加:-D "plughw:2,0",加了就出问题
aplay temp.wav   播放录音看看效果
sudo alsactl --file=asound.state store    #保存配置
sudo cp asound.state /var/lib/alsa   #避免开机音量被重置

(4)、clone项目代码

git clone git@github.com:wzpan/wukong-robot.git
cd wukong_mepip3 install pyaudio
pip3 install pyaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

(5)、编译snowboy唤醒词模块

cd $HOME
wget https://wzpan-1253537070.cos.ap-guangzhou.myqcloud.com/misc/swig-3.0.10.tar.gz
tar xvf swig-3.0.10.tar.gz
cd swig-3.0.10
sudo apt-get -y update
sudo apt-get install -y libpcre3 libpcre3-dev
./configure --prefix=/usr --without-clisp --without-maximum-compile-warnings
make
sudo make install
sudo install -v -m755 -d /usr/share/doc/swig-3.0.10
sudo cp -v -R Doc/* /usr/share/doc/swig-3.0.10
sudo apt-get install -y libatlas-base-dev

(6)、安装一些必要的技能库

mkdir $HOME/.wukong
cd $HOME/.wukong
git clone http://github.com/wzpan/wukong-contrib.git contrib
pip3 install -r contrib/requirements.txt

3、尝试运行

python wukong.py,就能够体验到可以唤醒对话了,但是对话模块还有点问题,需要自定义成文心一言的

4、更改对话模块

class WenxinRobot(AbstractRobot):SLUG = "wenxin"def __init__(self, api_key, secret_key):"""文心一言"""super(self.__class__, self).__init__()self.api_key = api_keyself.secret_key = secret_keyself.context = []os.environ["QIANFAN_ACCESS_KEY"] = api_keyos.environ["QIANFAN_SECRET_KEY"] = secret_key@classmethoddef get_config(cls):return config.get("wenxin", {})def chat(self, texts, _):"""使用Wenxin机器人聊天Arguments:texts -- user input, typically speech, to be parsed by a module"""msg = "".join(texts)msg = utils.stripPunctuation(msg)self.context.append({"role": "user", "content": msg})print("self.context=", self.context)chat_comp = qianfan.ChatCompletion()# 指定特定模型resp = chat_comp.do(model="ERNIE-4.0-Turbo-8K", messages=self.context)print("wenxinyiyan resp = ", resp)print("result=", resp["body"]['result'])self.context.append({"role": "assistant", "content": resp["body"]['result']})return resp["body"]['result']

5、更改唤醒词从snowboy->小强

重点:使用Python3是不行的,要用python2;用树莓派的系统也不好,最好就是用ubuntu 16.04,18.04也可以

(1)、先把服务器的环境弄好

安装创建虚拟环境的包,安装python2、pip2

sudo apt-get install virtualenv -y
sudo apt install python2
sudo apt install python2-pip-whl

(2)、代码

virtualenv -p python2 venv/snowboy
source venv/snowboy/bin/activate
git clone git@github.com:seasalt-ai/snowboy.git
cd snowboy
cd examples/Python
pip install -r requirements.txt在执行pip的时候如果报错,可以按照下面的方式来试试
sudo apt install python-dev
sudo apt install portaudio19-dev
pip install -r requirements.txt

(3)、代码直接是用不了的,需要更新下两个文件

系统版本选择、绝对路径 snowboy_pmdl.py

import os
import sys
import platform
#sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "lib/ubuntu64/pmdl"))
sys.path.insert(0, "/home/ubuntu/snowboy/lib/ubuntu64/pmdl")from snowboy import *

snowboy_pmdl_config.py

#RES_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), '../resources/pmdl')
RES_DIR = '/home/ubuntu/snowboy/resources/pmdl'

如果是云服务器的ubuntu,是录不了音的,先想办法录上3个“小强”,再用下面的命令

python generate_pmdl.py -r1=record1.wav -r2=record2.wav -r3=record3.wav -lang=zn -n=hotword.pmdl

生成好hotword.pmdl后,可以测试一下,也可以直接放在前面的音箱代码中使用,如果要测试的话,还需要在目录snowboy/swig/Python下编译出来snowboydetect.py

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com