区分说话人的转写
说话人分离与说话人识别的区别
前者用匿名分组回答“谁在何时说话?”,后者询问声音是否与某个已知人员匹配。混淆二者会导致错误的设置和预期。
转写稿可以区分参与者,却不知道他们是谁。只有在某个声音已注册并完成匹配后,也可以识别已知声音。二者是相关任务,但解决的问题不同,失败方式也不同。
两个不同的问题
说话人分离:谁在何时说话?
说话人分离会分析录音、检测语音区域、提取声音特征,并对相似区域进行聚类。输出是带有匿名分组标签的时间线:
00:00-00:12 Speaker_000:12-00:25 Speaker_100:25-00:41 Speaker_0
系统无需知道任何人的姓名。对于访谈、会议、播客和通话,这有助于生成可按说话轮次阅读的转写稿。
说话人识别:这是哪个已知人员?
说话人识别会将检测到的说话人与已知语音样本库比较。匹配结果超过身份阈值时,匿名标签便可替换为姓名。在 Owl Meeting 中,该库保存在本地,并通过“说话人”页面管理。
识别需要预先注册。如果某人不在库中,系统便无法仅凭录音推断其现实身份。
| 说话人分离 | 说话人识别 | |
|---|---|---|
| 主要问题 | 谁在何时说话? | 这是已注册的已知人员吗? |
| 预先样本 | 不需要 | 自动命名需要 |
| 典型标签 | Speaker_0 | 小明、小丽、采访者 |
| 主要设置 | 说话人数或聚类阈值 | 声纹语言和身份阈值 |
| 常见错误 | 一个人被拆分,或两个人被合并 | 已知人员未匹配或匹配错误 |
组合工作流如何运行
文件转写同时启用两项功能时,处理顺序很重要:
- 检测语音。将录音划分为包含语音的区域。
- 对声音聚类。说话人分离将看似来自同一声音的区域分组。
- 比较已知样本。身份标记会将每个最终说话人组与本地声纹库比较。
- 达到阈值时应用姓名。可信匹配会替换临时标签,未匹配的组仍保持匿名。
- 识别并检查文本。语音识别生成转写稿,用户对照源音频核实标签和文字。
不同设置会影响不同的失败模式
说话人数
如果参与人数已知,指定人数可为聚类提供有效约束。人数未知时适合使用自动计数,但结果会更多地取决于聚类阈值和录音质量。
聚类阈值
该参数控制说话人分离过程在一个说话人组内能容忍多大差异。设置过于敏感可能将一个人拆成多个标签;过于宽松则可能合并两个声音相似的人。请在包含真实说话人切换的片段上测试阈值。
声纹语言
Owl Meeting 分别提供中文和英文声纹模型。样本和文件转写设置需要使用兼容的声纹语言,否则即便说话人分离本身正常,身份匹配仍可能失败。
身份阈值
身份阈值决定匹配需要达到多高的强度才会应用已知姓名。提高阈值可减少不可靠的匹配,但可能让已知人员没有姓名;降低阈值可识别更多片段,却会增加错误命名的风险。身份很重要时,应优先采用保守的自动命名。
创建实用的语音样本
语音样本应体现说话人,而不是房间。请使用只含目标说话人的清晰片段,避免语音重叠、响亮音乐或背景中的其他声音。在当前 Owl Meeting 工作流中,5 至 30 秒是实用的时长范围。
同一个人通过会议麦克风、电话、耳机或远处的房间麦克风说话时,声音可能不同。如果日常录音来自这些不同条件,添加多个有代表性的样本会有所帮助。不要添加大量近乎重复的低质量片段;数据更多并不自动代表数据更好。
先诊断标签问题,不要一次更改所有设置
| 症状 | 可能出问题的层面 | 首先检查 |
|---|---|---|
| 一个人显示为两个说话人 | 说话人分离 | 说话人数、阈值、麦克风变化或背景噪声 |
| 两个人共用一个标签 | 说话人分离 | 设置已知人数,或提高聚类敏感度 |
| 分组正确但缺少姓名 | 说话人识别 | 身份标记、声纹语言、样本和身份阈值 |
| 姓名分配给错误的组 | 说话人识别 | 提高身份阈值并替换受到干扰的样本 |
| 说话人标签正确但文字错误 | 语音识别 | 识别模型、音频质量、语言和词典 |
区分这些层面可以避免一个常见错误:为修复聚类问题而更改语音识别模型,或为修复错误文字而更改说话人数。应分别评估说话人边界、姓名和文本。
了解限制
- 重叠语音可能难以归属,因为两个声音占据同一时间区域。
- 非常短的插话可能不含足够的声音信息,无法进行稳定聚类或身份匹配。
- 人的声音会随疾病、情绪、距离、麦克风、压缩和声道而变化。
- 相似的声音可能被合并,同一个不断变化的声音也可能被拆分。
- 自动生成的姓名用于正式会议纪要、研究编码或证据前,应经过检查。
常见问题
说话人分离会按姓名识别人吗?
不会。说话人分离会将录音划分为说话人 0 和说话人 1 等说话人组。要将某个组识别为有姓名的人员,需要另外执行身份匹配或手动标记。
说话人分离需要语音样本吗?
不需要。说话人分离无需预先注册的库即可对不同声音分组。工作流需要将说话人组与已知人员比较并自动应用姓名时,才需要语音样本。
为什么一个人被分成了两个说话人标签?
人的声音会随距离、麦克风、情绪、噪声或声道而变化。自动聚类阈值也可能过于敏感。请指定已知的说话人数,或调整阈值并检查结果。
从匿名说话人组开始
先确认说话人分离创建了正确的说话人边界。仅在分组稳定后添加身份匹配。