V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
summerlv
V2EX  ›  程序员

想问下如何将 srt 字幕文本自动剪接生成一个完整语句啊?

  •  
  •   summerlv · 239 天前 · 3844 次点击
    这是一个创建于 239 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如通过一些软件生成了 srt 字幕文本,但是这些字幕文本都比较零散,可以通过写一个解析 srt 文本的程序让它们自动剪接生成一句完整的话吗?然后剪切合并后的语句的时间戳信息也自动合并!没想出啥思路可以解决,想用 Python 来写,搜了下有 srt 相关的库,但是具体的解析思路还没有!

    还请相关前辈指导一些思路?不胜感激,^_^

    27 条回复    2024-05-13 11:46:59 +08:00
    naminokoe
        1
    naminokoe  
       239 天前
    如何定义什么叫做一句完整的话?
    dji38838c
        2
    dji38838c  
       239 天前
    中文吗
    中文还是比较好搞的,做过
    summerlv
        3
    summerlv  
    OP
       239 天前
    @naminokoe 这个也是要思考的问题,😄
    summerlv
        4
    summerlv  
    OP
       239 天前
    @dji38838c 英文,想把英文弄成一句完整的话,然后翻译为中文,英文就是比较多语气词或者停顿的话就不好弄,而且最要命的是可能会有对话形式
    summerlv
        5
    summerlv  
    OP
       239 天前
    @dji38838c 中文的思路是怎么弄啊?是用到啥库吗,或者解析步骤是咋样的?
    gaobh
        6
    gaobh  
       239 天前 via iPhone
    扔给 gpt 直接组合就好了,不放心就用工作流就行了,这么简单的问题
    summerlv
        7
    summerlv  
    OP
       239 天前
    @gaobh 有尝试过喂给 GPT ,但是效果不是很好,特别是遇到长文本的时候,工作流是什么啊
    summerlv
        8
    summerlv  
    OP
       239 天前
    @summerlv GPT 说着说着就自动编造其他的话了,都不是原文了
    mumbler
        9
    mumbler  
       239 天前
    用 whisper 重新去识别生成字幕,prompt 告诉它按完整句子断句
    summerlv
        10
    summerlv  
    OP
       239 天前
    @mumbler 可以再细说下吗?
    mumbler
        11
    mumbler  
       239 天前
    @summerlv 再细就要帮你做了,你适合花 20 美金买个 chatgpt plus ,跟 gpt4 聊聊你的疑问
    gaobh
        12
    gaobh  
       239 天前 via iPhone
    @summerlv #7 工作流都不知道用 gpt 算白花钱了,工作流就是分步推理然后串联理解吧
    XCFOX
        13
    XCFOX  
       239 天前
    OP 用的什么什么软件生成的 srt ? 正常的语音识别输出的不就是一个完整的语句吗?

    https://www.xfyun.cn/services/lfasr
    https://help.aliyun.com/zh/dashscope/developer-reference/paraformer-speech-recognition/
    https://www.volcengine.com/product/asr
    summerlv
        14
    summerlv  
    OP
       239 天前
    @gaobh 太菜了,我看了下 whisper ,感觉可以用它的 Python 库试试
    summerlv
        15
    summerlv  
    OP
       239 天前
    @XCFOX 剪映,用的剪映的智能字幕识别,识别出来的其实还蛮准确的, 但是就是因为对话形式的字幕,导致有些单词不能成句,然后就需要手动调,感觉比较麻烦,所以想着能不能解析下 srt 文本,然后能够自动调整下成句
    javaluo
        16
    javaluo  
       239 天前 via iPhone
    有 Whisper 识别英文,说不定识别之后效果就么已经不错,没有那种断来断去的问题我
    sm1314
        17
    sm1314  
       239 天前
    需要多模态视频理解,字幕信息量太少了
    sm1314
        18
    sm1314  
       239 天前
    你就是想做视频解说吧,别想了,难度很大
    matthewzhong
        19
    matthewzhong  
       239 天前   ❤️ 1
    剪映有个有智能剪口播的功能,可以快速剔除不要的,卡顿的、语气词的部分。

    [字幕工具箱 - 免费的在线字幕工具集合]( https://zm.i8k.tv/)
    thinkm
        20
    thinkm  
       239 天前
    这个比较难,目前没有好的方案
    sighforever
        21
    sighforever  
       239 天前
    我觉得 gpt 仔细限制一下提示词,应该能做到吧。文本重写基本上是 gpt 这种大语言模型最基础可靠的能力之一。

    当然你的需求里面对语意方面的要求比较高,无论哪种都不太行吧。毕竟只有字幕这一个信息,对于完全理解文本内容多少有点不够。
    jdcola
        22
    jdcola  
       238 天前 via iPhone
    @mumbler Whisper 的 prompt 跟 GPT 的 prompt 不是一回事,干不了这个。
    luodan
        23
    luodan  
       238 天前
    可以分析一下某条字幕的结束时间和下一条字幕的起始时间。如果小于某个值就认为是一句话。不过遇到相声这类的估计就傻眼。最好还是让 AI 来分析音频,按不同频谱的声音先独立出来,再按时间间隔来分句子。
    HENQIGUAI
        24
    HENQIGUAI  
       238 天前
    不需要那么复杂,丢给通义听悟即可。
    mumbler
        25
    mumbler  
       238 天前
    @jdcola #22 whisper 断句长度是用 prompt 控制的
    jdcola
        26
    jdcola  
       236 天前 via iPhone
    @mumbler 噢,那是的。楼主需要注意不是用 prompt 告诉 Whisper 该怎么做,而是上文预设兼风格示例。
    txanin
        27
    txanin  
       228 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   929 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 466ms · UTC 21:48 · PVG 05:48 · LAX 13:48 · JFK 16:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.