本文匯總了您在使用語音合成服務時的常見問題。
語音合成類常見問題主要分為以下幾類:
功能類
性能類
功能類
為什么TTS語音合成的語音和WAV文件顯示的時間長度不一致?例如語音文件顯示長度是7秒鐘,但實際語音只有不到5秒?
TTS是流式合成機制,也就是邊合成邊返回數據,因此保存下來的WAV文件頭是一個預估的值,有一定的誤差。如果對于時長要求較為嚴格,您可以設置format為pcm,在獲取的完整的一句合成結果文件中自行添加WAV頭信息,這樣就會得到更為精確的時長。具體請參見接口說明。
語音合成時間戳功能是什么?
語音實時合成服務在輸出音頻流的同時,可輸出每個漢字/英文單詞在音頻中的時間位置,即時間戳,時間戳功能又叫字級別音素邊界接口。該時間信息可用于驅動虛擬人口型、做視頻配音字幕等。具體請參見語音合成時間戳功能介紹。
語音合成時,能否控制一串數字是按數字來整體播報還是按字符來單獨播報,有參數可以控制嗎?
您可以嘗試使用SSML功能。SSML是一種基于XML的語音合成標記語言,SSML不僅可以控制語音合成能讀什么,更可以控制語音合成怎么讀,包括控制斷句分詞方式、發音、速度、停頓、聲調、音量等特征,甚至加入背景音樂。具體請參見SSML標記語言介紹。
對于多音字,TTS語音合成服務發音的策略是怎么樣的?
當遇到不是詞組的多音字,TTS語音合成轉換的時候會根據上下文進行多音字的預測,并給出一個發音。
長文本語音合成有調用限制嗎?
長文本語音合成功能提供了將超長文本(如千字或者萬字)合成為語音二進制數據的功能。支持輸出PCM、WAV和MP3編碼格式數據;支持設置語速、語調和音量;支持設置男聲、女聲。您可以通過實時和異步方式獲取合成結果。
長文本語音合成服務和語音合成服務的差異在于:語音合成服務只能支持300字符以下的文本,而長文本語音合成是為了滿足更多用戶對千字或者萬字文本合成需求,最多支持10萬字的一次性快速合成調用。具體請參見接口說明。
性能類
為什么TTS語音合成服務的調用有字數限制?
TTS語音合成服務調用有字數限制,是為了避免服務端資源浪費,一次性合成太多字最終未必會使用上。如果通過用API或SDK調用,可以分段調用后拼接;如果是MRCP協議調用,多用于客服或者呼叫中心場景,太多字數的TTS語音合成播放效果會持續播放較長時間,不符合人機交互邏輯,通常會被打斷或提前結束。如果是超長文本,如果是千字或萬字的新聞播放,可使用長文本語音合成接口,支持10萬字的一次性快速合成調用。具體請參見接口說明。
為什么語音合成速度慢,延遲非常大?
隨著語音合成效果的不斷提升,算法的復雜度也越來越高,對用戶而言,可能會遇到合成耗時變長的可能,在計算量較大的高級音色上相對更明顯。因此我們建議使用流式合成機制,也就是邊接收服務端返回的合成數據,邊保存或者播放,可以顯著改善語音合成延遲問題。
首先確認統計的是否是文本全部合成的耗時,一般只需要關注首包延遲,即客戶端發送完合成請求后到第一次收到服務端返回的二進制流的時間差,即為首包延遲。
語音合成的讀音正確率怎么樣?
語音合成(TTS)是概率模型,目前業界能做到的讀音正確率在96%~98%之間,阿里云智能語音交互產品在通用場景下測試準確率在97%左右。這意味著不是所有讀音錯誤都能被修復掉,建議您可以通過換字或使用SSML功能。
語音合成的發音讀錯怎么辦?多音字如何控制發音?
您可以通過以下幾種方式處理:
可以嘗試將多音字替換成同音的其他漢字快速解決發音問題。
您可以嘗試使用SSML功能。SSML是一種基于XML的語音合成標記語言,SSML不僅可以控制語音合成能讀什么,更可以控制語音合成怎么讀,包括控制斷句分詞方式、發音、速度、停頓、聲調、音量等特征,甚至加入背景音樂。具體請參見SSML標記語言介紹。
為什么不同聲色的語音合成音產生的延遲不一樣?
語音合成的實時率與模型算法的復雜度有關。最快的模型1秒內可合成33秒音頻,最慢的模型1秒內可合成0.7秒的音頻。普通音色和精品音色的時延不同,算法效果越好的音色相對來說耗時更長。
語音合成的時候可以識別哪些標點符號?
特殊符號也會讀出相應的發音。例如:α、β、γ、ρ、sin、cos、tan;“百分號”會讀成百分之幾,“冒號”和“括號”會做停頓處理,“書名號”和“破折號”目前不支持識。 對于特殊符號的處理,TTS語音合成服務和正常人說話效果是相同的,該停頓的時候會停頓。
語音合成支持部分文本調速嗎?
支持,您可以嘗試使用SSML功能。具體請參見SSML標記語言介紹。