Closed extremk closed 2 months ago
另外建议把faster-whisper的参数移入专门的ini文件 因为参数很多,也非常影响字幕识别体验,尤其是小语种,影响很大
上面部分我修改后,能感觉到识别准确度有提升
vad部分 -max_speech_duration_s : 8.0 -min_silence_duration_ms : 600 这两个非常影响生成字幕体验,默认的值 -max_speech_duration_s -inf 和 -min_silence_duration_ms : 2000 会导致生成长的文本,可能不太适合做字幕,建议放入ini文件中供自由修改
还有一些参数 比如 -max_initial_timestamp : 60.0 我也做了修改,因为有些视频片头很长,默认设置下,容易导致第一句字幕对不准,视频一开始就立即出现第一句,可以偏离长达15秒以上
-word_timestamps : True 对每个单词做时间戳标记,但我未作测试,打开后有可能可以更精准的对齐,最终SRT可以丢弃掉单词时间戳
请增加一个选项,faster-whisper 转写质量控制 默认 和 高品质
加载模型的时候,高品质模式使用 float32模式,实测至少需要16G显存
以下是实测可用的设置 :
vad_filter : True -threshold : 0.5 -min_speech_duration_ms : 250 -max_speech_duration_s : 8.0 -min_silence_duration_ms : 600 -window_size_samples : 1536 *改了这里,加大了 1536是质量最高的值 -speech_pad_ms : 400
language:None Transcribes options: -audio : ['D:/视频/20220816 - EvQG3uLq8ys - Singgang Ikan Kembung-NoSub.wav'] -language : None -task : False -beam_size : 20 改了这里,加大了 - 增加波束搜索大小,提高识别准确性。 -best_of : 20 改了这里,加大了 - 增加候选解数量,提高识别准确性。 -patience : 1.2 改了这里,加大了 - 增加忍耐系数,以减少早停,提高准确性。 -length_penalty : 2.0 改了这里,加大了 - 适度增加长度惩罚系数,以控制生成文本的长度。 -temperature : [0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5] 改了这里,删除了一些较高的值,并且更精细化 - 使用较低的温度值生成较确定的输出。 -compression_ratio_threshold : 2.0 降低了这里 - 降低压缩比阈值,以保留更多细节。 原先 2.4
-log_prob_threshold : -1.0 -no_speech_threshold : 0.6 -condition_on_previous_text : True 设置为了True - 基于前文条件生成,提高连贯性。 -initial_prompt : None -prefix : None -suppress_blank : True -suppress_tokens : [-1] -without_timestamps : False -max_initial_timestamp : 60.0 -word_timestamps : True -prepend_punctuations : "'“¿([{- -append_punctuations : "'.。,,!!??::”)]}、 -repetition_penalty : 1.2 改了这里,1调成 1.2 - 增加重复惩罚系数,减少重复。 -no_repeat_ngram_size : 0 -prompt_reset_on_temperature : 0.5
GPT4o对参数的解释: 如果优先考虑语音识别的质量,可以设置如下参数:
VAD过滤器参数
vad_filter: True
-threshold: 0.3
-min_speech_duration_ms: 200
-max_speech_duration_s: 10.0
-min_silence_duration_ms: 800
-window_size_samples: 2048
-speech_pad_ms: 500
语音识别参数
-audio: ['D:/.../vocals.wav']
-language: None
-task: False
-beam_size: 20
-best_of: 20
-patience: 1.2
-length_penalty: 2.0
-temperature: [0.0, 0.1, 0.2]
-compression_ratio_threshold: 2.0
-log_prob_threshold: -1.0
-no_speech_threshold: 0.5
-condition_on_previous_text: True
-initial_prompt: None
-prefix: None
-suppress_blank: True
-suppress_tokens: [-1]
-without_timestamps: False
-max_initial_timestamp: 60.0
-word_timestamps: True
-prepend_punctuations: "'“¿([{-"
-append_punctuations: "'.。,,!!??::”)]}、"
-repetition_penalty: 1.2
-no_repeat_ngram_size: 3
-prompt_reset_on_temperature: 0.5
通过以上设置,可以显著提高语音识别的准确性和质量,但需要较高的计算资源和处理时间。如果在实际应用中需要进一步调整参数,可以根据实际效果进行微调。