Hurston-1:電話專用開源 TTS,支援南美洲與非洲英語口音
Show HN: Hurston-1 open source TTS that speak Southern American and Afro-English
Hurston-1 是一款針對電話語音最佳化的開源 TTS,支援南美洲與非洲英語口音。
- 開源與版權:Apache‑2.0,基於 Maya1 fine‑tune。
Hurston-1 針對電話語音最佳化的開源 TTS,能即時生成多種非標準英語口音,為客服、語音辨識與訓練資料提供真實口音測試。
以簡單語言聲音描述為導向,為電話打造的帶口音英語文字轉語音。
Hurston-1 推出 NB-TTS (Narrowband TTS):為電話線路設計的文字轉語音,即使另一端是 AI 代理,客戶服務大部分仍在此進行。它部分學習自我們貢獻者與 AI 語音代理之間的真實電話通話,其電話模式傳遞呼叫者實際聽到的內容:8 kHz G.711 音訊,已準備好供 Twilio 及其他電話系統使用。完整 24 kHz 音訊仍是預設。
Hurston-1 是由 Maya1(Apache-2.0)微調而成,Destined AI 針對大多數 TTS 系統處理不佳的英語口音:南方美國、奈及利亞、西非、東非、南非,以及更廣泛的美式英語而建構。它是 Destined AI 的 ClarityVoice 系列中第一個開源模型。
pip install torch transformers snac soundfile scipy speechbrain # speechbrain is only needed for --check
python hurston.py --model . --check \
--accent "Nigerian English accent" --gender Female \
--text "Good afternoon. Please take one tablet twice a day after meals." --out hello.wav
# the same line as a caller hears it: 8 kHz G.711 mu-law WAV
python hurston.py --model . --check --phone \
--accent "Southern American accent" --gender Male \
--text "Thanks for calling, how can I help you today?" --out call.wav
from hurston import Hurston, describe
tts = Hurston('.', check=True) # check=True retries takes that Whisper cannot follow or where the voice changes
wav = tts("Well hey there, thanks for calling.", describe('Male', 'adult', 'Southern American accent'))
\n\t\t南方有話要說\n\t
1995 年,André 3000 在 Source Awards 舞臺上,面對一群為 OutKast 送上噓聲的觀眾,說出\n「南方有話要說。」 我們認為這句話仍然適用。
Hurston-1 由亞特蘭大的一支小型獨立團隊打造。自 2021 年起,我們開始錄製來自美國南方及全非洲的已取得同意且受報酬的貢獻者。這些聲音大多被 AI 系統簡化為通用美式英語。沒有人為此提供資金,我們自行開發。\n這些聲音屬於 AI,現在已成為開源模型。
我們以 Zora Neale Hurston 命名。她在佛羅裡達州的 Eatonville 成長,受訓為人類學家,並前往南方錄製黑人南方人實際的說話方式:他們的故事、歌曲與語言,當時很少機構認為這些聲音值得儲存。我們的工作只是對她的一點回聲。此名稱為致敬,並不代表其遺產的任何背書。
\n\t\t聽聽南方\n\t
幾句在亞特蘭大真實對話方式。全為合成;每個聲音皆由描述生成。
| 線 | 聲音 | 聆聽 |
|---|---|---|
| 「南方有話要說。」 | 男性,南方美國口音,清晰對話式 | |
| 「在 Peachtree 路見面。不是那條 Peachtree,另一條。」 | 女性,南方美國口音,隨意對話式 | |
| 「我要出發,285 號公路已經塞車。」 | 男性,南方美國口音,隨意對話式 | |
| 「你來自亞特蘭大的哪一區?」 | 女性,南方美國口音,隨意對話式 |
每種口音的更多樣本見於 demo/(描述與文字在 demo/demos.csv)。
\n\t\t聲音描述\n\t
模型以 Gender, age, accent, style, pace 形式的描述進行訓練:
| 欄位 | 值 |
|---|---|
| 性別 | Female, Male |
| 年齡 | adult, middle-aged, older |
| 口音 | American accent, Southern American accent, Nigerian English accent, Nigerian (Yoruba) English accent, Nigerian (Igbo) English accent, West African English accent, East African English accent, East African (Swahili) English accent, Southern African English accent |
| 風格 | clear conversational voice, casual conversational voice, clear audiobook narration voice |
| 速度 | natural pacing, measured pacing, slow pacing, fast pacing |
速度標籤為從訓練資料中自然聲音學習到的絕對說話速率:大約慢速低於每秒 2 個詞,測量為 2 到 2.6,正常 2.6 到 3.4,快速超過 3.4。模型大致遵循這些標籤,並不完全相同。它仍高度符合基礎資料集的行為。
每一次呼叫都會抽取符合描述的新聲音。注意:Hurston-1 不會克隆聲音,也未訓練複製任何\n真實人物。
\n\t\t為電話打造(NB-TTS)\n\t
大多數語音 AI 先以工作室品質示範,再透過電話線路部署。Hurston-1 為實際聽見的場景設計:
- 以真實通話為訓練資料。 約10小時的訓練音訊(來自250位貢獻者的7,600次對話)為電話品質的語音,來自真實通話中的全雙工AI語音代理,並搭配錄音室風格的朗讀與對話。
- 電話模式。
--phone(或phone=True)將輸出過濾至 300 至 3,400 Hz 的電話頻帶,重新取樣至 8 kHz 並編碼為 G.711 mu‑law(--codec alaw用於 A‑law),這是電話網路、SIP 和 Twilio 使用的格式。 它是合成後套用的頻道效果,因此--check仍會評估完整品質的錄音。 - 已準備好串流。
ulaw_encode()會回傳原始 mu‑law 位元組,符合 Twilio 媒體串流所需的負載。
from hurston import Hurston, describe, ulaw_encode
tts = Hurston('.', check=True)
call = tts("Hi, I'm calling about my appointment on Tuesday.", describe('Female', 'older', 'Nigerian English accent'), phone=True)
payload = ulaw_encode(call) # 8 kHz mu-law bytes; base64 it for a Twilio media stream
人們用它做什麼
一些起點。 在 Destined AI,我們使用這類帶口音的 TTS 來建立廣泛且高品質的測試資料,這仍是我們首先會推薦的用途。
- 語音辨識測試資料。 產生相同句子在九種口音中的版本,觀察你的 ASR、字幕或轉錄系統在哪裡失效。這可快速檢查口音覆蓋度,或作為發布前的回歸測試集。
- 為語音代理與 IVR 模擬呼叫者。 將 Hurston‑1 與寫呼叫指令碼的 LLM(客戶、病患、申請者)配對,並在真實人員呼叫前,先讓你的代理處理數百個合成呼叫。使用電話 模式,讓代理聽到其在實際環境中會聽到的聲音。這對於捕捉代理誤聽口音、姓名或數字非常有效。
- 訓練資料增強。 將帶口音的合成語音加入 ASR、關鍵字偵測或喚醒詞訓練集,當該口音資料稀少時。將其與真實語音混合,而非僅以合成音訊訓練。
- 語音提示與公告。 電話選單(電話模式輸出直接進入 IVR)、預約提醒、商店與交通公告、應用程式 上線導引,皆以符合你服務社群的語音呈現。
- 教育與訓練。 為學習者提供跨國英語的聆聽練習,以及為客戶服務、醫療與呼叫中心人員提供口音熟悉訓練。
- 無障礙與朗讀。 以更貼近本地語音朗讀文章、表單或訊息。
- 遊戲、動畫與媒體草稿。 背景角色、臨時聲音軌道以及播客或有聲書草稿, 標記為合成。
- 研究。 語音系統的口音公平審核、聆聽與感知研究,以及涵蓋大多數資料集忽略之語音的基準。
目前尚不適用: 在多個會話中保持一致的品牌聲音(每一次通話都是新聲音;見限制說明)、複製特定人物,或任何需要先有人類聆聽的安全關鍵應用。
評估
兩個問題:它聽起來像那個口音嗎?它說的是正確的詞嗎?
口音強度對比基礎 Maya1。 基礎 Maya1 文件記錄了五種口音(美式、印度、中東、亞裔美國、英式)。為了公平比較,我們以其自身的描述風格提示它,為每種口音命名,並在相同的 10 個句子與 18 種聲音(每個模型 180 剪輯)上與 Hurston-1 進行比較。口音 分類器(非洲英語 vs 美國英語,訓練於真實說話者)為每個聲音群組評分:
| 口音(判定為非洲英語的機率) | Maya1 基礎 | Hurston-1 |
|---|---|---|
| 南非口音 | 0.60 | 0.95 |
| 西非口音 | 0.60 | 0.84 |
| 東非口音 | 0.81 | 0.98 |
| 東非(斯瓦希里語) | 0.81 | 0.97 |
| 奈及利亞口音 | 0.82 | 0.94 |
| 奈及利亞(伊博語) | 0.82 | 0.92 |
| 奈及利亞(約魯巴語) | 0.87 | 0.93 |
| 美式(應該低) | 0.12 | 0.02 |
| 南美式(應該低) | n/a | 0.01 |
分類器無法區分南部美式英語與一般美式英語;該口音已經通過聽力檢查。
可懂度。 Whisper large-v3-turbo 的單字錯誤率 (WER) 與輸入文字對照,數字已標準化\n(越低越好)。
日常句子(與上面口音測試相同的 180 個片段,natural pacing,一次錄製):
| Maya1 基礎 | Hurston-1 | |
|---|---|---|
| 平均 WER | 0.02 | 0.03 |
較難句子(30 個未見句子 × 17 個聲音,510 個片段):
| Hurston-1,一次錄製 | Hurston-1,帶--check |
|
|---|---|---|
| 平均 WER | 0.145 | 0.062 |
| WER 超過 20% 的片段 | 17.1% | 8.4% |
較難的集合涵蓋閱讀、健康、客服、姓名與數字、富表達力與長句。\nBase Maya1 非常清晰,因為它大多保持在美式英語;Hurston-1 仍保持相近的清晰度,同時\n實際呈現口音。
口音(510 片段集合,WER 與 --check) |
Hurston-1 |
|---|---|
| 美式英語 | 0.021 |
| 南部美式英語 | 0.070 |
| 奈及利亞 | 0.070 |
| 奈及利亞(伊博語) | 0.016 |
| 奈及利亞(約魯巴語) | 0.078 |
| 西非 | 0.059 |
| 東非 | 0.043 |
| 東非(斯瓦希里語) | 0.019 |
| 南非 | 0.053 |
姓名與數字是最難的類別(WER 0.17,帶--check)。其中一部分原因是辨識器會錯拼\n非洲姓名,例如 Adaeze Okafor,而非模型發音錯誤。
說話速率。 以natural pacing為基準,平均每秒 2.84 個單字,與 base Maya1 的 3.76 相比。Hurston-1\n說話稍顯更為慎重;使用 fast pacing 以提升語速。
盲聽測試。 測試者聽到 base Maya1 與 Hurston-1 的同一句話,隨機順序,且不知道哪一個是哪一個,並選擇聽起來\n更像擁有所請口音的真實人物。Hurston-1 被選為78%,base Maya1 為6%;其餘則評為平手或都不是(54 次比較)。Base Maya1 從未\n被選為非洲或南部美式英語的聲音;其少數勝利僅出現在純粹的美式英語。
\n\t\n\t\n\t\t訓練資料\n\t\n
LoRA(rank 64)對 Maya1 的微調,2,000 步,約 190 小時語音:
| 來源 | 小時 | 授權 |
|---|---|---|
| Destined AI 口音英語語料庫:指令碼朗讀、對話語音及約 10 小時的實際電話通話,使用 AI 語音代理,來自已授權、付費的貢獻者 | ~136(我們 1,800+ 小時語料庫的一部分) | 由 Destined AI 擁有 |
| LibriTTS-R(有聲書風格,保持一般品質) | ~46 | CC BY 4.0 |
| Mozilla Common Voice 英語,非洲口音說話者,品質過濾 | ~10.5 | CC0 |
口音標籤來自每位貢獻者自報的背景,並以音訊口音分類器及人類聽力進行核對;若音訊與標籤不符則重新標籤或移除。速度標籤來自每個片段的\n測量說話速率。所有貢獻者皆為成年人。完整的 Destined AI 語料庫(1,800+ 小時,自 2021 年錄製)未包含於本次發行;\n如需授權,請與我們聯絡。
\n\t\n\t\n\t\t限制\n\t\n
- 不同通話之間無聲音一致性。 每一次通話都是符合描述的新聲音。長篇文字會在句尾切分成約 40 個單字的片段,\n因此聲音可能在片段間變化。後續版本將規劃持續一致的命名聲音。
- 姓名、日期與金額是最脆弱的內容。使用
--check並在釋出重要資訊前先聆聽。 - 通用的
African English accent標籤較弱(WER 0.26);請改用具體地區標籤。 - 僅限英文。無兒童聲音。
- 與其他自回歸 TTS 模型相似,它偶爾會產生雜訊或過長錄音,或聲音在錄音中途轉變;\n
--check能捕捉大部分此類問題。 - 輸出已調整為每個聲音相同音量,且錄音內超過半秒的停頓會被縮短。
- 電話模式改變通道,而非說話風格:模型尚未在請求時選擇電話式交談方式(輪流發言、回應聲). 參見 What's next.
What's next
Hurston-1 是第一步。 我們正在朝什麼方向發展:
- 電話原生 TTS。 一個學習像真人在電話中說話的模型,而不只是聽起來像電話線: 電話式風格與閱讀風格不同,具備自然的輪流發言、"mm-hm" 以及通話節奏,從我們錄製的真實人類與全雙工 AI 代理對話中學習。
- 一致的聲音。 在每一次通話及每一句話中,使用相同命名的聲音,適用於代理與品牌。
請關注 Destined AI on Hugging Face 以取得下一版發布。
負責任使用
請勿使用 Hurston-1 以冒充真人、欺騙聽眾或進行詐騙。告知聽眾語音為合成。音訊在 demo/ 為合成。
授權與許可
- 模型權重:Apache-2.0,衍生自 Maya1 由 Maya Research(Apache-2.0)提供。
- 音訊編碼器:SNAC 24 kHz 由 Hubert Siuzdak(MIT)提供,執行時下載。電話模式使用 ITU-T G.711(公用標準)。
- 可選檢查:Whisper large-v3-turbo 由 OpenAI(MIT)提供,以及 ECAPA speaker embeddings 來自 SpeechBrain (Apache-2.0),執行時下載。
- 訓練資料:LibriTTS-R(Koizumi 等,2023;CC BY 4.0)、Mozilla Common Voice(CC0)以及 Destined AI 自己的語料庫。
引用
@misc{hurston2026,
title = {Hurston-1: Accented English Narrowband Text-to-Speech (NB-TTS) for the Phone},
author = {{Destined AI}},
year = {2026},
url = {https://destined.ai}
}