jianchang512 / clone-voice
- суббота, 23 декабря 2023 г. в 00:00:03
一个带web界面的声音克隆工具,使用你的音色或任意声音来录制音频
加入Discord讨论 / QQ群 902124277
该项目所用模型均源于 https://github.com/coqui-ai/TTS ,模型协议为CPML只可用于学习研究,不可商用
这是一个声音克隆工具,可使用任何人类音色,将一段文字合成为使用该音色说话的声音,或者将一个声音使用该音色转换为另一个声音。
使用非常简单,没有N卡GPU也可以使用,下载预编译版本,双击 app.exe 打开一个web界面,鼠标点点就能用。
支持 中文、英文、日语、韩语 4种语言,可在线从麦克风录制声音。
为保证合成效果,建议录制时长5秒到20秒,发音清晰准确,不要存在背景噪声。
英文效果很棒,中文效果还凑合。
转换操作步骤
如需GPU支持,请拉取源码本地编译
源码版需要全局代理,因为要从 https://huggingface.co 下载模型,而这个网址国内无法访问
要求 python 3.9+, 并开启全局代理,确保代理稳定
创建空目录,比如 E:/clone-voice
创建虚拟环境 python -m venv venv
激活环境 cd venv/scripts
,activate
,cd ../..
安装依赖 CPU版: pip install -r requirements.txt
, GPU版:pip install -r requirements-gpu.txt
解压 ffmpeg.7z 到项目根目录
首先运行 python code_dev.py
,在提示同意协议时,输入 y
,然后等待模型下载完毕。
下载模型需要挂全局代理,模型非常大,如果代理不够稳定可靠,可能会遇到很多错误,大部分的错误均是代理问题导致。
如果显示下载多个模型均成功了,但最后还是提示“Downloading WavLM model”错误,则需要修改库包文件 \venv\Lib\site-packages\aiohttp\client.py
, 在大约535行附近,if proxy is not None:
上面一行添加你的代理地址,比如 proxy="http://127.0.0.1:10809"
.
下载完毕后,再启动 python app.py
,
每次启动都会连接墙外检测或更新模型,请耐心等待。如果不想每次启动都检测或更新,需手动修改依赖包下文件,打开 \venv\Lib\site-packages\TTS\utils\manage.py ,大约 389 行附近,def download_model 方法中,注释掉如下代码
if md5sum is not None:
md5sum_file = os.path.join(output_path, "hash.md5")
if os.path.isfile(md5sum_file):
with open(md5sum_file, mode="r") as f:
if not f.read() == md5sum:
print(f" > {model_name} has been updated, clearing model cache...")
self.create_dir_and_download_model(model_name, model_item, output_path)
else:
print(f" > {model_name} is already downloaded.")
else:
print(f" > {model_name} has been updated, clearing model cache...")
self.create_dir_and_download_model(model_name, model_item, output_path)
安装CUDA工具
如果你的电脑拥有 Nvidia 显卡,先升级显卡驱动到最新,然后去安装对应的 CUDA Toolkit 11.8 和 cudnn for CUDA11.X。
安装完成成,按Win + R
,输入 cmd
然后回车,在弹出的窗口中输入nvcc --version
,确认有版本信息显示,类似该图
然后继续输入nvidia-smi
,确认有输出信息,并且能看到cuda版本号,类似该图
说明安装正确,拉取源码本地部署,就可以cuda加速了,否则需重新安装
模型xtts仅可用于学习研究,不可用于商业
源码版需要全局代理,因为要从 https://huggingface.co 下载模型,而这个网址国内无法访问
启动后需要冷加载模型,会消耗一些时间,请耐心等待显示出http://127.0.0.1:9988
, 并自动打开浏览器页面后,稍等两三分钟后再进行转换
功能有:
文字到语音:即输入文字,用选定的音色生成声音,这个功能预编译已包含模型,开箱即用。
声音到声音:即从本地选择一个音频文件,用选定的音色生成另一个音频文件,为减小预编译版体积,没有包含在内,需要单独下载模型,放在app.exe 同目录下的tts文件夹中,解压到当前文件夹下,解压后会多两个文件夹,`voice_conversion_models--multilingual--vctk--freevc24`和`wavlm`,请确保位置正确
如果打开的cmd窗口很久不动,需要在上面按下回车才继续输出,请在cmd左上角图标上单击,选择“属性”,然后取消“快速编辑”和“插入模式”的复选框