目錄(40 節)

Twilio 廣東話 TTS 整合 cookbook:由零起電話 bot

Twilio 負責電話線路,港嘢負責地道廣東話音頻:預錄式同動態式兩條整合路線、API 限制對照、文字稿貼士、成本捉算同上線前檢查清單一次講晒。

— 港嘢內容團隊約 10 分鐘twilioivrapi
分享:

一句答你:Twilio 負責接聽同撥出嘅電話線路,廣東話音頻由港嘢 API 生成——選單提示預先批量生成存檔,動態內容即場叫 API 生成再播,兩邊用 TwiML 嘅播放指令接埋一齊,就係一個地道粵語電話系統。

香港嘅電話系統有個老問題:IVR 選單嘅廣東話錄音,改一句嘢要約配音師重錯;或者用系統內建語音,讀出嚟一股機械腔,客人一聽就皺眉。前線同事接聽嘅時間,有好多其實係處理緊本來可以自動答嘅查詢——營業時間、地址、訂單狀態。呢篇 cookbook 講點樣用 Twilio 做線路層、港嘢做聲音層,兩邊各做擅長嘅嘢,起一個聽落唔似機械嘅粵語電話系統。唔使大工程,照住下面嘅分工同步驟行,兩三個星期已經有一條可以見得人嘅粵語熱線。

Key Takeaways

  • 架構分工:Twilio 管電話線路同流程控制,港嘢管地道粵語音頻生成,各司其職
  • 兩條路線:預錄式(選單類,批量生成存檔)同動態式(即時生成,行排隊機制)
  • 每個生成任務文字上限 500 個字符,超過會被拒收而唔係自動截斷
  • 音頻 URL 有時效:已入庫嘅 1 小時、直接由生成端出嘅 7 日,長期用要下載返入自己檔案空間
  • 動態生成要有過渡提示兜住,唔好令客人對住靜音等
  • 上線前一定要用真電話行一次全流程,電腦試聽驗唔出電話線路嘅問題

架構總覽:兩層分工

邊層做邊樣

Twilio 擅長嘅係電信層:買號碼、接聽、撥出、按鍵收發、通話流程控制、轉駁真人。佢內建都有文字轉語音功能,但粵語表現受制於通用語音供應,口語詞同語氣位往往唔到位。港嘢專注嘅係聲音層:地道香港粵語、中英夾雜自然、口語表達唔會讀怪。

所以主流做法係:聲音全部自己生成好,Twilio 只負責播。播放音頻檔係電話系統最穩定嘅做法——唔受語音引擎版本變動影響,每一通電話聽到嘅都係同一條音頻,品質可以預期。

一通電話嘅流程點行

  1. 來電入到 Twilio 號碼
  2. Twilio 向你嘅伺服器攞流程指令(TwiML)
  3. 流程指令話俾 Twilio 知:播邊個音頻檔、收咩按鍵、幾時轉駁真人
  4. 音頻檔係港嘢預先生成好,放喺你自己嘅檔案空間或者用音頻連結
  5. 客人聽完揀選項,系統行下一個流程位

呢個分工嘅好處:改流程(加選項、改轉駁邏輯)唔使掂音頻;改講法(換句措辭)唔使掂流程。兩條線獨立演進,維護簡單。

轉真人位一開始就設計好

自動化唔係零真人。設計流程嗰陣就要劃定:邊啲查詢自動答、邊啲一定轉真人(投訴、退貨、敏感個案)、邊啲按鍵隨時可以跳出。轉真人嗰下最好連客人喺選單揀過乜都帶俾同事,客人唔使由頭再講一次——呢個位做得好,成個系統嘅觀感完全唔同。

路線一:預錄式(IVR 選單、營業時間、節日安排)

點解選單類要預錄

選單提示一年改幾多次?通常得幾次。預先生成、存好檔,通話時直接播——零延遲、零變數、成本最低。改稿先重新生成,配合版本化管理,整個系統嘅聲音永遠一致。

揀聲線:一次揀好,長期不變

選單聲線係公司嘅「電話門面」,唔好似試衫咁成日換。揀聲線嗰陣用最長嗰句提示試聽,確認連續聽幾句都唔攰;揀好之後將聲線選擇寫入內部文檔,之後所有新生成嘅提示都用同一把聲,唔會幾個月後「換咗個接線生」。

批量生成做法

一個典型選單系統有 20 至 40 句提示。港嘢 API 支援批量提交,一次過最多 25 個生成任務(批量功能係專業同工作室方案專屬,免費同入門方案逐個提交都得)。每個任務文字上限 500 個字符,提示句通常一句幾十個字,空間好充裕。

批量驗證係全有或全無——任何一句有問題,成批拒收。所以提交之前先檢查:有冇超長句、有冇漏字、格式冇錯。寧願分兩批穩陣啲,都好過一批拒收重頭嚟。

生成完做三件事

  • 逐句試聽:重點聽數字(「按 1 字」嘅 1)、專名(公司名、部門名)、多音字
  • 檔案命名規範化:用有意義檔名(例如 main-menu-zh、hours-weekday、holiday-cny),唔好用亂數
  • 版本記錄:改過嘅稿留底,方便追查「客人聽到嘅係邊個版本」——投訴話聽唔明嗰陣,你會多謝呢張清單

路線二:動態式(查單、派件狀態、餘額)

動態內容嘅生成流程

動態內容(客人嘅訂單號、派件時間)唔可以預錄,要即場生成。流程係:

  1. 你嘅系統收到來電,查出客人要嘅資料
  2. 組裝文字稿(「你嘅訂單 1-2-3-4-5 已經派出咗,預計下晝三點前送到」)
  3. 向港嘢 API 提交生成任務,攞到任務編號
  4. 輪詢任務狀態,完成之後攞音頻連結
  5. 將連結交俾 Twilio 播放

有關輪詢機制嘅詳細講解,睇《TTS 任務輪詢完全指南》。

過渡提示係體驗嘅生命線

生成任務係排隊制,唔係即時返音頻。通話入面等生成,體驗會卡。標準做法係先播過渡提示(「請稍等,為你查詢緊」——呢句當然都係預錄嘅),背景生成好之後再播結果。更順嘅做法:喺客人撳完按鍵嗰一刻就開始生成,同過渡提示並行,結果出嚟嗰陣提示都啱啱播完。

千祈唔好令客人對住靜音等。靜音超過幾秒,大部分人都會以為斷線而收線。

音頻連結時效要記住

生成完成後攞到嘅音頻連結分兩種:已入檔案庫嘅有效 1 小時,直接由生成端出嘅有效 7 日。即場播放冇問題;但如果你想存起嚟日後重播(例如覆盤客人聽過啲乜),就要喺時效內下載返入自己嘅檔案空間。唔肯定時效,重新查詢一次任務攞最新連結最穩陣。

文字稿貼士:電話場景特別位

短句為王

電話音質有限、注意力短,一句一句嚟:一句一個資訊點。超過兩個資訊點就拆兩句。同樣內容,電話稿通常比網頁稿長兩三成——因為要補返語氣同過渡(「好嘅」「跟住嚟係」)。初稿寫完,大聲讀一次自己聽:讀到換唔到氣嘅位,就係要拆句嘅位。

數字同日期嘅香港讀法

  • 訂單號、電話號碼逐位讀定連讀,稿度寫清楚(「1-2-3-4-5」)
  • 「15/10」要寫做「十月十五號」,唔好俾系統讀「一五斜一零」
  • 金額要連單位(「三百蚊」),唔好淨係寫數字
  • 時間用十二小時制口語(「下晝三點」),唔好用廿四小時制

中英夾雜順其自然

香港客人習慣「你嘅 order 已經 ship 咗」呢類講法,稿度照寫,生成出嚟地道啲反而更清楚。刻意寫成書面語(「您的訂單已經出貨」)反而唔似香港人講嘢。深究可以睇《粵語中英夾雜 TTS 指南》。

容量同限制:開工前對一對數

項目數值影響
單任務文字上限500 字符超過會被拒收(唔會自動截斷)
批量上限25 個任務一次批量係專業/工作室方案功能
預設速率限制每分鐘 60 次請求高峰時段要排隊機制
在途任務上限按方案 3 至 20 個方案等級決定並行生成量

方案對應:免費方案在途任務 3 個、入門 5 個、專業 10 個、工作室 20 個。電話系統嘅動態生成量,按你嘅來電量估:每日幾百通查詢,專業方案通常夠用;真係高流量,要加排隊同快取設計。開發階段想先行通流程,免費同入門方案可以開沙盒模式嘅 key 試接,每日有生成次數限制,升級之後同一把 key 即時解鎖全速。整合細節可以參考《粵語 TTS API 快速上手》同《Node.js 整合 cookbook》。

成本:起一個系統要幾多錢

聲音成本一個月幾多

預錄部分:40 句選單提示,每句平均 50 字符,共 2,000 字符——一次過搞掂,之後改一句先重出一句。動態部分:假設每日 200 通查詢、每通答一句 60 字符,一個月 360,000 字符左右。以港嘢專業方案(HK$338 一個月、600,000 字符)計,已經涵蓋有餘。大約 240 個字符生成一分鐘語音,你可以按自己來電量換算。

揀號碼同線路嘅錢

Twilio 嗰邊係月費加通話分鐘,按用量計。聲音成本同線路成本分開計,兩邊都係規模化之後單價先靚——即係話細規模試行嘅月費,通常係幾百蚊水平,唔係一個大數目。

常見陷阱

稿太長塞唔入一個任務

有團隊將成段公告(幾千字)塞入一個生成任務,撞正 500 字符上限被拒收。正確做法係分段:每段一個任務、各自生成,再喺流程層面順序播放。分段仲有個好處——改其中一段唔使成篇重出。

播連結播到過期

生成完攞到連結就開心咁存入設定,幾個鐘之後客人打嚟聽唔到——就係連結過期咗(已入庫嘅 1 小時)。長期播放嘅音頻,一定要下載返入自己檔案空間;即場動態播放就用當刻攞到嘅新連結。將「攞連結」同「用連結」分開對待,呢類事故就唔會發生。

由試行到正式上線:三步走

兩星期原型

用沙盒 key 接通流程,揀最簡單嘅一條線(例如「營業時間查詢」)行通由接聽到答覆嘅全程。呢個階段唔追求完美,追求「證明條路行得通」。

灰度上線

正式開通之後,唔好一刀切將所有來電交俾新系統。先開一條新號碼或者喺現有選單加一個「自助查詢」選項,令一開始只有主動揀嘅客人用到。睇埋兩個星期數據同意見,先至擴大覆蓋。

每月回顧

每月抽 20 通錄音聽一次,睇客人喺邊個位卡住、邊句提示聽唔明。提示稿係活嘅——每個月根據真實通話微調一次,個系統會越嚟越貼客人講法。有關通話系統嘅整體設計思路,可以再睇《粵語客服 TTS 應用指南》。

上線前檢查清單

用真電話行一次全流程

電腦耳筒試聽驗唔出電話線路嘅問題:頻寬壓縮之後嘅清晰度、音量水平、背景噪音。全部提示句用真電話聽一次,最好搵一個冇參與整個系統嘅同事嚟聽——太熟稿嘅人會自動腦補,聽唔出問題。

流程測試位

  • 撳錯鍵:有冇友好提示同重試機會
  • 嘥撳:超時幾耐會重播定轉真人
  • 中途收線:後台任務點處理
  • 辦公時間外:播咩提示、有冇留言功能
  • 生成失敗:有冇預錄嘅「系統繁忙」提示兜底

監察位

上線之後睇三個數:生成任務失敗率(正常應該好低)、通話中途掛線率(突然升高即係體驗出問題)、轉真人比例(太高即係選單設計冇 cover 到常見查詢)。

常見問題 FAQ

Twilio 內建語音有廣東話,點解仲要自己生成?

Twilio 內建語音嚟自通用語音供應,廣東話發音大致正確,但口語詞、語氣詞、中英夾雜位冇為香港優化。你可以同一句稿(「你嘅外賣已經到咗樓下喇」)分別用內建語音同港嘢生成,喺真電話場景比較,分別好明顯。

動態生成會唔會令客人等好耐?

排隊時間視乎當時負載,一般以秒計。體驗設計上一定要有過渡提示兜住,唔好令客人對住靜音等。高峰時段可以預生成常用組合做快取,例如常見時段嘅派件狀態句。

一句提示改咗字,使唔使成套重出?

唔使。揀返嗰句重新生成就得,所以檔案命名同版本管理要做好,先可以準確替換、唔會改錯位。平時記低每句對應嘅檔名或者任務編號,改嗰陣一查就中。

生成嘅音頻可以直接交俾 Twilio 播?

可以,音頻連結下載唔需要額外授權。不過要留意連結時效(1 小時或 7 日),長期使用建議下載返入自己檔案空間再俾 Twilio 播,穩定好多。

批量功能邊個方案有?

專業同工作室方案。免費同入門方案可以逐個任務提交,幾十句嘅選單逐步提交都得,只係慢啲。用量穩定之後升級,批量慳返好多時間。

沙盒 key 同正式 key 有咩分別?

沙盒 key(sk_test_ 開頭)俾免費同入門用戶試接,有每日生成次數限制;正式 key(sk_live_ 開頭)要專業或以上方案先有全速。升級之後原有 key 自動按方案解鎖,唔使重新開過。

[!CTA]

整返一個地道粵語電話系統

去港嘢 API 文檔睇接入細節,或者喺 Playground 先試好選單稿嘅聲線同語氣。

相關文章