文字转语音 Text To Speech

文字转语音 Text To Speech

很多时候都会遇到需要这种服务,阿里的实在太难听,微软还没有信用卡。再找找还有木有其他方式。

云服务

各家云厂商(阿里、腾讯、百度、微软、谷歌等等)一般都会提供这种接口,大部分还允许提供训练语音来训练自己的模型,价格也很便宜。但一定是要求客户端联网。

本地搭建服务

TTS发展至今,也已经有了很多开源的实现。这次就尝试搭建几个玩一下。

coqui-ai

提供了docker镜像:

docker run --rm -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu
python3 TTS/server/server.py --list_models #To get the list of available models
python3 TTS/server/server.py --model_name tts_models/en/vctk/vits # To start a server

这个是CPU版本的。

内置了一个中文的模型,默认模型效果并没有比前述的云服务好到哪里。
其他的中文模型还是找不到。

PaddleSpeech

基于百度飞桨的语音方向的开源模型库。
同样给出了Docker的镜像

悲催的是这个模型内存需求太大了,14.5G,把3070爆了。

vits

参照这位B站UP,Saya睡大觉中,其vits模型下载链接以及使用教程
本地部署后,生成速度和效果都很满意。
但要注意,这里的模型好像是CjangCjengh版VITS
不是原版VITS

Unity调用

没有找到合适的HttpAPI,只能用Process本地命令行的方式去调用了。
这里又遇到了中文乱码问题。具体原因是Unity开启的Process的程序的Console.InputEncoding默认会采用OSEncoding,并不是UTF-8。而单纯的C#控制台开启的Process却是UTF-8。大概与这个issues有关。
解决方案就是修改Windows的语言设置:


文字转语音 Text To Speech
https://www.kuanmi.top/2023/02/06/TTS/
作者
KuanMi
发布于
2023年2月7日
许可协议