首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vosk翻译输出仅显示最后一批翻译。

vosk翻译输出仅显示最后一批翻译。
EN

Stack Overflow用户
提问于 2020-12-07 18:57:09
回答 1查看 1K关注 0票数 0

当我试图使用我自己的音频文件运行test_ffmpeg.py时,它实际上并没有显示所有的翻译。但它只显示了最后一段/批。比如,我的音频文件是这样的:

代码语言:javascript
复制
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy cat
The quick brown fox jumps over the lazy rat
The quick brown fox jumps over the lazy bat

会发生的是,它会闪现所有这些文本,它们看起来像预期的那样被翻译出来,但是在脚本的末尾,它只显示了,快速的棕色狐狸跳过懒惰的蝙蝠,作为最终结果。

在检查实际文件时,这一行应该显示所有已翻译的文本,但它只打印被捕获的最后一部分。

代码语言:javascript
复制
print(rec.FinalResult())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-04 05:01:45

rec.FinalResult()只打算按照文档的指示在文件的末尾使用。

返回语音识别结果。与结果相同,但不等待沉默,您通常在流的末尾调用它以获得最终的音频。它会刷新功能管道,因此所有剩余的音频块都会被处理。

您可能正在寻找一个将每个结果附加到数组中的解决方案。然后,您可以将其打印出来或将其附加到文件中。

代码语言:javascript
复制
results = []
subs = []
while True:
   data = process.stdout.read(4000)
   if len(data) == 0:
       break
   if rec.AcceptWaveform(data):
       results.append(rec.Result())
results.append(rec.FinalResult())
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65187740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档