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.

3 Answers 3

1
+50

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

17
  • I am encountering some problems when writing WINEPREFIX="$HOME/prefix32" wine SpeechPlatformRuntime.msi. After writing this, the following lines show up: (1): 000b:fixme:winediag:start_process Wine Staging 4.20 is a testing version containing experimental patches., (2): 000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org., (3): 0009:err:module:__wine_process_init failed to load L"C:\\Program Files\\SpeechPlatformRuntime.msi", error c000012f. By the way: There is an error in your answer. It has to be Program Files without \.
    – Nemgathos
    Nov 25, 2019 at 18:49
  • This might be helpful.
    – Nemgathos
    Nov 25, 2019 at 19:00
  • @Nemgathos, every space should be escaped with backslash, so there should be no error with Program Files. And about the main problem, what about running WINEPREFIX="$HOME/prefix32" wine msiexec \i SpeechPlatformRuntime.msi?
    – Olimjon
    Nov 25, 2019 at 19:32
  • Now, the third line looks like this: 0009:fixme:msi:MsiMessageBoxW 00000000 L"Windows Installer 4.5.6001.22308\n\nAufruf:\nmsiexec Befehl {erforderliche Parameter} [zus\00e4tzliche Parameter]\n\nProdukt installieren:\n\t/i {Paket|Produktcode} [Eigenschaft]\n\t/package {Paket|Produktcode} [Eigenschaft]\n\t/a Paket [Eigenschaft]\nInstallation reparieren:\n\t/f[p|o|e|"... (null) 0 00000407 00000000 Also, this error showed up.
    – Nemgathos
    Nov 25, 2019 at 19:43
  • (Aufruf = call; Befehl = command; erforderliche/zusätzliche Parameter = required/additional parameters; Produkt installieren = install product; Paket = packet; Produktcode = product code; Eigenschaft = feature/preoperty)
    – Nemgathos
    Nov 25, 2019 at 19:43
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.

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .