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)
とします。
|