前言
本文主要针对2023年发布的树莓派新产品树莓派5的开发使用,为了实现离线的文本(中文)转语音功能,本文使用了TTS技术,本文模型使用的是Coqui的中文模型 。
一、环境需要
树莓派5(最好8GB内存)
Rspberry PI系统
Conda环境(可自行搜索,也可以查看我专栏下的其他文章)
在本文下使用的是Miniconda3
二、TTS
1)TTS是什么
TTS 是“文本到语音”(Text-to-Speech)的缩写,指的是将书面文本转换为自然语言语音的技术。TTS 系统通常涉及以下几个关键组件:
文本分析:分析输入的文本,识别语言、语法、标点符号等信息,以便为语音合成做好准备。
语音合成:根据文本和分析结果生成相应的语音输出。这一步通常使用预录制的音频片段(拼接合成)或通过算法生成(波形合成)。
声音处理:调整语音的音调、速度、音量等,以达到自然的听觉效果。
2)TTS 的应用
辅助技术:帮助视力障碍人士读取文本内容。
虚拟助手:如 Siri、Alexa 等,通过语音与用户交互。
教育:用于语言学习或读书软件,帮助用户理解文本。
娱乐:为游戏、动画或多媒体内容生成配音。
3)常见的 TTS 技术
拼接合成:将短语音片段拼接在一起形成完整的句子。
参数合成:使用数学模型生成声音,通常更灵活,但需要更复杂的算法。
神经网络合成:近年来兴起的深度学习方法,如 Tacotron 和 WaveNet,能够生成更自然、更流畅的语音。
三、使用步骤
1) 创建并激活虚拟环境 tts_env(这里使用单独的一个虚拟环境,防止与其他环境包冲突)
conda create -n tts_env python=3.9
conda activate tts_env
2)安装tts相关依赖项
由于tts相关依赖项体积过于庞大,并且数量众多,所以需要提前安装以避免安装时时间过长导致的pip问题。
并且由于体积大,下载时长长,故选择换源下载,代码如下:
conda install numpy scipy librosa unidecode sentencepiece transformers inflect spacy -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/ -c conda-forge
3)安装TTS
由于tts包较大,所以我们依然使用换源下载,代码如下:
pip install TTS -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout 100 --retries 5
需等待一定时间,这个过程可能出现错误
博主遇到过轮子安装失败,需要下载rust包的此时可以通过下列代码安装
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
如果还有其他问题,请在评论区反馈,希望大家能够将遇到的问题解决并把方法上传。
4)下载模型
安装TTS后需要下载语言模型,我们这里选择在coqui.ai 的中文模型,可以到github他的官网寻找,一半来说会有一个压缩包放着,这里博主直接告诉大家路径在哪。
经过寻找,新版本的Coqui里并没有库,所以我们查看已经发行版本
https://github.com/coqui-ai/TTS/releases
在这个网址上可以查看以往的版本,这里博主选择0.6.1的版本
其中的
就是我们需要的模型
我们可以通过电脑下载,然后使用Finalshell等软件进行文件传输
也可以通过命令行下载,但是命令行下载较慢,所以推荐使用电脑使用科学上网工具到github上下载。
wget https://github.com/coqui-ai/TTS/releases/download/v0.6.1_models/tts_models--zh-CN--baker--tacotron2-DDC-GST.zip
下载后确保当前目录有该zip文件
接着解压zip文件
unzip /home/zx/ts_models--zh-CN--baker--tacotron2-DDC-GST.zip
5)配置模型文件
首先来到文件目录/home/usr/ENTER/envs/zx2/lib/python3.9/site-packages/TTS
在这里,你应该进入到你所在的环境下的软件包中的TTS文件夹中,在TTS下有tts文件夹,在tts文件夹中有models文件夹 ,如图:
接下来需要将刚刚解压的文件夹移动到这个文件夹下,在这里我将这个文件夹重新命名成my_models.
接下来进入my_models.查看里面的文件。
记住这个路径以及这三个文件名,接下来会用。
接下来需要配置 config.json文件。
nano config.json
将stats_path设置为刚刚的文件scale.stats.npy的路径(这里需要注意,千万不能错误修改该文件,注意没有改错某个地方)
接下来测试运行(这里需要你换成你自己的路径)
tts --text "你好,世界" \
--config_path "/home/zx/tts_models/config.json" \
--model_path "/home/zx/tts_models/model.pth" \
--out_path "output.wav"
这个过程可能出现包冲突(根据给出的信息去重新安装不会互相冲突的包)
会在当前目录下生成一个ouput.wav文件,说明成功!接下来你可以在你的python文件中调用了!
总结
本文详细介绍了如何在树莓派5上使用 Coqui TTS 实现中文文本转语音的功能,包括环境配置、依赖安装、模型下载及测试运行等步骤。希望对大家有所帮助!如果有任何问题,欢迎留言讨论。
标签:树莓,https,TTS,tts,models,语音,Coqui,-- From: https://blog.csdn.net/knight1287/article/details/142611894