一套基于树莓派的聊天机器人
演示视频+源代码:Demo1
实现功能:
前期准备
烧录
树莓派周边设施非常完善,也就是说你只需要去官网下一个官方驱动器就行。SD卡买好点的,感觉64G+就比较足够了。
https://www.raspberrypi.com/software
下载后,选择你的设备和需要写入的系统。存储卡基本识别飞常准,一下就看出来了
基本配件安装
树莓派红温速度极快,因此,好的散热是很有必要的。
反过来一贴就ok,甚至贴心的有卡口。总之就是非常好用~
WIFI
注意sjtu的wifi需要ca证书,树莓派默认没有。这里去指定路径去找即可,具体方法参考这部分
https://net.sjtu.edu.cn/info/1215/2712.htm
输入法
https://blog.csdn.net/weixin_73412387/article/details/140137267
SSH连接
先在树莓派搞到自己的ip,再去开启。如果没有开启就去配置中开即可。
VNC连接
参考手册,开启ssh后,打开VNC(默认有),无屏幕时候可以虚拟屏幕,vncserver-virtual
解决。
播放音乐
vnc之间连接时候声音总是异常没办法播放,所以需要你不使用桌面环境,直接ssh链接访问控制
这里用了cmus,使用就直接cmus,调整声音:alsamixer
Linux终端音乐播放器: cmus – brt2 – 博客园
便捷传输文件
scp [参数] your_file username@remote_host:target
递归复制目录
如果你想复制整个目录及其内容,可以使用 -r
选项。例如,将本地的 my_directory
目录复制到远程主机的 /home/user/
目录下:
scp -r my_directory user@remote_host:/home/user/
指定端口号
如果远程主机的 SSH 服务运行在非默认端口(例如 2222),你可以使用 -P
选项指定端口号:
scp -P 2222 example.txt user@remote_host:/home/user/
远程项目开发
使用的pycharm,好处是方便,坏处是比较大。如果内存比较少建议用vscode
使用ssh连接之后,会默认在客户端下载pycharm的后端,包体大概2g,占用内存可以调整,一般设置不超过整体内存的1/3(你可以手动设置上限)
后续开发就和本地使用pycharm没有区别了
项目开发
大语言对话
让树莓派说话分为3部分,分别是STT(语音转文字)GPT(大语言模型)TTS(文字转语音)
STT
细化来说分为两步,一是调用系统指令录音,二是调用库把语音转文字
录音:arecord -D {device} -f cd -t wav -d {duration} {file_name}
语音转文字:SenseVoice本地效果足够好,且省的接口的钱,因此建议本地部署。
步骤 1. 克隆项目并创建 python 3.8+ 虚拟环境
首先克隆官方项目并创建一个独立的 Python 虚拟环境。
git clone https://github.com/FunAudioLLM/SenseVoice.git cd SenseVoice #创建一个独立的 Python 3.8 虚拟环境并激活它 conda create -n sensevoice python=3.8 conda activate sensevoice
步骤 2. 然后安装依赖项
至此,虚拟环境已被激活。现在下载并安装项目所依赖的第三方软件包。
# 官方下载
pip install -r requirements.txt
# 如果租赁的服务器在中国大陆,需要使用国内的镜像
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
步骤 3. 启动 SenseVoice WebUI
模型文件非常大,下载需要很长时间。完成后,使用以下命令启动服务:
python webui.py
现在,您可以通过访问局域网 IP 和端口号 7860 访问由gradient库构建的 WebUI 网络应用程序。
GPT
本地部署参考https://www.haruhi.fans/?p=3193。树莓派8G内存大概可以部署一个1.5B的模型
TTS
本地部署使用了Piper,效果一般般,但是足够快且一般意义上能用https://github.com/rhasspy/piper/?tab=readme-ov-file
部署:
三选一开发包,选择适合自己的
去https://github.com/rhasspy/piper/blob/master/VOICES.md这里,选择合适的模型,下载model和config
划到最底下随便选一对组合,貌似medium效果好一些
使用:传入文本给piper,选择指定的模型和输出文件
echo ‘Welcome to the world of speech synthesis!’ | \
./piper –model zh_CN-huayan-medium.onnx –output_file welcome.wav
演示视频
Demo1+源代码
再不棒读了😭😭,声音好亖宅啊