首页 > 解决方案 > 如何使用python3在srt中转换pocketsphinx响应数据

问题描述

我需要从音频文件中提取语音。使用pocketsphinx,我能够获得音频中的单词列表及其起始帧和结束帧。

现在我想将从 pocketsphinx 收到的响应转换为“SRT”文件格式。

我试图通过根据开始帧和结束帧计算秒数来实现这一点。但是计算并没有给出正确的响应。

以下是我正在处理的示例代码:-

from pocketsphinx.pocketsphinx import *
    config = Decoder.default_config()
    config.set_string('-hmm', MODELDIR + "/cmusphinx-en-us-8khz-5.2")
    config.set_string('-lm', MODELDIR + "/en-70k-0.2-pruned.lm")
    config.set_string('-dict', path.join(MODELDIR, 'cmudict-en-us.dict'))
    decoder = Decoder(config)
    #
    stream = open('Welcome.wav', 'rb')
    decoder.start_utt()
    while True:
        buf = stream.read(1024)
        if buf:
            decoder.process_raw(buf, False, False)
        else:
            break
    decoder.end_utt()
    text = ""
    for seg in decoder.seg():
        print(seg)
        text = text + '\n' + seg.word + " " + str(seg.start_frame) + " " + str(seg.end_frame) + " " + str(seg.prob)

回复 :-

    <s> 3699 3702 -27
    thank 3703 3731 -697
    you 3732 3748 -37
    for(2) 3749 3758 -21404
    choosing 3759 3810 -11526
    be 3811 3826 -38920
    an(2) 3827 3839 -54884

上面我得到了这个词,开始帧,结束帧,概率。现在我需要从上面的响应中生成“SRT”文件格式。请为此提供任何解决方案。

标签: python-3.xspeech-recognitioncmusphinxpocketsphinx

解决方案


推荐阅读