Z-yq / TensorflowASR

一个执着于让CPU\端侧-Model逼近GPU-Model性能的项目,CPU上的实时率(RTF)小于0.1
Apache License 2.0
461 stars 111 forks source link

不知您是否能提供完整的测试样例呢 #14

Closed zxOnVacation closed 3 years ago

zxOnVacation commented 3 years ago

感恩你做出来的完美工作 不知您是否能提供完整的测试样例呢~ 从语音到输出文字 我新手 看这代码完全不知道如何下手 感谢

Z-yq commented 3 years ago

您希望 是什么样式的示例呢? 自己因为有知识背景的原因,不知道对新手来说,更希望哪些地方有说明。或者有什么样式的demo

zxOnVacation commented 3 years ago

感谢您的回复 现在我就是不知道我输入语音 产生了['ér', 'yǐ', 'què', 'shí', 'zuò'] 这样子的句子 但是我该怎么样让他变成汉语句子呢~ 再过一遍lm吗

Z-yq commented 3 years ago

是的 在最新的run-test.py中提供了一些示例,您可以更新一下代码。 具体参考这三个函数:

`

def stt(self,wav_path):

    am_result=self.am.predict(wav_path)
    if self.am.model_type=='Transducer':
        am_result =self.decode_am_result(am_result[1:-1])
        lm_result = self.lm.predict(am_result)
        lm_result = self.lm.decode(lm_result[0].numpy(), self.lm.word_featurizer)
    else:
        am_result=self.decode_am_result(am_result[0])
        lm_result=self.lm.predict(am_result)
        lm_result = self.lm.decode(lm_result[0].numpy(), self.lm.word_featurizer)
    return am_result,lm_result
def am_test(self,wav_path):
    #am_result is token id
    am_result = self.am.predict(wav_path)
    #token to vocab
    if self.am.model_type == 'Transducer':
        am_result = self.decode_am_result(am_result[1:-1])
    else:
        am_result = self.decode_am_result(am_result[0])
    return am_result
def lm_test(self,txt):
    py=pypinyin.pinyin(txt)
    input_py=[i[0] for i in py]
    #now lm_result is token id
    lm_result=self.lm.predict(input_py)
    #token to vocab
    lm_result=self.lm.decode(lm_result[0].numpy(),self.lm.word_featurizer)
    return lm_result

`

zxOnVacation commented 3 years ago

感谢 我还能再问下 流式处理 现在一般是怎么做的呀 是每次抽固定的时间去做吗 那前后断的句子该怎么处理呢

Z-yq commented 3 years ago

这个目前没有标准答案,主要就是对encoder和decoder的应用。 只要满足了需求就是好的方案。

zxOnVacation commented 3 years ago

好的 感谢