9

I recently installed Wine according to this answer and “Balabolka”, a very good TTS program that runs smoothly under Windows, afterwards. Wine did not install SAPI 4 or SAPI 5 voices which are required to use the program. So, I downloaded a free German (Steffi) and a free British English (Emily) SAPI 5 voice and installed them as well.

Unfortunately, Balabolka does not recognise these voices although they are installed. What can I do? Usually, Balabolka should be able to detect the voices automatically. But this does not work under Ubuntu. Furthermore, Balabolka does not seem to have an option which enables the user to manually select the installed voices if they are not detected by Balabolka itself.


Edit 1: I just saw that there is an option where one could (theoretically) select different voices but the option is greyed out.


Edit 2: It seems to be possible to install SAPI 4 voices so that Balabolka recognises them but I do not know how this can be achieved. I tried installing a SAPI 4 voice but it did not show up when I started the program. Having a SAPI 4 voice, however, would be at least better than having no solution at all.

Nemgathos
  • 167

4 Answers4

1

I did not find any way (currently) to make the program work with SAPI 4/5 voices, but you can work with some of Microsoft Speech Platform voices.

  1. Create 32-bit Wine Prefix:

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

    cd "$HOME/prefix32/drive_c/Program Files/"
    wget http://balabolka.site/balabolka_portable.zip
    unzip balabolka_portable.zip
    
  3. Test if program works:

    WINEPREFIX="$HOME/prefix32" wine "$HOME/prefix32/drive_c/Program Files/Balabolka/balabolka.exe"
    
  4. Install Microsoft Speech Platform voice files (specifically x86 Package and Runtime Languages), I will choose ZiraPro, however you can install other voice files:

    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. Install winetricks:

    sudo apt install winetricks
    
  6. Install msxml6:

    WINEPREFIX="$HOME/prefix32" winetricks msxml6
    
  7. Check if this program works. (Repeat step 3 and choose Microsoft Speech Platform Tab in the program)

Hope this helps...

P.S. To install other voice files, go to https://www.microsoft.com/en-us/download/details.aspx?id=27224, download and then install with:

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

Source:

How do I create a 32-bit WINE prefix?

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

Olimjon
  • 7,522
1

I followed this github guide sapi5_on_linux and got it to work. The most important and relevant line is the following:

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

You need to use winetricks to install speechsdk.

kohane15
  • 141
1

Unfortunately I did not encounter the exact problem you are describing myself, but I just created a new TTS utility which could help you as well. It works offline, for free with AI-based high-quality voice. You can you it everywhere: Firefox browser, PDF reader, chrome, LibreOffice, etc.

You can give it a try, it comes form research on deep learning and AI, and I find it much better than espeak, festival and co. Hopefully you can do without Wine.

Feel free to have a look, I just created a video tutorial with installation steps and DEMO: https://youtu.be/hb1ZVwUcPCU

Download link and Project page: https://github.com/MattePalte/Verbify-TTS

Feel free to leave comment/open issue to discuss new ideas, problems or constructive criticism.

Hoping it will help you.

1

I am using Debian 12. Make sure you have Wine and Winetricks installed.

Creating your 32bit Wine Prefix. I will call it “win7”

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

Install these components

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

Install Balabolka

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

Run Balabolka

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

At this point SAPI5 was working with English voices in Balabolka, but other languages were throwing the error Can not synthesize the speech: OLE error 8004503A

To fix this I had to install KobaSpeech lib I used this one "KobaSpeech 3 With Vocalizer Allison - English (United States).exe" and renamed the file to KobaSpeech.exe for the easier installation process.

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

I am using SAPI5 voices from https://rhvoice.org/ all working great. I tested Russian & Portuguese. One more thing when you start Balabolka make sure you export your language locale.

I just created a bash file:

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