LoginSignup
16
12

More than 1 year has passed since last update.

[文字起こし]faster-whisperのパラメータを調べてみました

Last updated at Posted at 2023-06-13

はじめに

精度の高い文字起こしを行うためにfaster-whisperのパラメータについて調べました。

関連
[ローカル環境] faster-whisper を利用してリアルタイム文字起こしに挑戦
[ローカル環境] faster-whisper を利用してリアルタイム文字起こしに挑戦2

2023 年 06 月 14 日

WhisperModelクラス

引数名 説明 データ型 デフォルト値 選択肢 必須
model_size_or_path モデルのサイズまたは変換済みモデルのディレクトリパスを指定します。この値はモデルがHugging Faceモデルハブからダウンロードされる場合にモデルの名前としても使用されます。 str - - Yes
device モデルが実行されるデバイスを指定します。'auto'を選択した場合、利用可能なデバイス(CPUまたはCUDA対応GPU)が自動的に選択されます。 str auto auto
cpu
cuda
No
device_index 使用するデバイスID。複数のGPUにモデルをロードする場合はIDのリストを渡す。(例:[0, 1, 2, 3]) Union[int, List[int]] 0 - No
compute_type 計算に使用するタイプを指定します。refs:https://opennmt.net/CTranslate2/quantization.html str default default
auto
int8
int8_float16
int16
float16
float32
No
cpu_threads CPU上で実行する際に使用するスレッドの数を指定します。0以外の値を指定すると、OMP_NUM_THREADS環境変数がオーバーライドされます。 int 0 - No
num_workers transcribe()が複数のPythonスレッドから呼び出される場合、複数のワーカーを利用することで並列処理が可能となる int 1 - No
download_root モデルを保存するディレクトリ。設定されていない場合、モデルは標準のHugging Faceキャッシュディレクトリに保存される。 Optional[str] None - No
local_files_only Trueの場合、ファイルのダウンロードを回避し、存在するローカルキャッシュファイルへのパスを返す bool False - No

transcribeメソッド

引数名 説明 データ型 デフォルト値 選択肢 必須
audio 入力ファイルへのパス、またはファイルライクオブジェクト、あるいはオーディオ波形 Union[str, BinaryIO, np.ndarray] なし - Yes
language オーディオで話されている言語。言語コード("en"や"fr"など)を指定する。指定しない場合、最初の30秒のオーディオから言語を検出する。refs:https://github.com/openai/whisper/blob/main/whisper/tokenizer.pyquantization.html Optional[str] None - No
task 実行するタスク translateを選ぶと英訳 str transcribe transcribe, translate No
beam_size ビームサーチのパラメータ。一度にbeam_sizeの探索を行い一番良い単語の繋ぎを選択する。 int 5 - No
best_of temperatureが0でないときにサンプリングする候補の数。 int 5 - No
patience ビームサーチのパラメータ。忍耐度係数 1.0の場合最良の結果が見つかると探索を打ち切る。0.5の場合は50%で探索を打ち切る。 float 1 - No
length_penalty ビームサーチのパラメータ。生成される系列の長さに罰則を設ける。1より小さいと長い系列が選好されやすくなる。 float 1 - No
temperature 信頼度。0に近いほど確実な選択を行い、0から離れると多様な選択肢を行う。compression_ratio_thresholdまたはlog_prob_thresholdによって失敗したときに順次使用します。 Union[float, List[float], Tuple[float, ...]] [0.0, 0.2, 0.4, 0.6, 0.8, 1.0] - No
compression_ratio_threshold gzip 圧縮率がこの値より高い場合は、デコードした文字列が冗長であるため失敗として扱います。 Optional[float] 2.4 - No
log_prob_threshold 平均ログ確率がこの値より低い場合は、デコードを失敗として扱います。 Optional[float] -1.0 - No
no_speech_threshold トークンの確率がこの値よりも高く、'logprob_threshold' が原因でデコードが失敗した場合は、セグメントを無音と見なします。 Optional[float] 0.6 - No
condition_on_previous_text Trueの場合、モデルの前の出力を次のウィンドウのプロンプトとして指定し一貫した出力が可能となる。Falseにするとテキストに一貫性がなくなる可能性がありますが、モデルが障害ループに陥りにくくなります bool True - No
initial_prompt モデルの初期のウィンドウのプロンプトとして提供するオプションのテキスト 例:医学 Optional[str] None - No
prefix 音声の初期のウィンドウのプレフィックスとして提供するオプションのテキスト Optional[str] None - No
suppress_blank サンプリングの始まりの空白出力を抑制する bool True - No
suppress_tokens 抑制するトークンIDのリスト。-1はモデルconfig.jsonファイルで定義されたデフォルトのセットのシンボルを抑制する。 Optional[List[int]] [-1] - No
without_timestamps True:テキストのみを出力。False:タイムスタンプを含むテキストを出力。 bool False - No
max_initial_timestamp 音声の初期タイムスタンプがこの値よりも遅くならないことを指定します。音声の最初の部分が無音または不要な音の場合にタイムスタンプをつけることを制限できます。 float 1.0 - No
word_timestamps TRUE:各単語に対応するタイムスタンプを生成する。 bool False - No
prepend_punctuations word_timestampsがTrueの場合、これらの句読点記号を次の単語とマージする str ""'“¿([{-" - No
append_punctuations word_timestampsがTrueの場合、これらの句読点記号を前の単語とマージする str ""'.。,,!!??::”)]}、" - No
vad_filter 音声活動検出(VAD)を有効にして、音声のないオーディオの部分をフィルタリングする。このステップはSilero VADモデルを使用しています bool False - No
vad_parameters Silero VADのパラメータ VadOptions クラスインスタンスを使用するか、または同等の辞書型で指定します。 Optional[Union[dict, VadOptions]] None - No
16
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
12