5秒钟克隆你的声音,有点吓人

环境

  • windows 10 64bit

  • python 3.8

  • pytorch 1.7 + cu101

  • ffmpeg

前言

今天给大家介绍一个语音合成的工具,MockingBird,仅仅使用5秒钟就可以模拟出你想要的声音,难能可贵的是,MockingBird还支持普通话。

安装

首先安装ffmpeg,它是用来进行音视频处理的。从官网下载编译好的二进制文件 http://ffmpeg.org/download.html,尽量下载较新的版本,并将其路径加入到系统环境变量中

mockingbird ffmpeg

创建一个全新的python虚拟环境

conda create -n pytorch1.7 python=3.8
conda activate pytorch1.7

接下来去下载MockingBird源码,并安装相应依赖

git clone https://github.com/babysor/MockingBird.git
cd MockingBird

# 安装gpu版torch和torchvision
pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

# 安装其他依赖
pip install -r requirements.txt

# 这个库是用来进行噪音过滤的
pip install webrtcvad

# 如果是linux的话,使用apt安装ffmpeg
sudo apt install ffmpeg portaudio19-dev
pip install pyaudio

为了进行测试,还需要下载预训练模型

链接:https://pan.baidu.com/s/1nj3GWZWWOvh6QFpl9LSAzw
提取码:nbmc

下载完成后,将saved_models文件夹放在源码目录下的synthesizer文件夹下

测试

使用作者提供的预训练模型测试时,会报错

RuntimeError: Error(s) in loading state_dict for Tacotron: size mismatch for encoder.embedding.weight: copying a param with shape torch.Size([70, 512]) from checkpoint, the shape in current model is torch.Size([75, 512]).

这个错误需要修改源码文件synthesizer/utils/symbols.py,将

_characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!\'(),-.:;? '

改成

_characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz12340!\'(),-.:;? '

然后就可以开始进行测试了

python demo_toolbox.py

mockingbird

这里直接录音测试,点击Record,完成后点击Play可以播放。Encoder选择pretrainedSynthesizer选择ceshi,点击右上框的Synthesize and vocode,完成后就可以听到合成后的声音了

mockingbird

参考资料

  • https://github.com/babysor/MockingBird

  • https://xugaoxiang.com/2019/12/08/anaconda/

  • https://github.com/babysor/MockingBird/issues/37

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷途小书童的Note

请博主喝矿泉书!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值