6

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.

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

  • 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 '19 at 18:49
  • This might be helpful. – Nemgathos Nov 25 '19 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 '19 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 '19 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 '19 at 19:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.