プログラム技術、VB.NET TIPSの一覧に戻る

faster whisper にてコマンドラインからの指示でテキストファイルを生成する

faster whisper にてコマンドラインからの指示でテキストファイルを生成する



faster_whisper にてコマンドラインからテキストファイルを出力するようにします。
サンプルコードを元に、以下のように変更します。 ファイル名は conv.py と命名しました。

import sys

from faster_whisper import WhisperModel

model_size = "large-v3"

# Run on GPU with FP16
model = WhisperModel(model_size, device="cuda", compute_type="float16")

# or run on GPU with INT8
# model = WhisperModel(model_size, device="cuda", compute_type="int8_float16")
# or run on CPU with INT8
# model = WhisperModel(model_size, device="cpu", compute_type="int8")

segments, info = model.transcribe(sys.argv[1], beam_size=5, language="ja")

print("set language '%s' with probability %f" % (info.language, info.language_probability))

with open(sys.argv[1] + ".txt", 'w', encoding='utf-8') as f:
  for segment in segments:
    f.write("[%.2fs -> %.2fs] %s\n" % (segment.start, segment.end, segment.text))
    print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

コマンドラインは以下のようにします。

(venv) PS C:\faster-whisper> python conv.py "c:\\wavesources\\sound1.wav"

すると、同じフォルダに txt ファイルが作成されます。

追加しているのは、with open の行と、f.write の行です。そのために必要な import sys も追加しています。
また、このスクリプトは、言語の誤認を防ぐために、認識ターゲット言語を日本語に固定しています。
固定したくない場合は、

segments, info = model.transcribe(sys.argv[1], beam_size=5, language="ja")

ではなく、

segments, info = model.transcribe(sys.argv[1], beam_size=5)

とします。





プログラム技術、VB.NET TIPSの一覧に戻る

Information of This Page
faster whisper にてコマンドラインからの指示でテキストファイルを生成する pubdate:


© 2024
Author : FloatGarden