BingLingGroup / autosub

Command-line utility to transcribe/translate from video/audio/subtitles to subtitles
GNU General Public License v2.0
1.98k stars 244 forks source link

0.5.7a 斷句問題 (固定 9.990秒) #118

Closed emisjerry closed 4 years ago

emisjerry commented 4 years ago

您好,應該是沒有人反應過0.5.7a的這個問題。

描述问题 使用最簡單的參數,0.5.7a 產生的.srt 幾乎每行的持續時間都是9.990秒。 但使用0.5.6a則無此現象。可能和 -mxrs 有關?

1

复现问题 复现问题的步骤:

  1. 你使用的命令行参数。
autosub -i test.mp4 -S cmn-hant-tw

操作环境(请提供以下完整数据):

感謝協助。

BingLingGroup commented 4 years ago

我觉得你即使使用0.5.6a的短句也不会很理想吧……因为中间哪怕有一点安静的区域,都应该会停下了,不会是均匀的这种。 不管怎么讲,0.5.7a确实是把默认的最大语音区域改成了10秒,这个你可以通过-mxrs来调整,另外0.5.6a之后的修改,确实只是改了些常量值,我刚刚也测试过一个音频文件,不会出现你这种均匀的10秒的情况。如果你识别的那种音频是处理过的,删除了所有安静的区域的那种,那么用auditok断句的效果确实不好,这种断句最好用长语音识别,这样至少会按照语义上的一句句来断句。

BingLingGroup commented 4 years ago

另外请参考使用Auditok选项中的-mxcs-mnrs-et,根据你的情况,-mxcs可以适当调小,-et可以适当调大,这些参数的具体说明参见auditok的官方文档

emisjerry commented 4 years ago

我使用的mp4就只是一般軟體教學錄影,並未做任何影像或聲音的再處理。

我有試過這些參數,有稍微可以接受一些,但語句的切割經常會切在非靜止段,這就造成問題。 0.5.6a至少大部份會切在靜止段落。

BingLingGroup commented 4 years ago

0.5.6a到0.5.7a真的就是只改了下常量,其他的没改,反倒是0.5.5a到0.5.6a改了下严格最小区域限制那个选项-nsml

emisjerry commented 4 years ago

比對了0.5.6-alpha的constants.py,把-et 的值由0.5.7a的45變更成0.5.6a的50,測試後就沒有九成句子是9.990秒的狀況(其他參數都沒修改,就只變動 -et 50)。

測試了一個9分多鐘和一個5分鐘的MP4檔,-et 45都會出現九成9.990秒的狀況。

autosub.exe -i test2.mp4 -S zh-TW -nsml -o test.srt

1

autosub.exe -i test2.mp4 -S zh-TW -et 50 -o test.srt

2

BingLingGroup commented 4 years ago

原来如此,我改了默认-et的原因是有人的音频音量太低了检测不到向我反馈45好用很多……具体是哪个问题不记得了,也可能不是在github上提的。 那我现在把et改回来,其实我的音频的测试结果是45-60之间都基本可用,另外你这个音频我就感觉是有比较大的背景噪音,所以会产生一定的影响。 谢谢你的反馈。