开源 TTS 模型 Hurston-1 支持多种英语口音
Show HN: Hurston-1 open source TTS that speak Southern American and Afro-English
Hurston-1 是一个开源的文本转语音模型,由 Destined AI 开发,能够模拟南方美国英语和非洲英语等多种英语口音,填补了现有 TTS 系统在这些方面的空白,其训练数据部分来源于真实电话通话
为手机设计的带重音的英语语音合成,由简单的语言语音描述控制。
Hurston-1 引入了 NB-TTS (窄带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'))
南方有话要说
1995年, André 3000 在 Source Awards 颁奖礼上站在舞台上,面对一群嘲笑OutKast的观众,他说"南方有话要说。"我们认为这句话仍然适用。
Hurston-1是由亚特兰大的一支小独立团队构建的。自2021年以来,我们从美国南部和非洲各地录制了经过同意的付费贡献者。这些是大多数AI系统仍然扁平化为通用美式英语的声音。没有人给我们提供资金来做到这一点,所以我们自己构建了它。这些声音属于AI,现在它们有了开源模型。
我们以Zora Neale Hurston的名字命名。她在佛罗里达州的Eatonville长大,接受人类学家训练,并 travels遍南方,记录黑人南方人实际说话的方式:他们的故事、歌曲和演讲,在那时很少有机构认为这些声音值得保留。我们的工作是她的一小部分回响。这个名字是一种致敬;它并不意味着她的遗产有任何认可。
听南方
亚特兰大周围人们实际说话的几句话。全部是合成的;每个声音都是根据描述生成的。
| 行 | 声音 | 收听 |
|---|---|---|
| "南方有话要说。" | 男性,美国南部口音,清晰的对话 | |
| "在Peachtree见面。不,不是那条Peachtree,是另一条。" | 女性,美国南部口音,休闲对话 | |
| "我要出门了,285号公路的交通已经堵了。" | 男性,美国南部口音,休闲对话 | |
| "你来自亚特兰大的哪个部分?" | 女性,美国南部口音,休闲对话 |
每个口音的更多样本在demo/(demo/demos.csv中的描述和文本)。
声音描述
该模型是在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不会克隆声音,也没有接受过训练来复制任何真实的人。
为电话构建(NB-TTS)
大多数语音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 与一个编写呼叫脚本(客户、患者、申请人)的大型语言模型配对,在真人使用之前通过你的代理运行数百次合成通话。使用电话模式,这样代理就能听到它在生产中会听到的声音。这有助于捕捉代理在口音、姓名或数字上听错的地方。
- 训练数据增强。 在 ASR、关键词识别或唤醒词训练集中添加带重音的合成语音,其中这些口音较少。将其与真实语音混合,而不是仅使用合成音频进行训练。
- 语音提示和公告。 电话菜单(电话模式输出直接进入 IVR)、预约提醒、商店和交通公告、应用引导,使用听起来像你所服务的社区的声音。
- 教育和培训。 世界英语的听力练习,供学习者使用,以及客户服务、医疗保健和呼叫中心员工的口音熟悉练习。
- 无障碍和朗读。 以更接近家乡的声音朗读文章、表格或消息。
- 游戏、动画和媒体草稿。 背景角色、临时语音轨道和播客或有声书草稿,标记为合成。
- 研究。 语音系统的口音公平性审计、听力和感知研究,以及涵盖大多数数据集遗漏的语音的基准。
目前不适合: 在会话中保持一致的品牌声音(每次通话都是一个新的声音;见限制),克隆特定的人,或在没有人类先听的情况下进行任何安全关键的内容。
评估
两个问题:它听起来像口音吗?它说这些词吗?
口音强度与基础 Maya1。 基础 Maya1 文档了五种口音(美国、印度、中东、亚裔美国人、英国)。为了公平比较,我们用它自己的文档描述风格提示它,命名每个口音,并将其与 Hurston-1 在相同的 10 个句子和 18 个声音(每个模型 180 个剪辑)上进行了比较。一个口音分类器(基于真实说话者训练的非洲英语与美国英语)对每个语音组进行了评分:
| 口音(概率判断为非洲) | 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 |
这个分类器无法区分南方美式英语和通用美式英语;那个口音是通过听辨检查的。
可懂度。对输入文本进行大型-v3-turbo单词错误率(WER)低语测试(WER数值越低越好)。
日常句子(与上述口音测试相同的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% |
更难的集合涵盖了阅读、健康、客户服务、姓名和数字、表达性和长句子。基础版Maya1非常清晰,因为它主要保持在美国英语中;Hurston-1在实际上做口音时保持了几乎相同的清晰度。
口音(510片段集合,带--check的WER) |
Hurston-1 |
|---|---|
| 美国 | 0.021 |
| 南方美国 | 0.070 |
| 尼日利亚 | 0.070 |
| 尼日利亚(伊博语) | 0.016 |
| 尼日利亚(约鲁巴语) | 0.078 |
| 西非 | 0.059 |
| 东非 | 0.043 |
| 东非(斯瓦希里语) | 0.019 |
| 南非 | 0.053 |
姓名和数字是最难的一类(带--check的WER为0.17)。部分原因是识别器拼写非洲姓名(如Adaeze Okafor)而不是模型发音错误。
语速。带natural pacing的中位数为每秒2.84个单词,而基础版Maya1为每秒3.76个。Hurston-1说话稍微更刻意;使用fast pacing进行更快地表达。
盲听。测试者随机顺序听到基础版Maya1和Hurston-1的同一句话,不知道哪个是哪个,并选择听起来更像带有请求口音的真人声音的那个。Hurston-1有78%的时间被选中,而基础版Maya1只有6%;其余的是平局或都不选(54次比较)。基础版Maya1从未被选中用于非洲或南方美国的声音;它的少数胜利是在普通的美国英语上。
训练数据
Maya1的64位LORA微调,2000步,约190小时的语音:
| 来源 | 小时数 | 许可证 |
|---|---|---|
| 目标AI口音英语语料库:脚本朗读、会话式语音和约10小时的与AI语音代理的真实电话通话,来自同意的付费贡献者 | ~136(我们1800多小时语料库的一部分) | 属于目标AI |
| LibriTTS-R(有声书风格,保持通用质量) | ~46 | CC BY 4.0 |
| Mozilla Common Voice英语,非洲口音说话者,经过质量过滤 | ~10.5 | CC0 |
口音标签来自每个贡献者自我报告的背景,与音频口音分类器和人工听辨核对;音频和标签不一致的说话者被重新标记或移除。语速标签来自每个片段测量的说话速度。所有贡献者都是成年人。完整的Destined AI语料库(1800多小时,自2021年录制)未包含在此发布中;请联系我们关于许可它。
限制
- 通话间无声音一致性。每次通话都是一个符合描述的新声音。长文本在句子末尾分割成约40个词的片段,因此声音可以在片段之间变化。计划在后续版本中提供一致命名的声音。
- 姓名、日期和金额是最薄弱的内容。使用
--check并在发送任何重要内容前听一下。 - 通用的
African English accent标签较弱(WER为0.26);使用具体地区。 - 仅英语。没有儿童声音。
- 像其他自回归TTS模型一样,它偶尔会产生混乱或过长的录制,或者声音在录制中途发生变化;
--check捕获了其中的大部分。 - 输出对所有声音都调整为相同的响度,并且录制内部的超过半秒的停顿被缩短。
- 电话模式改变的是频道,不是说话风格:模型目前还不能按请求选择通话风格的交付(如轮流发言、应答话术)。参见“未来规划”。
未来规划
Hurston-1 是第一步。我们正在构建的目标:
- 电话原生 TTS。一个学习像通话中的人一样说话的模型,而不仅仅是像电话线路一样发声:通话风格与阅读风格不同,具有自然的轮流发言、“嗯哼”声和通话节奏,这些是从我们记录的真实人与全双工 AI 代理交谈的录音中学习的.
- 一致的语音。同一名称的语音在每次通话和每句话中都保持一致,适用于代理和品牌.
关注 Destined AI on Hugging Face 获取下一个发布版本.
负责任使用
不要使用 Hurston-1 伪装真实人物、欺骗听众或进行欺诈。告知听众何时语音是合成的。demo/ 中的音频是合成的.
致谢与许可
- 模型权重:Apache-2.0,源自 Maya Research 开发的 Maya1(Apache-2.0)。
- 音频编解码器:SNAC 24 kHz 由 Hubert Siuzdak 开发(MIT),在运行时下载。电话模式使用 ITU-T G.711(公共标准)。
- 可选检查:Whisper large-v3-turbo 由 OpenAI 开发(MIT)和 ECAPA 说话人嵌入 来自 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}
}
来源:Hacker News · huggingface.co