簡體   English   中英

chrome 上的語音合成器只播放前 200 個字符

[英]speech synthesizer on chrome only play the first 200 characters

我正在 firefox 中測試原生語音合成器,它工作正常,只有 pause() 函數失敗,但在 chrome 中,我有更多錯誤,它只播放文本的一小部分,只播放前 200 個字符,並且它不播放其他所有內容,我嘗試使用外部 meSpeak.js 庫,如果它播放所有內容,但加載我進行測試的 1842 個字符的文本需要很長時間,我正在使用 ubuntu 系統和 chrome 版本 81.0.4044.92用於測試的網址 https://mdn.github.io/web-speech-api/speak-easy-synthesis/ chrome 的任何解決方案?? 謝謝

我相信這是所選語音合成器的問題。 如果您選擇本地語音——只需在本地計算機上運行瀏覽器內/操作系統內代碼即可為其生成音頻——那么應該沒有字符限制,除非您選擇的語音有這樣的限制,即似乎不太可能

例如,在 Windows 上,我擁有的兩個本地語音是 Microsoft David Desktop 和 Microsoft Zira Desktop。 如果我選擇這些聲音,無論長度如何,都會播放整個文本。

相比之下,來自谷歌的其他語音(例如谷歌美國英語)不是本地的; 他們可能需要發出網絡請求才能將文本解析為音頻。 Google 的語音 API 似乎對一次可以翻譯的文本數量有 200 個左右的限制。

如果字符限制有問題,請選擇本地語音,而不是來自 Google 的語音。

這是一個片段,將列出您可用的聲音,以及哪些是本地的:

 const populateVoiceList = () => { console.log('Logging available voices'); for (const voice of speechSynthesis.getVoices()) { console.log(voice.name, 'local: ' + voice.localService); } }; populateVoiceList(); speechSynthesis.onvoiceschanged = populateVoiceList;

暫無
暫無

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

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