初尝 Mocking Bird 语音合成
Mocking Bird
是一款实时语音克隆工具,号称可以在 5 秒内克隆声音并生成任意语音内容。文章详细记录了从 Python
环境搭建到项目成功运行的步骤,包括 Python
、CUDA
、PyTorch
、ffmpeg
的安装,以及各种依赖包的安装和问题解决。在安装过程中遇到了多个报错,并提供了相应的解决方案。成功运行了 web
界面,并验证了语音合成功能。 # 官方安装环境教程 运行工具箱(demo_toolbox.py)需要 Python 3.7 或更高版本。 - 安装 PyTorch - 如果在用 pip 方式安装的时候出现 ERROR: Could not find a version that satisfies the requirement torch==1.9.0+cu102 (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2) 这个错误可能是 python 版本过低,3.9 可以安装成功 - 安装 ffmpeg - 运行 pip install -r requirements.txt
来安装剩余的必要包。 - 安装 webrtcvad pip install webrtcvad-wheels
。
或者 - 用 conda
或者 mamba
安装依赖 conda env create -n env_name -f env.yml
mamba env create -n env_name -f env.yml
会创建新环境安装必须的依赖. 之后用 conda activate env_name
切换环境就完成了. - env.yml只包含了运行时必要的依赖,暂时不包括monotonic-align,如果想要装GPU版本的pytorch可以查看官网教程。
安装步骤
安装Python
按照官方给出的教程进行安装,首先是安装Python3,这里装的是Python3.9.13。选用镜像网站下载Python3安装包。在网站中找到python-3.9.13-amd64.exe
,点击下载。 Python3.9.13安装的步骤如下,安装位置在哪里都行,方便寻找这里安装在D盘。




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






安装PyTorch
选一个剩余空间多的盘,创建MockingBird
文件夹,进入这个文件夹,按住键盘上的Shift
键的同时按下鼠标的右键,选在此处打开Powershell窗口
,在里面输入python -m venv venv
来实现创建虚拟环境,防止影响其他Python项目。 输入
.venv\Scripts\pip3 -V
回车得到类似下面的输出那么虚拟环境搭建成功。 输入
.\venv\Scripts\python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
进行安装PyTorch
。
安装ffmpeg
打开ffmpeg网址选ffmpeg-master-latest-win64-gpl.zip
下载。 将下载得到的zip包解压,并将其中的文件夹放入D盘的
Program Files
文件夹内。 这时候ffmpeg还没完全安装结束,还需要设置环境变量,打开win10设置。
找到win10设置中的
关于
打开高级系统设置
。 找到系统属性中的
环境变量
。 选中
Path
,点击编辑
。 新建环境变量,这里ffmpeg放在了D盘的
Program Files
中,路径为D:\Program Files\ffmpeg-master-latest-win64-gpl
,将ffmpeg文件夹中bin
文件夹的路径输入环境变量中,最后全部一路点确定
。 检测ffmpeg环境变量是否设置成功,打开新的Powershell窗口,输入
ffmpeg -version
,如有以下输出,则说明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
。 解决办法是打开目录下的
requirements.txt
文件,将==0.0.3
删掉,然后再次执行.\venv\Scripts\python -m pip install -r requirements.txt
安装剩余的包。 不出意外又要出意外,第二个报错出现了,
ERROR: Failed building wheel for monotonic- align
,再往下看报错信息,是缺少了C++编译环境导致无法编译成功。 解决办法是安装相应的环境,这里直接安装
Visual Studio
来修复。打开Visual Studio官网下载社区版就行了,下完后就进行安装,步骤如下。
将安装位置改为D盘。
工作负荷中只选
使用C++的桌面开发
,然后点右下角的安装
,等待安装完成。
等待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中移除,这兼容性一言难尽。 修复方法是安装旧版的,把 pydantic 版本降下来
pip install "pydantic < 2.0.0"
,执行.\venv\Scripts\python -m pip install "pydantic < 2.0.0"
,等待安装完成后,再次执行.\venv\Scripts\python web.py
,就成功跑起来了。 打开浏览器输入
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也动了起来。
参考资料:
- MockingBird README-CN
- 可以运行demo_toolbox.py,运行web.py报错
- 下载剩余的包 pip install -r requirements.txt 报错
- Could not find a version that satisfies the requirement monotonic-align==0.0.3 (from versions: 1.0.0)
- requirements里面的monotonic-align==0.0.3安装失败
- python安装包国内镜像,pip使用国内镜像