Ubuntu – Wine: How to use SAPI 5 voices for TTS application “Balabolka”

19.10text to speechwine

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.

Best Answer

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

Related Question