如何在CentOS 64上安装和使用Wine-实现微软中文,英文TTS

microsoft tts

最近公司一个项目需要实现Centos系统上的文本转语音即TTS功能,经过一番研究发现只有微软的转换效果最好,发音标准,且支持多达20多个国家的语言。有没有一种办法可以通过微软Windows平台下的SDK实现Linux系统Centos下的TTS功能呢?答案是有,那就是Wine。

Wine是“Wine Is Not an Emulator”的缩写,这表明Wine不是任何一种类型的模拟器。Wine不会模拟任何硬件环境,因此它的性能要比虚拟机和容器要好得多。实际上,Wine是一个系统调用的翻译层,负责将应用程序的Windows系统调用转换为Linux系统调用。这种方式会有一定的性能损失,但实际上较新版本的Windows要兼容较老的应用程序,也会在系统中引入类似的系统调用翻译层,所以性能损失几乎可以忽略不计。

下面就让我们看一下如何在虚拟环境下的CentOS系统中安装和使用Wine,实现微软的TTS文本转语言功能。

如何在CentOS 64上安装和使用Wine

一. 安装必要的依赖包

由于微软的SDK只支持32位,所以我们需要编译32位Wine,不过由于小C用的Centos 64位操作系统,在64位系统下32位的Wine编译安装会依赖64位的Wine,因此必须同时安装64位和32位的依赖包。 当然,如果你是32位的操作系统,就不需要安装64位Wine,直接编译安装32位的即可。

在Shell中运行以下命令

yum install flex.x86_64 bison.x86_64 glibc-devel.i686 dbus-devel.i686 freetype-devel.i686 pulseaudio-libs-devel.i686 libX11-devel.x86_64 libX11-devel.i686 mesa-libGLU-devel.i686 libICE-devel.i686 libXext-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXxf86vm-devel.i686 libXrender-devel.i686 libXinerama-devel.i686 libXcomposite-devel.i686 libXrandr-devel.i686 mesa-libGL-devel.i686 mesa-libOSMesa-devel.i686 libxml2-devel.i686 libxslt-devel.i686 zlib-devel.i686 gnutls-devel.i686 ncurses-devel.i686 sane-backends-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 libexif-devel.i686 lcms2-devel.i686 gettext-devel.i686 isdn4k-utils-devel.i686 cups-devel.i686 fontconfig-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pkgconfig.i686 libtiff-devel.i686 unixODBC.i686 openldap-devel.i686 alsa-lib-devel.i686 audiofile-devel.i686 freeglut-devel.i686 giflib-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 libXmu-devel.i686 libXxf86dga-devel.i686 libieee1284-devel.i686 libpng-devel.i686 librsvg2-devel.i686 libstdc++-devel.i686 libusb-devel.i686 unixODBC-devel.i686 qt-devel.i686 libpcap-devel.i686 -y

二. 下载Wine源码包

在Shell中运行以下命令,下载Wine的源码包:

cd /root/Downloads/
wget http://mirrors.ibiblio.org/wine/source/1.8/wine-1.8.7.tar.bz2

三. 编译安装Wine

在Shell中运行以下命令,编译安装Wine(注意,编译耗时较长,耐心等待):

tar xjf wine-1.8.7.tar.bz2
cd wine-1.8.7
mkdir -p wine32 wine64
cd wine64
../configure --enable-win64
make -j8

等待64位Wine编译完成,然后编译32位Wine:

cd ../wine32
PKG_CONFIG_PATH=/usr/lib/pkgconfig ../configure --with-wine64=../wine64
make -j8
make install
cd ../wine64 && make install

四. 64位和32位Wine编译安装完成,然后进入配置:

执行

WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg

过程中一直点取消不下载任何东西,最后设置系统为win7即可

五. 英文语音引擎所需软件下载:

安装微软TTS引擎分为两部分,一部分为平台接口,一部分为语音包,注意下载时全部选择32位版本。

下载微软TTS语音平台SpeechPlatformRuntime:

下载地址为:https://www.microsoft.com/en-us/download/details.aspx?id=27225

微软TTS语音包下载(有多种语言可供选择,下载你需要的,如英语ZiraPro和中文Huihui。)

首先安装英文语音包(MSSpeech_TTS_en-US_ZiraPro.msi),中文语音包(MSSpeech_TTS_zh-CN_HuiHui.msi)在按英文语音包的安装方法安装后并不能正常工作,需要额外的修复步骤。

下载语音包:

https://www.microsoft.com/en-us/download/details.aspx?id=27224

下载语音播放软件:

当然下载了引擎后我们还需要语音播放软件balabolka
本地直接下载地址:balcon
直接下载地址为命令行版本,文件名为balcon.exe,本软件体积很小,不对Windows其它组件产生依赖。我没有对GUI版本测试。

六. 将这些软件放入指定目录:

将 balcon.exe, SpeechPlatformRuntime.msi, 和MSSpeech_TTS_en-US_ZiraPro.msi等语言包放在/usr/local/bin目录下

七. 下载Winetricks

Winetricks是一个很方便的工具脚本,当需要通过Wine运行某些程序时,这个脚本便可用于下载和安装各种必需的可再发行的运行时库。这些运行时库可能会使用一些闭源的库文件替换Wine的某些组件。注意,这个脚本下载和安装的软件全部都是32位平台的,即使是在Wine64的环境下,其安装的软件也都是32位的。在Shell中运行以下命令,下载和安装Winetricks:

cd /root/Downloads
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod 755 winetricks
mv winetricks /usr/local/bin

八. 安装msxml3

TTS引擎的安装文件为msi格式,所以需要msxml3以让wine正确处理msi文件。通过winetricks来安装msxml3。

执行命令

WINEPREFIX=~/.wine32 winetricks msxml3

安装msxml3

九. 安装语言平台

执行命令

WINEPREFIX=~/.wine32 wine msiexec /i SpeechPlatformRuntime.msi

安装语音平台

十. 安装语言包

执行命令

WINEPREFIX=~/.wine32 wine msiexec /i MSSpeech_TTS_en-US_ZiraPro.msi

安装英语语言包

执行命令

WINEPREFIX=~/.wine32 wine balcon.exe -k -n en-US -t "Hello world."

测试英语是否能正常使用

安装其他语言包也是同样步骤

十一. 安装中文语言包主要事项

安装中文语言包后,还需要将
chsbrkr.dll (本地下载:chsbrkr.dll)和chtbrkr.dll(本地下载:chtbrkr.dll) 文件拷贝至~/.wine32/drive_c/Program Files/Common Files/Microsoft Shared/Speech/TTS/v11.0/目录

十二. 删除编译文件

转到wine32和wine64目录分别执行make clean并删除整个编译源目录

参考:
http://ghoulich.xninja.org/2016/08/09/install-and-use-wine-on-centos/

赞(1) 打赏
未经允许不得转载:爱易默博客 » 如何在CentOS 64上安装和使用Wine-实现微软中文,英文TTS

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
免责声明:本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除,若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理!

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏