如何使用python3转换srt中的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”文件格式。 请为此提供任何解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...