Wine:如何使用 SAPI 5 语音为 TTS 应用程序“Balabolka”?

Wine:如何使用 SAPI 5 语音为 TTS 应用程序“Balabolka”?

我最近安装了 Wine根据这个答案“巴拉博卡”,一款在 Windows 下运行流畅的优秀 TTS 程序。Wine 没有安装使用该程序所需的 SAPI 4 或 SAPI 5 语音。因此,我下载了一个免费的德语(Steffi)以及免费英式英语(艾米莉)SAPI 5 语音并安装它们。

不幸的是,虽然已安装这些声音,但 Balabolka 无法识别它们。我该怎么办?通常,Balabolka 应该能够自动检测声音。但这在 Ubuntu 下不起作用。此外,如果 Balabolka 本身无法检测到已安装的声音,Balabolka 似乎没有允许用户手动选择这些声音的选项。


编辑1:我刚刚看到一个选项,人们可以(理论上)选择不同的声音,但该选项是灰色的。


编辑2:似乎有可能安装 SAPI 4 声音,以便 Balabolka 识别它们但我不知道如何实现这一点。我尝试安装 SAPI 4 语音,但启动程序时它没有显示出来。不过,有 SAPI 4 语音至少比没有解决方案要好。

答案1

我没有找到任何方法(目前)使该程序与SAPI 4/5声音,但你可以与一些微软语音平台聲音。

  1. 创建 32 位 Wine 前缀:

    WINEPREFIX="$HOME/prefix32" WINEARCH=win32 wine wineboot
    
  2. 安装Balabolka:

    cd "$HOME/prefix32/drive_c/Program Files/"
    wget http://balabolka.site/balabolka_portable.zip
    unzip balabolka_portable.zip
    
  3. 测试程序是否有效:

    WINEPREFIX="$HOME/prefix32" wine "$HOME/prefix32/drive_c/Program Files/Balabolka/balabolka.exe"
    
  4. 安装 Microsoft Speech Platform 语音文件(特别是x86 软件包运行时语言),我会选择ZiraPro,但是你可以安装其他语音文件:

    wget https://download.microsoft.com/download/A/6/4/A64012D6-D56F-4E58-85E3-531E56ABC0E6/x86_SpeechPlatformRuntime/SpeechPlatformRuntime.msi
    WINEPREFIX="$HOME/prefix32" wine msiexec /i SpeechPlatformRuntime.msi
    
    wget https://download.microsoft.com/download/4/0/D/40D6347A-AFA5-417D-A9BB-173D937BEED4/MSSpeech_TTS_en-US_ZiraPro.msi
    WINEPREFIX="$HOME/prefix32" wine msiexec /i MSSpeech_TTS_en-US_ZiraPro.msi
    
  5. 安装winetricks

    sudo apt install winetricks
    
  6. 安装msxml6

    WINEPREFIX="$HOME/prefix32" winetricks msxml6
    
  7. 检查此程序是否有效。(重复步骤 3 并选择微软语音平台程序中的选项卡)

希望这可以帮助...

PS 要安装其他语音文件,请访问https://www.microsoft.com/en-us/download/details.aspx?id=27224,下载然后安装:

WINEPREFIX="$HOME/prefix32" wine msiexec /i <filename of the downloaded package>

来源:

如何创建 32 位 WINE 前缀?

https://appdb.winehq.org/objectManager.php?sClass=version&iId=34389

答案2

我遵循了这个 github 指南sapi5_on_linux并使其工作。最重要和最相关的一行如下:

WINEPREFIX=~/.PlayOnLinux/wineprefix/tts winetricks speechsdk

您需要使用winetricks来安装speechsdk

答案3

不幸的是,我自己没有遇到您描述的确切问题,但我刚刚创建了一个新的 TTS 实用程序,它也可以为您提供帮助。它可以离线工作,免费使用基于 AI 的高质量语音。您可以在任何地方使用它:Firefox 浏览器、PDF 阅读器、chrome、LibreOffice 等。

你可以尝试一下,它来自深度学习和人工智能的研究,我发现它比 espeak、festival 和 co 好得多。希望你不用 Wine 也能过得很好。

请随意看看,我刚刚创建了一个带有安装步骤和演示的视频教程:https://youtu.be/hb1ZVwUcPCU

下载链接和项目页面:https://github.com/MattePalte/Verbify-TTS

欢迎随意留下评论/公开问题来讨论新的想法、问题或建设性的批评。

希望它能对你有帮助。

答案4

我正在使用 Debian 12。请确保您已安装 Wine 和 Winetricks。

创建你的 32 位 Wine 前缀。我将其命名为“win7”

WINEPREFIX=~/.win7 WINEARCH="win32" winecfg

安装这些组件

env WINEPREFIX=~/.win7 winetricks d3dx9
env WINEPREFIX=~/.win7 winetricks msvcirt
env WINEPREFIX=~/.win7 winetricks speechsdk
env WINEPREFIX=~/.win7 winetricks vcrun2008
env WINEPREFIX=~/.win7 winetricks vcrun2010
env WINEPREFIX=~/.win7 winetricks corefonts

安装 Balabolka

env WINEPREFIX=~/.win7 wine ./setup.exe

运行巴拉博卡

env WINEPREFIX=~/.win7 wine "C:/Program Files/Balabolka/balabolka.exe"

此时,SAPI5 可以在 Balabolka 中使用英语语音,但其他语言会抛出错误Can not synthesize the speech: OLE error 8004503A

为了解决这个问题,我必须安装KobaSpeech 库 我使用了这个“ KobaSpeech 3 With Vocalizer Allison - English (United States).exe”,并将文件重命名为,KobaSpeech.exe以简化安装过程。

env WINEPREFIX=~/.win7 wine ./KobaSpeech.exe

我正在使用来自https://rhvoice.org/一切运行良好。我测试了俄语和葡萄牙语。还有一件事,当你启动 Balabolka 时,请确保导出你的语言区域设置。

我刚刚创建了一个 bash 文件:

#!/usr/bin/env bash
export WINEPREFIX=~/.win7
export LANG=ru_RU.UTF-8
wine "C:/Program Files/Balabolka/balabolka.exe"

相关内容