转写文字本身没出错、但人名标签串了,通常说明语音识别这一层还过得去,问题更多出在说话人区分(diarization)上:系统没有拿到足够可区分的声音。麦克风太远、多人共用一个麦、开场就重叠发言,都会让不同人的声纹在同一段音频里变得接近。判断顺序建议是:先在纪要里找到第一个错标片段,确认是全程混还是局部混;再回看录音的拾音方式和共用情况;最后检查转写结果里系统识别出的说话人数量对不对。设备和工具配置两条线都要看,只调一边往往白费功夫。
如果错标只在部分片段出现,且这些片段前后有重叠发言或远场拾音,优先修录音条件和麦克风摆位;如果从开场自我介绍就混,或者转写结果里识别出的说话人数明显少于实际参会人数,说明说话人区分从源头就没建立起来。两种情况的处理方向不同,但都建议用同一段录音复测:调整音源后重新转写,再对比标签变化,不要在一次调整后就认定问题已经解决。
在纪要里定位第一个错标片段
不要从头往后翻着找感觉,直接从纪要里出现人名对白的段落开始播放录音。每遇到一段标签可疑的地方,按下暂停,记录三件事:
- 系统给出的说话人标签,例如「说话人 1」「说话人 2」;
- 你回听时确认的实际说话人是谁;
- 这段前后大概 5 到 10 秒内,有没有别人同时说话,也就是重叠发言。
做完几段记录后,看错标是「全程混」还是「局部混」。全程混指的是从第一句人名对话就错,且后面几乎对不上;局部混指的是多数段落正确,只在讨论激烈、多人抢话或有人远离麦克风时串标签。这个区分决定后面先动设备还是先看工具的说话人设置。可以把记录整理成一张小表:
片段位置 | 系统标签 | 实际说话人 | 是否有重叠发言 | 说话人离麦远近
开场30秒 | 说话人1 | 张三 | 否 | 远
12分10秒 | 说话人2 | 李四/王五 | 是 | 一远一近
这张表只是你自己排错用的,不用给别人看。它的作用是让「局部混」和「全程混」有据可依,而不是凭印象判断。
检查麦克风距离与共用情况
说话人区分依赖声音之间的差异。差异被抹平,标签就容易并成一个人。下面三种情况对区分的影响不同,现场确认方法也不一样:
- 多人共用一支麦克风。两个人共用一支麦时,声音进入同一路的距离和角度接近,声纹差异被压缩,工具容易把两人判成一人,或来回跳标签。现场确认方法:回听录音时判断两个人的音量、音色是否几乎一致,或者直接问会议室里当时谁和谁共用了一台设备。
- 远场拾音。麦克风放在桌子中间、天花板或离发言人较远的位置,人声经过房间反射后细节变少,尤其是坐在角落或背对麦克风的人,区分难度上升。现场确认方法:在录音里找到最容易混的那几位,看他们当时离麦克风有多远,是否隔着桌子或背对设备。
- 环境噪声。空调、键盘、翻页、回声都会盖住人声里的高频细节,让原本可区分的两个人听起来更像。现场确认方法:在错标片段里听背景声,如果底噪明显、人声发闷,先按噪声问题处理,而不是先怀疑工具。
需要说明的是,这三种情况经常同时存在。麦克风太远本身也会放大共用和环境噪声的影响,所以现场确认时,建议先固定「谁在哪个位置、用哪支麦」这一条信息,再去比较标签错在哪里。
回听开会前几句听音测试
开场轮流自我介绍是相对干净的测试样本:通常一人一句、少有重叠,而且每个人的声音都会出现一次。用耳机回听这一段,做两个判断:
- 你自己能不能听出这几个人声音上的区别?如果连人耳都觉得糊成一片,问题在音源,先处理拾音。
- 如果你能清楚分辨,但工具的标签从第一句就错,说明声音本身有差异,是说话人区分这一层没建立好,需要回头看工具的说话人数设置或音频分轨。
如果开场自我介绍就已经混了,不建议先去调工具里的标签合并规则,因为从开头就没有可区分的输入。先把音源问题处理掉,同一段重转,再判断工具侧还需不需要调。反过来,如果开场清楚、只在后半段混乱,那更可能是重叠发言或有人换位,工具侧和录音条件都要一起看。
在转写结果里确认说话人数量
把转写结果导出成纯文本后,先数现场实际参会人数,再数工具识别出的说话人标签个数。两者不一致时,重点不是谁对谁错,而是记录哪些人被合并了。可以用一行命令统计每个标签出现的次数,作为比对参考:
awk -F'[::]' '{print $1}' transcript.txt | sort | uniq -c | sort -rn
这条命令只统计标签第一次出现到冒号之前的内容,字段分隔符按你导出文本的实际格式替换。它给出的是每个标签的出现次数,不等于说话人数量,也不能说明谁和谁被合并。真正的比对还是要回到录音:找出识别出的标签数量比现场少的那几位,回听他们发言的片段,确认是不是被并到了同一个标签下。如果工具支持设置说话人数范围,可以先按现场人数设定,再重转同一段音频看标签是否分开;不支持的,就跳过这一步,直接进入复测。
按先音源后标签的顺序复测
复测的目标是确认「改动到底影响了哪一层」,而不是一次修好。完整步骤可以不换设备就完成:
- 从原录音里截出同一段音频,最好包含开场自我介绍和一段错标片段,保存为单独文件。
- 先不改工具和参数,只改音源条件:调整麦克风位置、把共用麦改成分轨,或用下面的命令把录音按声道分开,左右声道各存一份。
- 用同一份工具配置重新转写这一段,导出标签结果。
- 和第一次的结果逐段对比:原来的错标片段标签是否变对了,原来正确的地方有没有被改坏。
ffmpeg -i meeting.wav -filter_complex "channelsplit=channel_layout=stereo[l][r]" \
-map "[l]" left.wav -map "[r]" right.wav
分轨后再转写,等于把「多人共用一麦」这个变量单独拿掉,能看出标签混乱有多少来自拾音。如果工具提供说话人数参数,可以按现场人数填一个范围再转一次,参数名各工具不同,按你所用工具的实际字段替换,例如:
`--input` left.wav `--num-speakers` 4 `--diarization` on
复测时建议一次只改一个变量:要么只改音源,要么只改说话人数设置。两个一起改,即使标签变好了,也说不清是哪一边起了作用。如果改完标签仍然混乱,回到前面几节重新定位是拾音问题还是工具区分问题,不要用一次复测的结果下结论。