簡體   English   中英

Python將文本轉換為語音轉換失敗

[英]Python comtypes text-to-speech failing silently

我正在使用以下代碼將文本語音轉換音頻保存到文件中:

from comtypes.client import CreateObject
from comtypes.gen import SpeechLib

engine = CreateObject("SAPI.SpVoice")
stream = CreateObject("SAPI.SpFileStream")
stream.Open('audio.mp3', SpeechLib.SSFMCreateForWrite)
engine.AudioOutputStream = stream
engine.speak(text)
stream.Close()

有時,創建的文件無法播放,並且大小可能為零-盡管沒有發生錯誤。 我發現了一個輸入文本示例,該示例在這些失敗之一中使用了(太長,無法在此處包含),結果是可重現的,但沒有明顯的問題特征。

我還無法找出如何檢測以上代碼中的錯誤或確定可能導致問題的原因。 理想情況下,我想解決該問題,但是檢測到問題以使我能夠解決它就足夠了。 我該如何實現?

好吧,我不知道為什么它會無聲地失敗,但是當我運行它時,它引發了: ImportError: Cannot import name SpeechLib

然后,我去了可信賴的ole Google,發現了這個問題:

無法從python保存到wav,無法從comtypes.gen導入SpeechLib,下一步呢?

因此,您的代碼應如下所示:

from comtypes.client import CreateObject

text="Hi there, how are you?"
engine = CreateObject("SAPI.SpVoice")
stream = CreateObject("SAPI.SpFileStream")
from comtypes.gen import SpeechLib
stream.Open('audio.mp3', SpeechLib.SSFMCreateForWrite)
engine.AudioOutputStream = stream
engine.speak(text)
stream.Close()

這工作並保存了audio.mp3文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM