tofu2333 / blog

0 stars 0 forks source link

初尝 Mocking Bird 语音合成 #29

Open tofu2333 opened 1 year ago

tofu2333 commented 1 year ago

Mocking Bird 是一个实时语音克隆项目,可在 5 秒内克隆声音并生成任意语音内容。

官方安装环境教程

运行工具箱(demo_toolbox.py)需要 Python 3.7 或更高版本。

或者

安装步骤

安装Python

按照官方给出的教程进行安装,首先是安装Python3,这里装的是Python3.9.13。选用镜像网站下载Python3安装包。在网站中找到python-3.9.13-amd64.exe,点击下载。 下载Python安装包 Python3.9.13安装的步骤如下,安装位置在哪里都行,方便寻找这里安装在D盘。 安装Python 安装Python 安装Python 安装Python 安装Python

安装CUDA

进入PyTorch官网,选用GPU,如果GPU不支持选用CPU方式安装。 PyTorch选择 这里显示的是CUDA11.8,进入CUDA官网下载,根据电脑配置选择,安装类型选local 下载CUDA

CUDA安装如下

安装CUDA 安装CUDA 安装CUDA 安装CUDA 安装CUDA 安装CUDA 安装CUDA

安装PyTorch

选一个剩余空间多的盘,创建MockingBird文件夹,进入这个文件夹,按住键盘上的Shift键的同时按下鼠标的右键,选在此处打开Powershell窗口,在里面输入python -m venv venv来实现创建虚拟环境,防止影响其他Python项目。 创建Python虚拟环境 输入.venv\Scripts\pip3 -V回车得到类似下面的输出那么虚拟环境搭建成功。 检测Python虚拟环境 输入.\venv\Scripts\python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118进行安装PyTorch安装PyTorch 安装PyTorch中 pip安装pytorch完成

安装ffmpeg

打开ffmpeg网址ffmpeg-master-latest-win64-gpl.zip下载。 ffmpeg下载 将下载得到的zip包解压,并将其中的文件夹放入D盘的Program Files文件夹内。 放置ffmpeg文件夹 这时候ffmpeg还没完全安装结束,还需要设置环境变量,打开win10设置。 win10设置 找到win10设置中的关于打开高级系统设置win10设置关于 找到系统属性中的环境变量系统属性 选中Path,点击编辑环境变量 新建环境变量,这里ffmpeg放在了D盘的Program Files中,路径为D:\Program Files\ffmpeg-master-latest-win64-gpl,将ffmpeg文件夹中bin文件夹的路径输入环境变量中,最后全部一路点确定ffmpge环境变量 检测ffmpeg环境变量是否设置成功,打开新的Powershell窗口,输入ffmpeg -version,如有以下输出,则说明ffmpeg的环境变量没问题。 检测ffmpeg环境变量

安装剩余的包

此时项目源码还没下载,打开项目开源地址MockingBird下载源代码。 下载项目源码 下载好的是zip包,解压后将里面的源代码复制到一开始创建的MockingBird文件夹里。 复制源码 在该目录下打开PowerShell窗口,输入.\venv\Scripts\python -m pip install -r requirements.txt安装剩余的包 这时候报错了,ERROR: No matching distribution found for monotonic-align==0.0.3报错-1 解决办法是打开目录下的requirements.txt文件,将==0.0.3删掉,然后再次执行.\venv\Scripts\python -m pip install -r requirements.txt安装剩余的包。 修复-1 不出意外又要出意外,第二个报错出现了,ERROR: Failed building wheel for monotonic- align,再往下看报错信息,是缺少了C++编译环境导致无法编译成功。 报错-2 解决办法是安装相应的环境,这里直接安装Visual Studio来修复。打开Visual Studio官网下载社区版就行了,下完后就进行安装,步骤如下。 Visual Studio安装 Visual Studio安装 将安装位置改为D盘。 Visual Studio安装位置 工作负荷中只选使用C++的桌面开发,然后点右下角的安装,等待安装完成。 Visual Studio工作负荷 Visual Studio安装中 等待VS安装完后,再次执行.\venv\Scripts\python -m pip install -r requirements.txt安装剩余的包,这次就能成功编译。 编译安装完成 接着再输入.\venv\Scripts\python -m pip install webrtcvad-wheels继续安装。 安装剩余的包 至此,项目环境基本搭建完成。

运行Mocking Bird

输入执行.\venv\Scripts\python web.py,会弹出一个防火墙,都勾上并点允许。 防火墙 解决防火墙后又又看到报错了,PydanticImportError:pydantic:parse raw as has been removed in V2.,这开源项目,这东西已被从V2中移除,这兼容性一言难尽。 报错-3 修复方法是安装旧版的,把 pydantic 版本降下来pip install "pydantic < 2.0.0",执行.\venv\Scripts\python -m pip install "pydantic < 2.0.0",等待安装完成后,再次执行.\venv\Scripts\python web.py,就成功跑起来了。 运行web 打开浏览器输入http://localhost:8080/即可看到效果,但是又报了一个错误,是缺少了模型文件。 缺少模型 去下载项目作者给出的模型https://pan.baidu.com/s/1iONvRxmkI-t1nHqxKytY3g 密码:4j5d(该链接挂了) 链接:https://pan.baidu.com/s/1jgSUX6I732CScoYPjzIW0g?pwd=w331 慢速下载 将模型放入\data\ckpt\synthesizer中,synthesizer是新建的文件夹,源代码中是不存在。 放置模型文件 在PowerShell中按下Ctrl + C停止web端,再次重新执行.\venv\Scripts\python web.py,但是又又又看到一个报错,缺少模块。 第四个错误 缺少,那就安装。执行.venv\Scripts\python -m pip install audio recorder_streamlit 安装缺少的模块 装完后再次运行web.py,这次终于没报错了,点击合成语音也能成功合成,cuda也动了起来。 CUDA

参考资料:

Tiriri-Mokina commented 10 months ago

感谢教程!

Tiriri-Mokina commented 10 months ago

合成时报错,请问一下怎么解决RuntimeError: Error(s) in loading state_dict for Tacotron: size mismatch for gst.stl.attention.W_query.weight: copying a param with shape torch.Size([512, 256]) from checkpoint, the shape in current model is torch.Size([512, 512]). 283043570-f2bc7dac-d638-42aa-979c-9578072a4be1

tofu2333 commented 8 months ago

合成时报错,请问一下怎么解决RuntimeError: Error(s) in loading state_dict for Tacotron: size mismatch for gst.stl.attention.W_query.weight: copying a param with shape torch.Size([512, 256]) from checkpoint, the shape in current model is torch.Size([512, 512]). 283043570-f2bc7dac-d638-42aa-979c-9578072a4be1

如果是按照我的教程来的,这是因为模型不匹配,需要使用这个另一个模型,原作者百度盘挂了,我分享之前下载的给你。 通过百度网盘分享的文件:pretrain....pt 链接:https://pan.baidu.com/s/1jgSUX6I732CScoYPjzIW0g?pwd=w331 提取码:w331 复制这段内容打开「百度网盘APP 即可获取」