敢一个时髦,我也来玩一下TTS,因为有一个想法,自己打的文字可以用自己的声音读出来,找到一个开源项目,就开始搞起来试试,安装环境还是挺多坑的。
项目地址
https://github.com/babysor/MockingBird
git clone项目到本地,然后安装环境,开始体验。
操作方式
1、环境安装
1、1安装python环境
代码语言:javascript复制yum install python39
1、2指定系统默认python版本
代码语言:javascript复制[root@VM-80-70-centos alternatives]# update-alternatives --config python3
There are 3 programs which provide 'python3'.
Selection Command
-----------------------------------------------
1 /usr/bin/python3.8
* 2 /usr/bin/python3.6
3 /usr/bin/python3.9
Enter to keep the current selection[ ], or type selection number:
这里默认是3.6,这个工程是不支持的,比如后续如果安装pytorch,就会报错
所以,这里输入3,选择3.9版本搞起,其实也可以系统python版本如果高于3.7也是可以不用安装python3.9,可直接进入安装pytorch。
1、3安装pytorch
代码语言:javascript复制pip3 install torch torchvision
验证一下是否安装成功
代码语言:javascript复制import torch
x = torch.rand(5, 3)
print(x)
#=============输出
1、4安装ffmpeg,这个比较复杂,最好是使用源码编译安装的方式,yum找源大概率报错
安装以及升级可以参考这里的步骤 https://trac.ffmpeg.org/wiki/CompilationGuide/Centos,整个过程网络ok的情况下至少需要半小时。
我这里只展示安装的步骤,升级可以通过上面的链接查找。
step1
代码语言:javascript复制yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c git libtool make pkgconfig zlib-devel
step2
代码语言:javascript复制mkdir ~/ffmpeg_sources
step3
代码语言:javascript复制cd ~/ffmpeg_sources
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
tar xjvf nasm-2.15.05.tar.bz2
cd nasm-2.15.05
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
step4
代码语言:javascript复制cd ~/ffmpeg_sources
curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
step5
代码语言:javascript复制cd ~/ffmpeg_sources
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
step6
代码语言:javascript复制cd ~/ffmpeg_sources
git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git
cd ~/ffmpeg_sources/x265_git/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install
step7
代码语言:javascript复制cd ~/ffmpeg_sources
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
step8
代码语言:javascript复制cd ~/ffmpeg_sources
curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
step9
代码语言:javascript复制cd ~/ffmpeg_sources
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
step10
代码语言:javascript复制cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install
step11
代码语言:javascript复制cd ~/ffmpeg_sources
curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure
--prefix="$HOME/ffmpeg_build"
--pkg-config-flags="--static"
--extra-cflags="-I$HOME/ffmpeg_build/include"
--extra-ldflags="-L$HOME/ffmpeg_build/lib"
--extra-libs=-lpthread
--extra-libs=-lm
--bindir="$HOME/bin"
--enable-gpl
--enable-libfdk_aac
--enable-libfreetype
--enable-libmp3lame
--enable-libopus
--enable-libvpx
--enable-libx264
--enable-libx265
--enable-nonfree
make
make install
hash -d ffmpeg
1、5安装python需要的包
代码语言:javascript复制cd /pathto/MockingBird #到里本地项目克隆路径下
pip3 install -r requirements.txt
什么鬼,安装直接报错
查了下资料,要解决这个问题,需要暗转下python39的devel,于是
代码语言:javascript复制# 安装EPEL源
yum install epel-release -y
# 安装python3开发包
yum install python39-devel -y
这里大概就有我们需要的头文件了,然后在重试一次
这一次果断就成功了。
继续安装一个可选的依赖
代码语言:javascript复制pip3 install webrtcvad-wheels
至此,整个环境的安装才算完毕,我初步估算了下,大概需要45分钟左右部署好环境。
2、准备模型
这里我直接使用社区准备好的模型
作者 | https://pan.baidu.com/s/1iONvRxmkI-t1nHqxKytY3g 百度盘链接 4j5d | 75k steps 用3个开源数据集混合训练 | |
---|---|---|---|
3、打开web网页
代码语言:javascript复制python web.py
什么鬼,又一个报错
查了下,需要安装
代码语言:javascript复制yum install libsndfile
运行成功后在浏览器打开地址,默认为 http://localhost:8080
这就表示已经玩起来了。
注意,开始synthesizer是没有模型的,需要自己把第二步下载好的模型复制到
这个目录下。