MockingBird是一个AI拟声软件,它号称5秒内克隆您的声音并生成任意语音内容。最近在b站有刷到,觉得很有趣就拿来玩玩。它是基于PyTorch的,所以环境安装也是有点麻烦。

1 环境安装

1.1 代码下载

https://github.com/babysor/MockingBird 下载源代码ZIP或
git clone https://github.com/babysor/MockingBird.git

1.2 Python PyTorch安装

可以安装CPU版或GPU版的,具体安装代码根据官网进行选择:https://pytorch.org/get-started/locally/
PyTorch安装

例如Pytorch 1.10、Windows、pip、CPU版即使用以下代码安装:
pip install torch torchvision torchaudio

1.3 ffmpeg安装

ffmpeg可以在 https://github.com/BtbN/FFmpeg-Builds/releases 下载
下载完成后放到一个你喜欢的目录下面,然后给这个目录添加环境变量(Path)

1.4 依赖安装

在MockingBird目录下执行:
pip install -r requirements.txt

2 模型使用

可以自己训练模型,也可以下载预训练的模型,推荐:
@miven 的模型:https://pan.baidu.com/s/1PI-hM3sn5wbeChRryX-RCQ 提取码:2021
下载好之后,复制到目录下,其中/sythesizer/saved_models_mandarin/ceshi.pt即要使用的模型。
encoder对拟声效果影响不大,vocoder用Griffin-Lim比较好,噪音较小。
另外,使用此模型需要切换到tag v0.0.1或者按照https://github.com/babysor/MockingBird/issues/37 修复。

3 拟声使用

MockingBird

3.1 加载音频

点击“Browse”选择源音频,这里以【比翼琪霏】随便听听中方琪的一段语音为例,左边可以选择加载的语音,点击Play/Stop可以听加载的声音:
语音1:“还有挺多话想讲的,但是打开备忘录又不知道该写些什么”

3.2 选择模型

Encoder选pretrained,Sythesizer用下载的ceshi,Vocoder使用Griffin-Lim

3.3 生成语音

右上角输入要生成的内容,为了与真实声音比对,选了另一段话,点击“Synthesize and vocode”即可生成并自动播放语音

基于1生成的2:“就熬到了今天早上七点,所以你就随便听听把”

与她的真实声音相比较:
语音2:”就熬到了今天早上七点,所以你就随便听听把”

可见,效果还是很不错的,与真实声音很相像了。

3.4 语音导出

左边可选生成的语音段落,Replay进行播放,Export导出

4 常见问题

4.1 模型运行有误

切换到tag v0.0.1或按https://github.com/babysor/MockingBird/issues/37 修复。

4.2 打开程序有误(声音设备有中文)

设置->时间和语言->区域->其他日期、时间和区域设置->区域->管理->更改系统区域设置->Beta版勾上

控制面板->时钟和区域->更改日期、时间或数字格式->区域->管理->更改系统区域设置->Beta版勾上

开启UTF-8支持
3.jpg

5 结语

我觉得这个模型最厉害的地方在于只需要很短的一段声音就可以拟声出一个人的任何语音,效果非常相像。以往的认知可能要一个特定的人的大量声音素材,才能合成任何语音,而现在只需要大概5秒左右。希望这个以后这个合成的声音能更人性化一点,那可就牛了。