Try  HackMD Logo HackMD

Streamlabs alert box issue

written by 門特魯 (zatd39)

【2021/06/13 更新】
Streamlabs 目前已全面改為使用自己的 proxy api,
語速以及斷句機制大改,近日會寫另一篇文章說明。


【2021/06/08 更新】
目前 translate.google.com API 已改回原本的舊版聲音 Basic,
之後會不會又變成新版聲音還是未知數。


(此文撰寫時間為 2021/05/24)

這幾天在圖奇看台的各位,
相信大家都有發現到一個問題:

為什麼 續訂留言/斗內 留言念出不來?

以下針對最近發現的更動作說明。

1. google translate API 更動

測試連結

Streamlabs alert box 使用的是舊的 google translate 聆聽使用的TTS API,
(http://translate.google.com/translate_tts)
(目前 PC chrome google translate 的聆聽已改用其他方式)

近日發現,在不是使用 chrome 的情況剛剛發現他也會破功(透過 proxy/OBS with alert box)
使用該 API 會隨機傳回兩種語音,絕大部分語系都有此情形,
一種為大家原先聽到的舊版聲音(Basic);
一種為近日會出現的新版聲音(WaveNet)。

兩種的差異可以到以下的網址試聽
https://cloud.google.com/text-to-speech/
舊版聲音使用 普通话 (中国大陆) - Basic - cmn-CN-Wavenet-D
新版聲音使用 普通话 (中国大陆) - WaveNet - cmn-CN-Wavenet-D
PS. 在 Basic 選擇其他 Voice Name 可以聽到之前對話包出現過的聲音 Tgm3AMON

然而 Streamlabs alert box 撥放音訊檔案使用的套件,
似乎無法撥放新版聲音(WaveNet),進而造成通知有可能變成啞包。

2. Streamlabs alert box更動

先前使用 chrome 直接開啟 alert box 測試通知,
為因為 CORS (Cross-Origin Resource Sharing 跨域資源存取)問題,
瀏覽器無法直接用 ajax 拿到音檔,進而導致念不出來。

針對此點,推斷 Streamlabs 架了一個 proxy api,
在判斷為 chrome 時改走此 API,讓它也可以唸出來,
(https://Streamlabs.com/google-proxy)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

遺憾的是,似乎該 proxy 也無法處理新版聲音(WaveNet),
有時成功會聽到舊版聲音(Basic),
有時會直接噴回 500 error。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

3. 可能的解決辦法

  1. Streamlabs alert box 更改目前使用的 API。
  2. Streamlabs alert box 更新套件,使其能撥放新版聲音 WaveNet。
  3. 等待 translate.google.com API 改回只會回傳原本的舊版聲音 Basic,亦或是其他更新。

以上方法均要等到其中一方去做修改,以下為用戶目前可以嘗試的方式:

  1. 開啟多個 alert box 測試運氣,但可能造成撞車或是延遲事故(範例)
  2. 自行撰寫一個 alert box 來唸出留言。
  3. 實況主自己親自念出留言。

結語

希望 Streamlabs 能夠盡快解決這個 issue,
還給我們觀眾友善的健全丟包環境,讓我們的實況主不會挨餓。

特別感謝

  • 我們挨餓的實況主 吳彩學 TetrisTheGRANDMAster3 協助回報 Streamlabs 官方
  • 聊天室一同研究原因的觀眾 モスの深海少女 (deepsea949) 以及 sd9627