10-08-2022, 07:33 AM | #1 |
Member
Posts: 10
Karma: 10
Join Date: Oct 2022
Device: Meebook M7
|
32bit TTS Voice support - Read aloud
Hello, I'm a long-term user of the AT&T TTS 32bit voices and have been trying to enable support with the 'Read aloud' feature. I've managed to get Calibre Viewer to acknowledge the voice with the following registry edit. I'd be very grateful for any assistance with this.
Mike16.reg Code:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\ATT-DT-14-Mike16] @="ATT DTNV1.4 Mike16" "409"="ATT DTNV1.4 Mike16" "CLSID"="{7ED7FB3B-1BD2-4218-A2D2-B7F5483C3246}" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\ATT-DT-14-Mike16\Attributes] "Age"="Adult" "Gender"="Male" "Language"="409" "Name"="Mike16" "TTSBin"="C:\\Program Files (x86)\\ATTNaturalVoices\\TTS1.4\\Desktop\\bin" "TTSData"="C:\\Program Files (x86)\\ATTNaturalVoices\\TTS1.4\\Desktop\\data" "Vendor"="AT&T Labs" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\ATT-DT-14-Mike16\UI] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\ATT-DT-14-Mike16\UI\EngineProperties] "CLSID"="{7B6A198B-CA9D-41fb-B348-73BC1383DD0B}" Code:
calibre, version 6.6.1 ERROR: Unhandled exception: <b>OSError</b>:C:\r\src\src\calibre\utils\windows\winsapi.cpp:281:Failed to speak:[hr=0x80040154 wCode=0] Class not registered calibre 6.6.1 Portable embedded-python: True Windows-10-10.0.19044-SP0 Windows ('64bit', 'WindowsPE') ('Windows', '10', '10.0.19044') Python 3.10.1 Windows: ('10', '10.0.19044', 'SP0', 'Multiprocessor Free') Interface language: en_GB Traceback (most recent call last): File "calibre\gui2\viewer\tts.py", line 92, in action File "calibre\gui2\viewer\tts.py", line 110, in resume_after_configure File "calibre\gui2\tts\windows.py", line 252, in resume_after_configure File "calibre\gui2\tts\windows.py", line 206, in purge File "calibre\gui2\tts\windows.py", line 186, in speak_implementation OSError: C:\r\src\src\calibre\utils\windows\winsapi.cpp:281:Failed to speak:[hr=0x80040154 wCode=0] Class not registered |
10-08-2022, 07:52 AM | #2 |
creator of calibre
Posts: 44,621
Karma: 24495948
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
calibre just hands off the text to the SAPI subsystem of windows, after that it's up to windows to speak it. I dont know why th ebitness of the voice engine should make a difference, but I am no expert on windows speech systems.
|
Advert | |
|
10-08-2022, 09:16 AM | #3 | ||
Member
Posts: 10
Karma: 10
Join Date: Oct 2022
Device: Meebook M7
|
Thanks for the quick reply. As described on the webpage below, Windows 10 64bit handles 32bit voices differently from 64bit. Adobe Reader and TextAloud (https://nextup.com) are able to detect and use 32bit voices - presumably because those apps know to check the Windows registry for 32bit voices.
Would it be possible for Calibre to also check the registry location of any 32bit voices currently installed? HKEY_LOCAL_MACHINE > Software > WOW6432Node > Microsoft > Speech https://www.webbie.org.uk/blog/microsoft-speech/ Quote:
Quote:
|
||
10-08-2022, 11:14 AM | #4 |
creator of calibre
Posts: 44,621
Karma: 24495948
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
calibre doesnt check the registry directly, it just calls the SAPI apis from microsoft to enumerate the voices. I am fine with adding 32 bit voices to it, but given i dont have sucha voice to test with and it will require manually searching the registry its a bit too much effort for me. Patches are welcome, relevant code is in winsapi.cpp
|
10-08-2022, 01:32 PM | #5 |
Member
Posts: 10
Karma: 10
Join Date: Oct 2022
Device: Meebook M7
|
Okay, thanks for the clarification.
With some further reflection, I think I can offer an explanation as to what is happening (and why a scan of registry will not be the solution). Calibre is currently utilizing the default (64bit) SAPI subsystem, which would explain why the 32bit voices are not available for selection. The other applications I mentioned are 32bit, and are using the 32bit SAPI subsystem. I do not know if it is possible for a 64bit application to call upon the 32bit SAPI subsystem via APIs. |
Advert | |
|
10-08-2022, 01:47 PM | #6 |
creator of calibre
Posts: 44,621
Karma: 24495948
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
makes sense
|
10-08-2022, 03:16 PM | #7 |
Member
Posts: 10
Karma: 10
Join Date: Oct 2022
Device: Meebook M7
|
It may not bring much closure, but for anyone else facing this issue - the last 32-bit version of Calibre works fine with 32-bit TTS voices.
https://download.calibre-ebook.com/5.44.0/ |
10-08-2022, 04:22 PM | #8 | |
Grand Sorcerer
Posts: 6,234
Karma: 16537336
Join Date: Sep 2009
Location: UK
Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3
|
Quote:
If you bought your Voices from NextUp I think they believe they are only sold to you for use in their TextAloud app. (Given the cost I don't really care what they believe). Last time I updated my copy of TextAloud it was a 32bit-only app. Has that changed? Fortunately the Ivona Voices install themselves in both the relevant parts of the Windows registry:
|
|
Thread Tools | Search this Thread |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Add Microsoft online TTS support for the "Read aloud" function, please. | kyod | Calibre | 2 | 10-12-2021 09:39 AM |
Kindle TTS: Would you use a different voice? | Kindle Addict | Amazon Kindle | 18 | 03-30-2014 03:00 PM |
Read Aloud support for Nook? | ralphiedee | Barnes & Noble NOOK | 1 | 08-25-2012 03:21 AM |
Read Aloud support for Kobo | ralphiedee | Kobo Reader | 0 | 08-22-2012 11:23 AM |
Kindle / Kindle Fire read Aloud epub support | ralphiedee | Amazon Kindle | 2 | 08-07-2012 03:16 PM |