一款文本转语音工具 - 迷途小书童的Note迷途小书童的Note
source link: https://xugaoxiang.com/2023/03/02/tortoise-tts/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
- ubuntu 18.04 64bit
- Nvidia GTX 1070Ti 8G
Tortoise
是一个开源的 Text-To-Speech
程序,具有强大的文本转语音功能和高度逼真的语音和语调。
创建一个全新的 python
虚拟环境
conda create -n tts python=3.8
conda activate tts
然后,拉取源码,安装依赖
git clone https://github.com/neonbjb/tortoise-tts.git
cd tortoise-tts
pip install -r requirements.txt
python setup.py install
将单句文本转换成语音
python tortoise/do_tts.py --text "I'm going to speak this" --voice random --preset fast
脚本执行成功后,在文件夹 results
会生成3个音频 wav
文件,声音是随机匹配的,生成的音频,大家可以听听,感受一下效果
音频播放器 音频播放器 音频播放器
当前系统中所有的可用声音都存放在目录 tortoise/voices
下面,如果中意哪个人的声音,可以在脚本参数中指定, train_
打头的效果会更好
python tortoise/do_tts.py --text "I'm going to speak this" --voice tom --preset fast
tom
版的声音也感受一下
音频播放器 音频播放器 音频播放器
如果有很多的文本需要处理,可以将它们放在一个文本文件里,比如
Hello world.
Hello Rust.
Nice to meet you.
然后执行脚本
python tortoise/read.py --textfile test.txt --voice random
脚本会将文本文件分解成一个个的句子,然后分别将它们转换为语音。待所有的语句都生成后,再将它们组合成一个文件并输出
音频播放器
最后,来看看中文的表现
python tortoise/do_tts.py --text "你好,世界" --voice random --preset fast
音频播放器 音频播放器 音频播放器
这效果也太差了点,看了看 issues
,https://github.com/neonbjb/tortoise-tts/issues/5,目前官方还不支持其它语言,需要自己去训练 wav2vec
模型
自定义声音
如果想把特定的声音加入到 tortoise
中,需要如下步骤
- 搜集特定人的音频片段
- 将音频整理成大概10秒左右的一个个小片段,至少需要3个片段,越多越好
- 音频片段使用
wav
格式,采样率 22050 - 在目录
tortoise/voices
下创建一个新的文件夹,以声音人名命名,方便记忆,比如zhangsan
,然后将上面整理好的wav
文件拷贝进来 - 最后的使用就是在脚本中参数
--voice
指定为zhangsan
脚本运行期间,会从 huggingface
站点上下载一堆的模型文件,这里打包了一下,存放在了云盘里,自取
链接:https://pan.baidu.com/s/1EJD4N2yamDNh6X_0GtoaRQ
提取码:3qrq
下载后,解压缩后拷贝到目录 ~/.cache
,文件结构如下
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK