Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Software > Calibre > Viewer

Notices

Reply
 
Thread Tools Search this Thread
Old 10-08-2022, 07:33 AM   #1
musickid
Member
musickid began at the beginning.
 
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}"
This error is produced when the voice is selected:
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
Attached Thumbnails
Click image for larger version

Name:	Capture.PNG
Views:	157
Size:	24.1 KB
ID:	197042  
musickid is offline   Reply With Quote
Old 10-08-2022, 07:52 AM   #2
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
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.
kovidgoyal is online now   Reply With Quote
Advert
Old 10-08-2022, 09:16 AM   #3
musickid
Member
musickid began at the beginning.
 
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:
Voices can be either 32-bit or 64-bit, just like Windows. If you’re on a 64-bit Windows machine, 32-bit voices won’t show up in the Speech window in Control Panel, because it is a 64-bit version of the Speech window. You have to find and run C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl to see 32-bit voices. Also, 64-bit programs won’t see or be able to use 32-bit-only SAPI5 voices.
Quote:
You can find the installed voices in the registry, under HKEY_LOCAL_MACHINE > Software > Microsoft > Speech, or if you are on a 64-bit machine, both that key and in HKEY_LOCAL_MACHINE > Software > WOW6432Node > Microsoft > Speech for the 32-bit voices.
musickid is offline   Reply With Quote
Old 10-08-2022, 11:14 AM   #4
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
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
kovidgoyal is online now   Reply With Quote
Old 10-08-2022, 01:32 PM   #5
musickid
Member
musickid began at the beginning.
 
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.
musickid is offline   Reply With Quote
Advert
Old 10-08-2022, 01:47 PM   #6
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 44,621
Karma: 24495948
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
makes sense
kovidgoyal is online now   Reply With Quote
Old 10-08-2022, 03:16 PM   #7
musickid
Member
musickid began at the beginning.
 
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/
musickid is offline   Reply With Quote
Old 10-08-2022, 04:22 PM   #8
jackie_w
Grand Sorcerer
jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.jackie_w ought to be getting tired of karma fortunes by now.
 
Posts: 6,234
Karma: 16537336
Join Date: Sep 2009
Location: UK
Device: ClaraHD, Forma, Libra2, Clara2E, LibraCol, PBTouchHD3
Quote:
Originally Posted by musickid View Post
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/
I've found it easier to use calibre 6.x for my main calibre and to also have a calibre Portable 5.44 installation on the PC because calibre Portable pre-v6 was automatically 32bit. If I want to listen to a 32bit-only Voice I just add that book to the Portable installation.

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:
  • 64bit: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voice s\Tokens]
  • 32bit: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ SPEECH\Voices\Tokens]
Perhaps it's because they are newer. My copy of AT&T Mike dates back to 2003. Was 64bit even a thing back then? I've never been able to make my Acapela Voices work in any app other than TextAloud but the Nuance/ScanSoft/RealSpeak ones work fine in 32bit calibre Portable v5.44
jackie_w is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

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


All times are GMT -4. The time now is 06:42 AM.


MobileRead.com is a privately owned, operated and funded community.