如何在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/

0 0 vote
喜欢就给个好评吧!
赞(1) 打赏
未经允许不得转载:爱易默博客 » 如何在CentOS 64上安装和使用Wine-实现微软中文,英文TTS
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments
免责声明:本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除,若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理! Disclaimer: Most of the download resources on this site are collected on the Internet, and are only used for learning and communication. The copyright belongs to the original author. Please consciously delete within 24 hours after downloading. If you use it for commercial purposes, please purchase the original version. If the content posted on this site violates your rights, please contact us to delete it, and we will deal with it in time!

联系我们 Contact us

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

支付宝扫一扫打赏

微信扫一扫打赏

0
Would love your thoughts, please comment.x
()
x