区分说话人的转写

说话人分离与说话人识别的区别

前者用匿名分组回答“谁在何时说话?”,后者询问声音是否与某个已知人员匹配。混淆二者会导致错误的设置和预期。

一句话说明区别说话人分离将录音划分成一致的说话人组并标注时间戳;说话人识别则将声音与已注册的样本比较,以附加姓名等已知身份。

转写稿可以区分参与者,却不知道他们是谁。只有在某个声音已注册并完成匹配后,也可以识别已知声音。二者是相关任务,但解决的问题不同,失败方式也不同。

两个不同的问题

说话人分离:谁在何时说话?

说话人分离会分析录音、检测语音区域、提取声音特征,并对相似区域进行聚类。输出是带有匿名分组标签的时间线:

00:00-00:12 Speaker_0
00:12-00:25 Speaker_1
00:25-00:41 Speaker_0

系统无需知道任何人的姓名。对于访谈、会议、播客和通话,这有助于生成可按说话轮次阅读的转写稿。

说话人识别:这是哪个已知人员?

说话人识别会将检测到的说话人与已知语音样本库比较。匹配结果超过身份阈值时,匿名标签便可替换为姓名。在 Owl Meeting 中,该库保存在本地,并通过“说话人”页面管理。

识别需要预先注册。如果某人不在库中,系统便无法仅凭录音推断其现实身份。

说话人分离 说话人识别
主要问题 谁在何时说话? 这是已注册的已知人员吗?
预先样本 不需要 自动命名需要
典型标签 Speaker_0 小明、小丽、采访者
主要设置 说话人数或聚类阈值 声纹语言和身份阈值
常见错误 一个人被拆分,或两个人被合并 已知人员未匹配或匹配错误

组合工作流如何运行

文件转写同时启用两项功能时,处理顺序很重要:

  1. 检测语音。将录音划分为包含语音的区域。
  2. 对声音聚类。说话人分离将看似来自同一声音的区域分组。
  3. 比较已知样本。身份标记会将每个最终说话人组与本地声纹库比较。
  4. 达到阈值时应用姓名。可信匹配会替换临时标签,未匹配的组仍保持匿名。
  5. 识别并检查文本。语音识别生成转写稿,用户对照源音频核实标签和文字。
Owl Meeting 的说话人数、声纹语言和身份标记控件
说话人分段控制说话人分离。身份标记则增加与已注册本地语音样本的第二次比较。

不同设置会影响不同的失败模式

说话人数

如果参与人数已知,指定人数可为聚类提供有效约束。人数未知时适合使用自动计数,但结果会更多地取决于聚类阈值和录音质量。

聚类阈值

该参数控制说话人分离过程在一个说话人组内能容忍多大差异。设置过于敏感可能将一个人拆成多个标签;过于宽松则可能合并两个声音相似的人。请在包含真实说话人切换的片段上测试阈值。

声纹语言

Owl Meeting 分别提供中文和英文声纹模型。样本和文件转写设置需要使用兼容的声纹语言,否则即便说话人分离本身正常,身份匹配仍可能失败。

身份阈值

身份阈值决定匹配需要达到多高的强度才会应用已知姓名。提高阈值可减少不可靠的匹配,但可能让已知人员没有姓名;降低阈值可识别更多片段,却会增加错误命名的风险。身份很重要时,应优先采用保守的自动命名。

创建实用的语音样本

语音样本应体现说话人,而不是房间。请使用只含目标说话人的清晰片段,避免语音重叠、响亮音乐或背景中的其他声音。在当前 Owl Meeting 工作流中,5 至 30 秒是实用的时长范围。

同一个人通过会议麦克风、电话、耳机或远处的房间麦克风说话时,声音可能不同。如果日常录音来自这些不同条件,添加多个有代表性的样本会有所帮助。不要添加大量近乎重复的低质量片段;数据更多并不自动代表数据更好。

Owl Meeting 本地说话人库,包含说话人记录和指定的识别模型
本地说话人库将姓名、语音片段、备注及可选的识别模型选择关联起来。

先诊断标签问题,不要一次更改所有设置

症状 可能出问题的层面 首先检查
一个人显示为两个说话人 说话人分离 说话人数、阈值、麦克风变化或背景噪声
两个人共用一个标签 说话人分离 设置已知人数,或提高聚类敏感度
分组正确但缺少姓名 说话人识别 身份标记、声纹语言、样本和身份阈值
姓名分配给错误的组 说话人识别 提高身份阈值并替换受到干扰的样本
说话人标签正确但文字错误 语音识别 识别模型、音频质量、语言和词典

区分这些层面可以避免一个常见错误:为修复聚类问题而更改语音识别模型,或为修复错误文字而更改说话人数。应分别评估说话人边界、姓名和文本。

了解限制

  • 重叠语音可能难以归属,因为两个声音占据同一时间区域。
  • 非常短的插话可能不含足够的声音信息,无法进行稳定聚类或身份匹配。
  • 人的声音会随疾病、情绪、距离、麦克风、压缩和声道而变化。
  • 相似的声音可能被合并,同一个不断变化的声音也可能被拆分。
  • 自动生成的姓名用于正式会议纪要、研究编码或证据前,应经过检查。

设置说明请参阅说话人管理。文件级聚类和阈值请参阅文件转写

常见问题

说话人分离会按姓名识别人吗?

不会。说话人分离会将录音划分为说话人 0 和说话人 1 等说话人组。要将某个组识别为有姓名的人员,需要另外执行身份匹配或手动标记。

说话人分离需要语音样本吗?

不需要。说话人分离无需预先注册的库即可对不同声音分组。工作流需要将说话人组与已知人员比较并自动应用姓名时,才需要语音样本。

为什么一个人被分成了两个说话人标签?

人的声音会随距离、麦克风、情绪、噪声或声道而变化。自动聚类阈值也可能过于敏感。请指定已知的说话人数,或调整阈值并检查结果。

从匿名说话人组开始

先确认说话人分离创建了正确的说话人边界。仅在分组稳定后添加身份匹配。