首页 > 其他分享 >树莓派5上部署文本转语音TTS(使用Coqui TTS模型)

树莓派5上部署文本转语音TTS(使用Coqui TTS模型)

时间:2024-09-28 11:49:38浏览次数:12  
标签:树莓 https TTS tts models 语音 Coqui --

前言

本文主要针对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

相关文章

  • 树莓派5B -零基础应用开发系列(第二期)
    树莓派5B-零基础应用开发(第二期)基础知识篇(适用于零基础想学习Linux操作系统的的小白新手)核心思想Linux系统下,一切皆文件,也包括各种硬件设备(一定要有这个概念)。系统调用系统调用(systemcall)其实是Linux内核提供给应用层的应用编程接口(API),是Linux应用层进入内核......
  • 树莓派5B -零基础应用开发系列
    树莓派5B-零基础应用开发(第一期)一、树莓派的开始1.准备工作①建议在树莓派官网下载相对应的镜像文件,树莓派镜像下载,网站如下所示:https://www.raspberrypi.org/downloads/raspberry-pi-os/②把SD卡格式化,使用SDFormatter进行开始格式化操作。③把在官网下载......
  • 通过jlink连接树莓派4b搭建gdb调试环境
    参考资料jlink使用的是博光微的jlinkv9树莓派使用的是4bjlink与树莓派链接按照表中的内容进行链接,注意链接过程要小心仔细,否则后续排查起来十分麻烦下载openocd由于我是在linux环境下,所以省去了jlink的驱动安装,直接先下载openocdsudoaptinstallopenocd注意不要去......
  • 以腾讯云为公网跳板实现树莓派内网穿透
    关键词:内网穿透,frp,ssh,腾讯云,树莓派情况说明不是所有的情况你的ip都可以固定,之前在室外搭的服务器,买的4G卡配路由,但是公网ip无法固定,一般情况下访问只能通过teamviewer或者向日葵等远程登录软件。部署流程确保自己需要内网穿透的设备网络通畅找到一个稳定具有固定公网ip的服务器(VPS......
  • 树莓派智能语音助手实现音乐播放
    树莓派语音助手从诞生的第一天开始,我就想着让它能像小爱音箱一样,可以语音控制播放音乐。经过这些日子的倒腾,今天终于实现了。接下里,和大家分享下我的实现方法:首先音乐播放模块用的是我在上一篇博文写的《用sounddevice实现连续的音乐曲库播放》,然后语义解析部分依旧用的是RAS......
  • 树莓派操作系统-利用Makefile创建内核镜像文件kernel8.img
    编写树莓派内核映像的过程可以等同于gcc的编译过程:预处理、编译、汇编、链接,后面还会加一步:将可执行文件转换成二进制的镜像文件。在MakeFile里的构建过程分为3步:1.将.c文件经过预处理、编译、汇编生成.o文件,将.S文件经过汇编生成.o文件。2.将.o文件经过链接生成.elf可执行文件......
  • 动物目标检测——基于YOLOv5和树莓派4B平台
    目标检测在计算机视觉领域中具有重要意义。YOLOv5(YouOnlyLookOne-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过......
  • Windows电脑使用VNC远程连接本地局域网无公网IP树莓派5
    文章目录前言1.使用RaspberryPiImager安装RaspberryPiOS2.Windows安装VNC远程树莓派3.使用VNCViewer公网远程访问树莓派3.1安装Cpolar步骤3.2配置固定的公网地址3.3VNC远程连接测试4.固定远程连接公网地址4.1固定TCP地址测试前言树莓派因其小巧的......
  • 记录一个vscode无法ssh树莓派,但是mobaxterm可以ssh登录的问题
    一、为什么会遇到这个问题帮别人开发一个树莓派小车的时候,买了一个新的树莓派3B,回来安装好桌面系统之后开启了ssh功能,便想开始使用vscode来ssh开发,省的后续一直要插着屏幕开发,很麻烦。但是问题就来了,在确认过hostname、IP地址、端口都无误的情况下,vscode无论无何都没法ssh登录,于......
  • FreeSwitch之TTS 对接paddlespeech (windowsJava版)
    本来计划FreeSwitch通过tts_commandline对接第三方语音合成,但是由于在家安装的是windows版本,系统安装后mod缺少commandline模版,所以导致无法使用该模版。系统自带的TTS引起filter效果非常差,且不支持中文语音合成,导致在测试的过程中很多工作进行不下去。家里的电脑是windows10......