从在线会议系统中导出多个音轨需要做语音转文字处理。音轨一人一条,而且知道对应的用户。需求是处理后的结果要对应发言的人。 现在的处理方法是各个音轨单独做转化,这样可以对应到人,但是因为会议是对话形式,单独处理一个人的音轨时上下文不完整,精度不太好。 我知道现在有大模型可以识别发言人,可以将音轨先合并再处理。但转化结果只是能区别讲话人,而且可以区分的人数有限,很难对应到用户。
有没有两全其美的方法?
1
rabbbit 186 天前
试试 whisperX ?
我没用过,看介绍支持时间戳,和识别讲述人。 不清楚这里的时间戳是什么样的,或许可以单独识别,然后按时间戳合并?当然前提是所有人的音轨时常是统一的。 |
2
rocmax OP @rabbbit 合成音频的时候用 ffmpeg ,会考虑每个音轨开始时间的 delay 值,同时采用最长的音轨作为合成后的长度。
whisperX 给出的是:第一个人,开始时间,结束时间;第二个人,开始时间,结束时间...这样格式的结果,或许可以对照音轨的开始 delay 时间来对应第 n 个人和具体的用户名。但是音轨又有可能开始了但是一段时间后才开始说话,可能还需要 VAD... 个目前就是各音轨单独识别,现在的问题是单人的音轨上下文不完整,转文字后的结果不如合并以后再转的效果好。 考虑到合并后可能会有两人同时说话声音重叠的情况影响识别,或许各音轨单独识别还是比较稳妥,牺牲点精度也没办法。 |