whisper – 音声/動画から文字起こし・英訳を行うCLI(OpenAI Whisper)

音声認識・書き起こし

whisper は OpenAI が公開している音声認識モデル Whisper をローカルで実行する コマンドライン です。音声/動画ファイルを読み込み、日本語など多言語の**文字起こし(transcribe)英語への翻訳(translate)**を行い、txt/srt/vtt/tsv/json などで書き出します。(GitHub)
実務では会議録の作成、動画字幕の自動生成、ポッドキャストやインタビューの書き起こしに使います。Whisper の CLI は Python 製で、実行には PyTorchffmpeg のインストールが必要です。(AssemblyAI)

構文(Syntax)

# 基本
whisper INPUT... [OPTIONS]

# 代表例
# 1) 文字起こし(日本語を日本語のまま)
whisper in.wav --model small --language ja --output_format srt

# 2) 英訳(多言語→英語)
whisper in.mp4 --task translate --model medium

# 3) 出力先や形式を指定
whisper in.m4a --output_dir out --output_format txt

# 4) GPU を明示、CPU では fp16 を無効化
whisper in.wav --device cuda
whisper in.wav --device cpu --fp16 False
  • INPUT は1つ以上の音声/動画ファイル。複数指定で一括処理できます。(GitHub)

主なオプション一覧

オプション説明使用例
--model {tiny,base,small,medium,large...}使用モデルを指定(.en は英語特化、large-v2/v3 などもあり)--model small (GitHub, Hugging Face)
--language LANG音声の言語を指定(未指定なら自動判定)--language ja (GitHub)
--task {transcribe,translate}文字起こし / 英訳(英語への翻訳)を選択--task translate (GitHub)
--output_dir DIR出力先ディレクトリ--output_dir ./out (GitHub)
--output_format {txt,vtt,srt,tsv,json,all}出力形式(未指定で すべて生成)--output_format srt (GitHub)
--device {cpu,cuda}実行デバイスを指定(GPU 利用には CUDA 対応 PyTorch が必要)--device cuda (Stack Overflow, Vegas Creative Software)
--fp16 {True,False}半精度 FP16 を使用(CPU の場合は False 推奨)--fp16 False (GitHub)
--verbose {True,False}進捗や候補の表示--verbose True (GitHub)
--initial_prompt TEXT文脈となるプロンプト(句読点や用語の誘導)--initial_prompt "会議: " (GitHub)
--temperature, --beam_size, --best_ofデコード周りの探索設定--beam_size 5 (GitHub)

出力フォーマットは txt(素のテキスト)、srt/vtt(字幕)、tsvjson をサポートします。(GitHub, Emory Libraries Guides)

実行例

1) 日本語の会議録を字幕ファイル(SRT)にする

説明: 日本語をそのまま文字起こしし、SRT を出力します。
コマンド:

whisper meeting.wav --model small --language ja --output_format srt --output_dir captions

2) 動画を英語字幕付きで出したい(翻訳)

説明: 日本語など多言語の音声を 英語に翻訳して出力。
コマンド:

whisper lecture.mp4 --task translate --model medium --output_format srt

--task translate英語への翻訳専用です。(GitHub)

3) 複数ファイルをまとめて処理(カレントディレクトリ)

説明: 主要な音声拡張子を一括で処理します。
コマンド:

for f in *.{wav,mp3,m4a}; do whisper "$f" --model base --output_format txt; done

(シェルの展開は環境に合わせて調整) (Stack Overflow)

4) GPU で高速化 / CPU での実行

説明: CUDA 対応の PyTorch が入っていれば GPU を使えます。CPU の場合は --fp16 False 推奨。
コマンド:

# GPU
whisper in.wav --model small --device cuda
# CPU
whisper in.wav --model small --device cpu --fp16 False

GPU 利用には CUDA 対応の PyTorch をインストールしておく必要があります。(Stack Overflow)

5) エラー例:ffmpeg が見つからない

説明: ffmpeg が PATH にないとデコードできず失敗します。
コマンド:

whisper in.mp3 --model base

出力例(代表例):

FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

対処: OS のパッケージマネージャ等で ffmpeg をインストールし、PATH を通してください(Linux: sudo apt install ffmpeg / macOS: brew install ffmpeg など)。(AssemblyAI)

関連コマンド

  • ffmpeg : 音声/動画の入出力・変換。Whisper の CLI は内部で ffmpeg を利用します。(AssemblyAI)
  • faster-whisper : 低メモリ・高速な実装(別 CLI)。
  • whisper-ctranslate2 : CTranslate2 ベースの高速実装。CLI はほぼ同等の使い方。(GitHub)
  • whisper.cpp : CPU 向け C/C++ 実装。
  • yt-dlp : 動画取得→whisper で字幕化するワークフローに便利。

備考

  • モデル選択: tiny/base/small/medium/large 系と、英語専用の .en 版があります。英語専用モデルは一部サイズで精度が良い傾向。large 系は多言語対応です。(Hugging Face, GitHub)
  • 出力形式: 何も指定しないと複数形式を同時に書き出す挙動(--output_format all 相当)です。字幕用途なら srt/vtt、解析用途なら json/tsv が便利。(GitHub)
  • パフォーマンス: 大きいモデルほど精度は上がりますが重くなります。GPU が使えない場合は小さめのモデル+--fp16 False を検討。(AssemblyAI)
  • インストールの要点: pip install openai-whisper(または GitHub 版)と、CUDA 対応の PyTorch(GPU 利用時)、そして ffmpeg の導入がポイントです。(AssemblyAI)
  • ライセンス/利用上の注意: モデル・コードは MIT ライセンス。扱う音声の権利・機密性に配慮してください。(GitHub)

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント