Read aloud feature in Calibre 6.12 : error message

Bug #2007221 reported by Bill Boquet
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
calibre
Invalid
Undecided
Unassigned

Bug Description

OS : Windows 10
Calibre 6.11 : Read aloud feature is working, but only the English US female voice is proposed.
I installed Calibre 6.12 in the hope that French language will be supported.
Calibre 6.12 : Read aloud is no longer working, with error message :
calibre 6.12 embedded-python: True
Windows-10-10.0.19045-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19045')
Python 3.10.1
Windows: ('10', '10.0.19045', 'SP0', 'Multiprocessor Free')
Interface language: fr
Successfully initialized third party plugins:
Traceback (most recent call last):
  File "calibre\gui2\viewer\tts.py", line 95, in action
  File "calibre\gui2\viewer\tts.py", line 101, in play
  File "calibre\gui2\viewer\tts.py", line 75, in tts_client
  File "calibre\gui2\tts\windows.py", line 56, in __init__
  File "calibre\utils\windows\winspeech.py", line 453, in get_audio_device
  File "calibre\utils\windows\winspeech.py", line 410, in wait_for
TimeoutError: Timed out waiting for: Audio device

Revision history for this message
Kovid Goyal (kovid) wrote :

That error indicates your system is not returning an available ausio
device. You might get more information if you run the viewer as

calibre-debug -w file.epub

in a command prompt and post the output after starting read aloud.

Changed in calibre:
status: New → Incomplete
Revision history for this message
Bill Boquet (bill-boquet) wrote :

Thanks Kovid for lightning speed answer ;-).
Indeed on another computer with Calibre 6.12, Read aloud feature is working flawlessly.
So status is : resolved. I will further dig in tonight on my home computer, to see what went wrong.
P.S. There are now 3 English US voices with Calibre 6.12, but unfortunately no French voice.

Revision history for this message
Kovid Goyal (kovid) wrote :

The list of voices comes from the Windows OS. The change in 6.12 is to
use a newer non-deprecated API to list voices which gives access to more
voices.

Revision history for this message
Bill Boquet (bill-boquet) wrote :
Download full text (5.3 KiB)

As suggested, I ran at home the viewer in debug mode :

C:\Users\Parents\Desktop>calibre-debug -w "Ovaldé, Véronique - Fille en colère sur un banc de pierre (2023).epub"
Failed to initialize plugin: 'C:\\Users\\Parents\\AppData\\Roaming\\calibre\\plugins\\DeDRM.zip'
Traceback (most recent call last):
  File "calibre\customize\ui.py", line 744, in initialize_plugins
  File "calibre\customize\ui.py", line 64, in load_plugin
  File "calibre\customize\zipplugin.py", line 307, in load
  File "importlib\__init__.py", line 126, in import_module
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "calibre\customize\zipplugin.py", line 199, in exec_module
  File "calibre\customize\zipplugin.py", line 195, in get_code
  File "calibre_plugins.dedrm.__init__", line 164
    print u"{0} v{1}: Copying needed library files from plugin's zip".format(PLUGIN_NAME, PLUGIN_VERSION)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
QPA platform: windows
devicePixelRatio: 1.0
logicalDpi: 96.0 x 96.0
physicalDpi: 94.14671814671814 x 94.07407407407408
ApplicationPaletteChange event ignored
Using calibre Qt style: True
ApplicationPaletteChange event received
qt.webenginecontext:

GL Type: desktop
Surface Type: OpenGL
Surface Profile: CompatibilityProfile
Surface Version: 4.6
QSG RHI Backend: OpenGL
Using Supported QSG Backend: yes
Using Software Dynamic GL: no
Using Multithreaded OpenGL: yes

Init Parameters:
  * application-name calibre
  * browser-subprocess-path C:\Program Files\Calibre2\app\bin\QtWebEngineProcess.exe
  * create-default-gl-context
  * disable-es3-gl-context
  * disable-features ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture
  * disable-speech-api
  * enable-features NetworkServiceInProcess,TracingServiceInProcess
  * enable-threaded-compositing
  * in-process-gpu
  * use-gl desktop

[0.000] Load of book started
[1.406] prepared emitted
[1.438] webview loading requested
[1.860] bridge ready
[3.531] iframe ready
[3.875] loading finished
winspeech:-> 1 audio_device
winspeech:<- 0 error {"error": "Le fichier spécifié est introuvable.", "file": "winspeech.cpp", "hr": "0x80070002", "line": 867, "msg": "Failed to initialize SpeechSynthesizer and MediaPlayer"}
Traceback (most recent call last):
  File "calibre\gui2\viewer\tts.py", line 59, in dispatch_on_main_thread
  File "calibre\gui2\tts\windows.py", line 100, in handle_event
calibre.utils.windows.winspeech.SpeechError: There was an error in the Windows Speech subsystem. Failed to initialize SpeechSynthesizer and MediaPlayer: Le fichier spécifié est introuvable.
File: winspeech.cpp Line: 867 HRESULT: 0x80070002
calibre 6.12 embedded-python: True
Windows-10-10.0.19045-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19045')
Python 3.10.1
Windows: ('10', '10.0.19045', 'SP0',...

Read more...

Revision history for this message
Bill Boquet (bill-boquet) wrote :

"The list of voices comes from the Windows OS."
I use a native french Windows OS, therefore I thought that french voices would come by default. As a matter of fact, only the EN-US voice is installed by default in localized OS :
https://support.microsoft.com/en-us/windows/appendix-a-supported-languages-and-voices-4486e345-7730-53da-fcfe-55cc64300f01

As Calibre 6.11 was working, I reinstalled it and I downloaded the French voice as instructed.
Bingo : Calibre reads my ebook in french with voice aloud !
Thanks for the tips Kovid, best regards, Bill

Revision history for this message
Kovid Goyal (kovid) wrote :

That error indicates you dont have the media player dlls installed in
windows. Possibly you are using windows N. Install those and you will be
fine.

Revision history for this message
Bill Boquet (bill-boquet) wrote (last edit ):

Hi Kovid,
I have regular Windows 10, not N. However, Google suggested me that subsequent app installations could have corrupted Windows Media Player dlls.
I followed your advice and removed Windows Media Player, then reinstalled it after reboot.
I upgraded to Calibre 6.12 ... and all issues are now resolved. Cherry on the cake : only one french voice was available in 6.11, now 6.12 offers the 3 supported french voices.
Many thanks for your quick feedback and your precious and effective support. Status is now "resolved" for 100% of my issues.
By the way thanks also for your great baby Calibre, the best ebook companion.
Cheers, Bill
P.S. I don't know how to close a topic, forgive my ignorance.

Kovid Goyal (kovid)
Changed in calibre:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.