环境部署

具体环境部署可见该链接,此处仅说明基本步骤:项目开源地址。本项目直接在windows11系统中进行简单尝试。

miniconda\ffmpeg安装

miniconda安装

考虑到实际使用情况,anaconda是一个大而全的工具集合,内部有很多常用的库,但是本人使用下来感觉其中有很多用不到的东西,因此此处尝试使用轻量化自定义程度高的miniconda。链接如下:miniconda

选择合适的版本下载后双击exe,按照提示操作即可。(注意环境变量问题)

ffmpeg安装

可查看该教程windows电脑ffmpef安装教程

具体流程为下载合适的版本-解压-配置环境变量。

模型下载

下载SenseVoiceSmall与QWen模型。

SenseVoiceSmall模型下载:
    自动下载:设置215行 model_dir = "iic/SenseVoiceSmall"
    手动下载:https://www.modelscope.cn/models/iic/SenseVoiceSmall/files

QWen模型下载:
    自动下载:设置220行 model_name = "Qwen/Qwen2.5-1.5B-Instruct",开启科学上网,可从huggingface自动下载
    手动下载:https://www.modelscope.cn/models/ 搜索QWen,结果中下载显存可支持模型

模型具体介绍可见: https://huggingface.co/FunAudioLLM/SenseVoiceSmall

https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct

其他环境部署

1-创建虚拟环境

conda create -n chatAudio python=3.10
conda activate chatAudio

2-安装pytorch+cuda版本
由于我本地的cuda版本为12.1,因此我的命令如下

pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --extra-index-url https://download.pytorch.org/whl/cu121

其它适合自己电脑的torch+cuda版本可在torch官网查找
https://pytorch.org/get-started/previous-versions/

3-其他依赖

pip install edge-tts==6.1.17 funasr==1.1.12 ffmpeg==1.4 opencv-python==4.10.0.84 transformers==4.45.2 webrtcvad==2.0.10 qwen-vl-utils==0.0.8 pygame==2.6.1 langid==1.1.6 langdetect==1.0.9 accelerate==0.33.0 PyAudio==0.2.14

cosyvoice依赖库

conda install -c conda-forge pynini=2.1.6
pip install WeTextProcessing --no-deps

pip install HyperPyYAML==1.2.2 modelscope==1.15.0 onnxruntime==1.19.2 openai-whisper==20231117 importlib_resources==6.4.5 sounddevice==0.5.1 matcha-tts==0.0.7.0

之后直接运行开源项目中的文件即可

小结

存在一些问题:1-语音回传问题,当前的项目当中合成的语音会被当做用户提问接受,这点可以考虑采用声纹识别或者过滤的方法解决,之前我还采用过另外的方法,就是在播放语音的时候不传送消息,直到使用关键词打断,这里是直接做了打断机制

2-还有一个问题,关于这个开源项目,本质上是语音转文字-文字与大语言模型交互-文字转语言回复,这个也是我们当时小信时期的做法,不知道是否有延时更短的模型或者解法存在。

3-第三个问题是由于本机的算力有限如何达到快速应答,应该使用什么方案,具体后续可以参考这个项目:https://github.com/78/xiaozhi-esp32

4-todo-梳理项目代码逻辑并结合xiaozhi的项目实现快速应答。