测试环境
设备 | 电脑信息 | 显卡 |
---|---|---|
A | 处理器 Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz 2.90 GHz 机带 RAM 32.0 GB (31.7 GB 可用) 系统类型 64 位操作系统, 基于 x64 的处理器 | NVIDIA GeForce GTX 1060 5GB |
B | 处理器 Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz 3.40 GHz 机带 RAM 8.00 GB 系统类型 64 位操作系统, 基于 x64 的处理器 | NVIDIA GeForce GTX 1050 Ti |
C |
文本生成声音
Fish Speech
官网
官网直接使用:Fish Audio: Free Generative AI Text To Speech & Voice Cloning 通过官网的 例子 可以感受到强大。
可以克隆声音:https://fish.audio/zh-CN/train/new-model/
官网的文本生成语音的速度:500字以内3秒出结果。
本地部署
官网安装 介绍,参考: 在WSL2
里安装:
# 创建一个 python 3.10 虚拟环境, 你也可以用 virtualenv
conda create -n fish-speech python=3.10
conda activate fish-speech
# 安装 pytorch
pip3 install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121
# 安装 fish-speech
pip3 install -e .
# (开启编译加速) 安装 triton-windows
pip install https://github.com/AnyaCoder/fish-speech/releases/download/v0.1.0/triton_windows-0.1.0-py3-none-any.whl
提示:CUDA is not available, running on CPU.
安装 CUDA Toolkit
运行:
cd tools/
python run_webui.py
成功启动提示:
Warming up done, launching the web UI...
* Running on local URL: http://127.0.0.1:7860
浏览器访问:http://127.0.0.1:7860
出现错误:**'list' object has no attribute 'strip'**
,解决办法:Use Memory Cache
勾选 off
测试发现特别慢,不知道是不是跟CUDA is not available
有关系,重启电脑后不再出现这个提示,应该是启用了,速度是稍微快了点,但是整体还是很慢。500字以内的文本在设备A上用了70多秒才完成。添加上参数--compile
重新启动,发现电脑性能跟不上,提示:
backend='inductor' raised: RuntimeError: Found NVIDIA GeForce GTX 1060 5GB which is too old to be supported by the triton GPU compiler, which is used as the backend. Triton only supports devices of CUDA Capability >= 7.0, but your device is of CUDA capability 6.1 Set TORCH_LOGS="+dynamo" and TORCHDYNAMO_VERBOSE=1 for more information You can suppress this exception and fall back to eager by setting: import torch._dynamo torch._dynamo.config.suppress_errors = True
使用效果:
- 官网速度和效果较好,但是每次限制500字,且网站被墙,国内没办法直接访问。
- 本地部署对电脑性能要求较高,速度非常慢,期待官网能够继续优化吧。
- 本地合成的语音效果不如官网,感觉不是很像原音,但是勉强能用。
MoneyPrinterTurbo
harry0703/MoneyPrinterTurbo: 利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
下载后解压,运行update.bat
进行更新,按照官方的推荐用法是使用本地服务器的形式,运行start.bat
。
但是这种用Web网页的形式不方便,我们进行改造一下,可以直接调用命令行方式使用。
- 安装Python依赖库,
pip install -r MoneyPrinterTurbo\requirements.txt
- 在目录:
MoneyPrinterTurbo\webui
下新建tts.py
,内容如下:
import os
import sys
# Add the root directory of the project to the system path to allow importing modules from the project
root_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
if root_dir not in sys.path:
sys.path.append(root_dir)
print("******** sys.path ********")
print(sys.path)
print("")
from app.services import voice
play_content = '''
这里填想要生成语音的文本
'''
voice_name = 'zh-CN-XiaoxiaoNeural'
voice_rate = 1.0
audio_file = 'e:\\test.mp3'
sub_maker = voice.tts(
text=play_content,
voice_name=voice_name,
voice_rate=voice_rate,
voice_file=audio_file,
)
# if the voice file generation failed, try again with a default content.
if not sub_maker:
play_content = "This is a example voice. if you hear this, the voice synthesis failed with the original content."
sub_maker = voice.tts(
text=play_content,
voice_name=voice_name,
voice_rate=voice_rate,
voice_file=audio_file,
)
使用时修改文本内容、声音名称、保存文件路径即可。
2024-12-06 17:57:43.709 | INFO | app.config.config:load_config:22 - load config from file: E:\soft\MoneyPrinterTurbo-Portable-Windows-1.2.1\MoneyPrinterTurbo/config.toml 2024-12-06 17:57:43.710 | INFO | app.config.config:<module>:70 - MoneyPrinterTurbo v1.2.2 2024-12-06 17:57:43 | INFO | "./app\services\voice.py:1081": azure_tts_v1 - start, voice name: zh-CN-XiaoxiaoNeural, try: 1 2024-12-06 17:57:48 | INFO | "./app\services\voice.py:1101": azure_tts_v1 - completed, output file: e:\test.mp3
使用效果:
- 预制的声音选项较多,也支持中文,合成的声音自然,已经接近商用水平了,效果很好。
- 截止到目前(2024-12-12),还不支持自定义声音克隆,期待增加。
MockingBird
安装步骤可以参考这个图文教程:初尝 Mocking Bird 语音合成 或 初尝 Mocking Bird 语音合成,介绍地比较详细。
安装Python3。选用 镜像网站 下载Python3.9.13安装包:python-3.9.13-amd64.exe。这里一定要尽量贴合官方推荐的版本,过高的版本后面会存在莫名其妙的问题。
下载项目代码。创建
MockingBird
文件夹,clone项目代码或者直接下载ZIP包后解压到该目录下。创建Python虚拟环境。在
MockingBird
根目录下执行命令:D:\Python\Python39\python.exe -m venv venv
然后在该目录下执行命令验证虚拟环境是否安装成功:venv\Scripts\pip3 -V
安装 PyTorch。选择好适合本机的参数,复制安装命令并执行,例如:
.\venv\Scripts\python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装ffmpeg。打开ffmpeg网址选
ffmpeg-master-latest-win64-gpl.zip
下载,安装后设置好环境变量,确保直接使用命令能够访问到ffmpeg。安装Python依赖库。运行
.\venv\Scripts\python -m pip install -r requirements.txt
来安装,如果速度较慢可以使用国内镜像。monotonic-align
的版本问题官方代码已经修过了,因此这里无须再做额外修改。- 如果本机电脑没有安装VisualStudio,需要安装之。
PydanticImportError:pydantic:parse raw as has been removed in V2.
,这开源项目,这东西已被从V2中移除,这兼容性一言难尽。修复方法是安装旧版的,把pydantic
版本降下来,执行.\venv\Scripts\python -m pip install "pydantic < 2.0.0"
运行
.\venv\Scripts\python web.py
,You can now view your Streamlit app in your browser. Local URL: http://localhost:8080 Network URL: http://10.219.21.30:8080 External URL: http://103.126.92.182:8080
在浏览器中访问:http://localhost:8080,出现错误,主要原因是缺少模型文件,需要下载并配置。
下载并配置模型文件。https://pan.baidu.com/share/init?surl=fMh9IlgKJlL2PIiRTYDUvw?pwd=om7f,或者 https://pan.baidu.com/s/1jgSUX6I732CScoYPjzIW0g?pwd=w331 下载后将模型文件(例如:
pretrained-11-7-21_75k.pt
)放入\data\ckpt\synthesizer
中,synthesizer
是新建的文件夹,源代码中是不存在。重新运行
.\venv\Scripts\python web.py
,在浏览器中访问:http://localhost:8080- 如果缺少模块
audio recorder_streamlit
,则安装:`.venv\Scripts\python -m pip install audio recorder_streamlit
- 如果缺少模块
使用效果:
- 安装过程稍微有点复杂。
- 成功运行后的浏览器页面是挺简单的。
- 亮点是支持自定义声音克隆,但是语音合成效果很差,没法使用。
- 支持中文,杂音较多,可能跟WAV的纯净度有关,生成的声音有些文字压根就没有出来,就是一堆噪音,另外读起来也是一个字一个字蹦出来的,不够自然流畅。
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/soft/tts%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90%E5%A3%B0%E9%9F%B3.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)