[Bug 56275] New: MS Speech API not working after 8.21
https://bugs.winehq.org/show_bug.cgi?id=56275 Bug ID: 56275 Summary: MS Speech API not working after 8.21 Product: Wine Version: 8.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: kdcadet(a)gmail.com Distribution: --- Created attachment 75994 --> https://bugs.winehq.org/attachment.cgi?id=75994 text-to-speech script and tracebacks I use wine to run windows speech api through balcon, balabolka commandline interface. This worked until wine-staging-8.21 Once upgraded to >= 8.21 this is broken. It is broken on both Gentoo and Fedora for me. It still works for both wine-staging 8.0 and wine-vanilla 8.0. My script and traceback are attached. The script takes stdin and pipes it to balcon via wine. I typically test it with `date | tts` The wine prefix I use: https://drive.google.com/file/d/19bfCvcOkWITjf5fw9PTXrnogtm3HpvLA/view?usp=s... Components: balcon: balabolka command line Available from the microsoft download center: Microsoft speech platform MS Speech Zira pro voice -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 Eric Pouech <eric.pouech(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech(a)gmail.com --- Comment #1 from Eric Pouech <eric.pouech(a)gmail.com> --- just a quick question: does replacing the -i option of balcon.exe with a -t "$text" work? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 --- Comment #2 from kdcadet(a)gmail.com --- No, changing the last line of the script to: wine 'C:\balcon\balcon.exe' -t "${text}" -n 'Microsoft Server Speech Text to Speech Voice (en-US, ZiraPro)' -s $tts_speed #&> /dev/null results in the following error, I believe the same one as before. Error: OLE error 80040154 ~ ➜ 0130:fixme:ole:CoRegisterSurrogate 0060FE74 stub 0130:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111 for dll L"C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\TTS\\v11.0\\msttsengine.dll" 0130:err:ole:com_get_class_object no class object {a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e} could be created for context 0x1 0130:err:dllhost:wWinMain Can't create instance of {a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e} 0140:fixme:ole:CoRegisterSurrogate 0060FE74 stub 0140:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111 for dll L"C:\\Program Files\\Common Files\\Microsoft Shared\\Speech\\TTS\\v11.0\\msttsengine.dll" 0140:err:ole:com_get_class_object no class object {a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e} could be created for context 0x1 0140:err:dllhost:wWinMain Can't create instance of {a12bdfa1-c3a1-48ea-8e3f-27945e16cf7e} Also, I'm not sure, but using the -t $text version could cause a nightmare with having to make sure characters are properly escaped, which is why I have it set to read from stdin with -i. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 Dave Akers <dave(a)dazoe.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dave(a)dazoe.net -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 --- Comment #3 from Dave Akers <dave(a)dazoe.net> --- I have also run into this problem on Archlinux Working version: 8.19 First non-working: 8.20 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 --- Comment #4 from kdcadet(a)gmail.com --- I did a git bisect to track down the first bad commit. The output was: ``` ad8f354f623a25a941550df04f3fd4fb040ba0c9 is the first bad commit commit ad8f354f623a25a941550df04f3fd4fb040ba0c9 Author: Shaun Ren <sren(a)codeweavers.com> Date: Tue Oct 31 22:47:10 2023 -0400 msttsengine: Add stub dll. configure | 2 + configure.ac | 1 + dlls/msttsengine/Makefile.in | 7 ++ dlls/msttsengine/main.c | 123 ++++++++++++++++++++++++++++++++++++ dlls/msttsengine/msttsengine.spec | 4 ++ dlls/msttsengine/tts.c | 31 +++++++++ dlls/msttsengine/ttseng_classes.idl | 32 ++++++++++ dlls/msttsengine/ttseng_private.h | 31 +++++++++ loader/wine.inf.in | 2 + 9 files changed, 233 insertions(+) create mode 100644 dlls/msttsengine/Makefile.in create mode 100644 dlls/msttsengine/main.c create mode 100644 dlls/msttsengine/msttsengine.spec create mode 100644 dlls/msttsengine/tts.c create mode 100644 dlls/msttsengine/ttseng_classes.idl create mode 100644 dlls/msttsengine/ttseng_private.h ``` -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 --- Comment #5 from kdcadet(a)gmail.com --- I did a git revert of that commit from tags/wine-9.4 and my TTS test passed. When reverting the commit, the only non-automatic revert was the deletion of dlls/msttsengine/tts.c, which I solved by simply doing git add dlls/msttsengine/tts.c then git revert --continue. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 Louis Lenders <xerox.xerox2000x(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x(a)gmail.com --- Comment #6 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- (In reply to kdcadet from comment #5)
I did a git revert of that commit from tags/wine-9.4 and my TTS test passed. When reverting the commit, the only non-automatic revert was the deletion of dlls/msttsengine/tts.c, which I solved by simply doing git add dlls/msttsengine/tts.c then git revert --continue.
I'm not 100% sure but I think you could "fix" this by setting msttengine.dll to native in winecfg library tab. AFAIK MS Speech platform + MS Speech Zira comes with it's own msttsengine.dll so it worked before wine-8.21. After adding a the wine msttsegine.dll this one is likely be used and is not mature enough. Could you check if the above is correct? ('WINEDEBUG=+loaddll wine balabolka,exe' will give you info whether native or builtin is used) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 --- Comment #7 from kdcadet(a)gmail.com --- I tried your fix using winecfg with no success. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56275 --- Comment #8 from Dave Akers <dave(a)dazoe.net> --- I had success with setting msttsengine.dll to native using winecfg -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla