daisy / pipeline-modules

Modules for the DAISY Pipeline project
4 stars 5 forks source link

Regular error when using SAPI voice from Ivona: "SAPI Mutex Timeout Expired" #80

Open bertfrees opened 8 months ago

bertfrees commented 8 months ago

Issue reported by Tom McCartney:

The final issue that I've been running into is related to the epub3-to-epub3 enhancement script, when using it to supply TTS via SAPI on Windows 10. For the last several years, we've been using a licensed voice from Ivona as the TTS voice via the Pipeline 1 narration script, and not had any issues. However this year, using the same voice on the same computer, with the latest Pipeline App, if the content gets too large in one file, I'm getting regular SAPI exceptions using that voice - the message is SAPI Mutex Timeout Expired. I've tried to tweak the thread counts in the TTS Config file, but it doesn't help, in fact it doesn't seem to even get applied according to the message logs during TTS generation. I've proven it's not the actual content by taking a couple of the larger files and simply splitting them into chunks and processing each smaller chunk - no TTS problems there. For this issue, we have a bit of a work around this year in that we also have access to the Azure voices, and those do not exhibit that problem - I can take the large files and process them, but at the cost of significantly slower TTS processing. Considering the increase in quality, now that I've figured out how to teach the Azure voices correct pronunciations, it's probably a valid trade off, but I'm not sure that would be true for all customers.