0

当我尝试使用我自己的音频文件运行 test_ffmpeg.py 时,它并没有真正显示最后的所有翻译。但它只显示最后一段/批次。就像,我的音频文件是这样的:

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

将会发生的事情是它会闪烁所有这些文本,并且看起来它们已按预期翻译,但在脚本的末尾,它只显示The quick brown fox jumps over the lazy bat作为最终结果

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

print(rec.FinalResult())
4

1 回答 1

2

rec.FinalResult()如文档所示,仅打算在文件末尾使用。

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

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

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())
于 2021-02-04T05:01:45.593 回答