跳转到主内容
思享编程网:思考分享,玩转编程世界!

Whisper命令行调用参数简析(20240930版本)

众所周知,Whisper也已经算一个老牌的语音识别,转录字幕的功臣了。

以下是最近版本(v20240930)的参数简析: 参数列举如下:

-h, --help 显示这则帮助信息并退出whisper --model MODEL 需要使用的whisper模型名称(默认turbo)

目前模型有如下几个: tiny、small、base、medium、large-v1、large-v2、large-v3、large-v3-turbo(也即turbo)

--model_dir MODEL_DIR 保存模型文件的路径,默认为~/.cache/whisper

这个路径最好自行选取,然后将此路径加入系统变量,变量名为"WHISPER_MODEL_DIR"

--device DEVICE 指定要使用PyTorch推理的设备(默认Cuda) --output_dir OUTPUT_DIR, -o OUTPUT_DIR

指定输出文件的文件夹

--output_format {txt,vtt,srt,tsv,json,all}, -f {txt,vtt,srt,tsv,json,all}

输出文件的格式,如果没有特别指定,所有可以生成的格式均会输出一个文件(默认为所有文件格式)

--verbose VERBOSE 是否在命令行打印出进度和调试信息(默认为True) --task {transcribe,translate}

是否执行X->X语音识别(转录),或者X->英语翻译(转译)(默认为转录)

--language 音频中的语音语种,若无指定则自动检测

支持的语言有:

af,am,ar,as,az,

ba,be,bg,bn,bo,br,bs, ca,cs,cy, da,de, el,en,es,et,eu, fa,fi,fo,fr, gl,gu, ha,haw,he,hi,hr,ht,hu,hy, id,is,it, ja,jw, ka,kk,km,kn,ko, la,lb,ln,lo,lt,lv, mg,mi,mk,ml,mn,mr,ms,mt,my, ne,nl,nn,no, oc, pa,pl,ps,pt, ro,ru, sa,sd,si,sk,sl,sn,so,sq,sr,su,sv,sw, ta,te,tg,th,tk,tl,tr,tt, uk,ur,uz, vi, yi,yo,yue, zh,

以下为语种全称:(部分与有缩写的重合) Afrikaans,Albanian,Amharic,Arabic,Armenian,Assamese,Azerbaijani, Bashkir,Basque,Belarusian,Bengali,Bosnian,Breton,Bulgarian,Burmese, Cantonese,Castilian,Catalan,Chinese,Croatian,Czech,Danish,Dutch, English,Estonian,Faroese,Finnish,Flemish,French,Galician,Georgian, German,Greek,Gujarati,Haitian,Haitian Creole,Hausa,Hawaiian,Hebrew,Hindi,Hungarian,Icelandic,Indonesian, Italian,Japanese,Javanese,Kannada,Kazakh,Khmer,Korean,Lao,Latin, Latvian,Letzeburgesch,Lingala,Lithuanian,Luxembourgish, Macedonian,Malagasy,Malay,Malayalam,Maltese,Mandarin,Maori,Marathi, Moldavian,Moldovan,Mongolian,Myanmar,Nepali,Norwegian,Nynorsk, Occitan,Panjabi,Pashto,Persian,Polish,Portuguese,Punjabi,Pushto, Romanian,Russian,Sanskrit,Serbian,Shona,Sindhi,Sinhala,Sinhalese, Slovak,Slovenian,Somali,Spanish,Sundanese,Swahili,Swedish, Tagalog,Tajik,Tamil,Tatar,Telugu,Thai,Tibetan,Turkish,Turkmen, Ukrainian,Urdu,Uzbek,Valencian,Vietnamese,Welsh,Yiddish,Yoruba

南非荷兰语,阿尔巴尼亚语,阿姆哈拉语,阿拉伯语,亚美尼亚语,阿萨姆语,阿塞拜疆语, 巴什基尔语,巴斯克语,白俄罗斯语,孟加拉语,波斯尼亚语,布列塔尼语,保加利亚语,缅甸语, 粤语,卡斯蒂利亚语,加泰罗尼亚语,中文,克罗地亚语,捷克语,丹麦语,荷兰语, 英语,爱沙尼亚语,法罗语,芬兰语,弗拉芒语,法语,加利西亚语,格鲁吉亚语, 德语、希腊语、古吉拉特语、海地克里奥尔语 豪萨语、夏威夷语、希伯来语、印地语、匈牙利语、冰岛语、印度尼西亚语、 意大利语、日语、爪哇语、卡纳达语、哈萨克语、高棉语、朝鲜语、老挝语、拉丁语、 拉脱维亚语、Letzeburgesch语、林加拉语、立陶宛语、卢森堡语、 马其顿语、马达加斯加语、马来语、马拉雅拉姆语、马耳他语、普通话、毛利语、马拉地语、 摩尔多瓦语、摩尔多瓦人、蒙古语、缅甸语、尼泊尔语、挪威语、尼诺斯克语、 奥克西坦语、潘贾比语、普什图语、波斯语、波兰语、葡萄牙语、旁遮普语、普什托语、 罗马尼亚语、俄语、梵语、塞尔维亚语、绍纳语、信德语、僧伽罗语、僧伽罗语、 斯洛伐克语、斯洛文尼亚语、索马里语、西班牙语、巽他语、斯瓦希里语、瑞典语、 他加禄语、塔吉克语、泰米尔语、鞑靼语、泰卢固语、泰语、藏语、土耳其语、土库曼语、 乌克兰语、乌尔都语、乌兹别克语、巴伦西亚语、越南语、威尔士语、意第绪语、约鲁巴语

--temperature TEMPERATURE 控制生成文本采样的随机性(默认值为0) --best_of BEST_OF 当temperature>0时,生成多个候选并选择最优(默认为5) --beam_size BEAM_SIZE 束搜索(beam search)的宽度,仅当temperature=0 时生效。(默认为5)——提升准确性,但会降低转录速度 --patience PATIENCE 在束解析中可选的耐心值,如https://arxiv.org/abs/2204.05424,默认(1.0)版等同于常规的束搜索(默认为None) --length_penalty LENGTH_PENALTY

可选的token长度的惩罚系数(alpha),如https://arxiv.org/abs/1609.08144,使用简单的默认长度正态化(默认为None)

--suppress_tokens SUPPRESS_TOKENS

逗号分隔的 token ID 列表,用于在采样过程中屏蔽指定内容;'-1' 将屏蔽大多数特殊字符(常见标点符号除外)(默认值为-1)

--initial_prompt INITIAL_PROMPT

可选文本,作为初始窗口的提示信息。

(默认值为None

--condition_on_previous_text CONDITION_ON_PREVIOUS_TEXT

若为 True,则将模型的上一段输出作为下一窗口的提示信息;禁用此选项可能导致不同窗口间的文本不一致,但能减少模型陷入错误循环的风险。

(默认值为True)

--fp16 FP16 是否使用 fp16(半精度浮点数)进行推理;默认启用(默认值为True) --temperature_increment_on_fallback TEMPERATURE_INCREMENT_ON_FALLBACK

当解析结果未达到以下任一阈值时,回退(fallback)过程中提高的 temperature 值(默认值为0.2)

--compression_ratio_threshold COMPRESSION_RATIO_THRESHOLD

若 gzip 压缩比高于此值,则判定解析失败(默认值为2.4)

--logprob_threshold LOGPROB_THRESHOLD

如果平均对数概率低于此值,则判定解析失败(默认值为-1.0)

--no_speech_threshold NO_SPEECH_THRESHOLD

若 <|nospeech|> token 的概率高于此值,且解析因 logprob_threshold 而失败,则将该片段判定为静音(默认值为0.6)。

--word_timestamps WORD_TIMESTAMPS

(实验性功能)提取单词级时间戳并基于此优化结果(默认值为False)

--prepend_punctuations PREPEND_PUNCTUATIONS

若 word_timestamps为True,则将这些标点符号与后一个单词合并(默认的标点有:"'“¿([{-))

--append_punctuations APPEND_PUNCTUATIONS

若word_timestamps为True ,则将这些标点符号与前一个单词合并(默认的标点有:"'.。

,,!!

??

::”)]}、)

--highlight_words HIGHLIGHT_WORDS

(需配置 --word_timestamps 参数为 True )在 SRT 和 VTT 字幕中为每个单词添加下划线标记(默认值为False)

--max_line_width MAX_LINE_WIDTH

(需配置 --word_timestamps 参数为 True )单行最大字符数限制,超出时自动换行(默认值为None,即不限制)

--max_line_count MAX_LINE_COUNT

(需配置 --word_timestamps 参数为 True )一段文字的最大行数限制,超出自动跳到下一段时间戳(默认值为None)

--max_words_per_line MAX_WORDS_PER_LINE

(需配置 --word_timestamps 参数为 True,与 --max_line_width 不能共用,只能同时使用者两者中的一个)每个分段的最大单词数限制(默认值None,即不限制)

--threads THREADS Torch在CPU推理时使用的线程数(该参数会覆盖其他相关设置MKL_NUM_THREADS/OMP_NUM_THREADS) --clip_timestamps CLIP_TIMESTAMPS

逗号分隔的片段时间戳列表(格式:start,end,start,end,...,单位为秒),未指定结束时间时默认处理至文件末尾(默认值为0)

--hallucination_silence_threshold HALLUCINATION_SILENCE_THRESHOLD

(需配置 --word_timestamps 参数为 True )当检测到可能存在幻觉(hallucination)现象时(也即重复出现相同转录结果),跳过超过此阈值时长的静音段(单位:秒)(默认值为None,也即不跳过)

相关文章