今天给大家介绍一个语音合成的工具,
MockingBird
,仅仅使用5秒钟就可以模拟出你想要的声音,难能可贵的是,
MockingBird
还支持普通话。
首先安装
ffmpeg
,它是用来进行音视频处理的。从官网下载编译好的二进制文件
ffmpeg.org/download.ht…
,尽量下载较新的版本,并将其路径加入到系统环境变量中
创建一个全新的
python
虚拟环境
conda create -n pytorch1.7 python=3.8
conda activate pytorch1.7
接下来去下载MockingBird
源码,并安装相应依赖
git clone https://github.com/babysor/MockingBird.git
cd MockingBird
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
sudo apt install ffmpeg portaudio19-dev
pip install pyaudio
为了进行测试,还需要下载预训练模型
链接:pan.baidu.com/s/1nj3GWZWW…
提取码: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
这里直接录音测试,点击Record
,完成后点击Play
可以播放。Encoder
选择pretrained
,Synthesizer
选择ceshi
,点击右上框的Synthesize and vocode
,完成后就可以听到合成后的声音了
github.com/babysor/Moc…
xugaoxiang.com/2019/12/08/…
github.com/babysor/Moc…
迷途小书童的Note
粉丝