V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rocmax
V2EX  ›  问与答

语音转文字处理时说话人识别问题

  •  
  •   rocmax · 19 天前 via Android · 332 次点击

    从在线会议系统中导出多个音轨需要做语音转文字处理。音轨一人一条,而且知道对应的用户。需求是处理后的结果要对应发言的人。 现在的处理方法是各个音轨单独做转化,这样可以对应到人,但是因为会议是对话形式,单独处理一个人的音轨时上下文不完整,精度不太好。 我知道现在有大模型可以识别发言人,可以将音轨先合并再处理。但转化结果只是能区别讲话人,而且可以区分的人数有限,很难对应到用户。

    有没有两全其美的方法?

    2 条回复    2024-06-02 08:23:55 +08:00
    rabbbit
        1
    rabbbit  
       19 天前
    试试 whisperX ?
    我没用过,看介绍支持时间戳,和识别讲述人。
    不清楚这里的时间戳是什么样的,或许可以单独识别,然后按时间戳合并?当然前提是所有人的音轨时常是统一的。
    rocmax
        2
    rocmax  
    OP
       18 天前 via Android
    @rabbbit 合成音频的时候用 ffmpeg ,会考虑每个音轨开始时间的 delay 值,同时采用最长的音轨作为合成后的长度。

    whisperX 给出的是:第一个人,开始时间,结束时间;第二个人,开始时间,结束时间...这样格式的结果,或许可以对照音轨的开始 delay 时间来对应第 n 个人和具体的用户名。但是音轨又有可能开始了但是一段时间后才开始说话,可能还需要 VAD...

    个目前就是各音轨单独识别,现在的问题是单人的音轨上下文不完整,转文字后的结果不如合并以后再转的效果好。

    考虑到合并后可能会有两人同时说话声音重叠的情况影响识别,或许各音轨单独识别还是比较稳妥,牺牲点精度也没办法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2710 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:05 · PVG 23:05 · LAX 08:05 · JFK 11:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.