無料で動画から文字起こしする方法(AIによるスクラップ)

🤖AIに全部書いてもらいました
あってるかどうかはわかりません😖💦💦
なのでスクラップとしての投稿です
それっぽい内容になってるけど
うーん、どうかな?🤔
[追記] windows環境でver2👇で実行出来ることを確認しました‼️
(なにがあっても自己責任でお願いします🙏)

Whisper で日本語音声動画から文字起こしをして .srt ファイルに出力する方法 [ver2]
Whisper は、OpenAI が開発した音声認識モデルで、高精度な文字起こしが可能です。この記事では、日本語音声動画から文字起こしを行い、.srt ファイルに出力する方法を紹介します。
必要環境・機材
- インターネット接続
- Python 3.x がインストールされたコンピュータ
- ffmpeg がインストールされた環境
- Whisper がインストールされた環境
- 音声を含む動画ファイル
- テキストエディタ(.srt ファイルの編集用)
必要なツール
- Python 3.x
- Whisper
- ffmpeg
手順
1-1. Chocolatey のインストール (Windows の場合)
まず、Chocolatey をインストールします。以下の手順に従ってください。
- 管理者権限で PowerShell を開きます。
- 以下のコマンドを実行して Chocolatey をインストールします。
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
1-2. Homebrew のインストール (Mac の場合)
次に、Homebrew をインストールします。以下の手順に従ってください。
- ターミナルを開きます。
- 以下のコマンドを実行して Homebrew をインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- インストールが完了したら、以下のコマンドを実行して Homebrew が正しくインストールされたことを確認します。
brew --version
2-1. Python のインストール (Windows の場合)
Chocolatey がインストールされたら、以下の手順で Python をインストールします。
- 管理者権限で PowerShell を開きます。
- 以下のコマンドを実行して Python をインストールします。
choco install python --version=3.12.0 -y
2-2. Python のインストール (Mac の場合)
Homebrew がインストールされている場合、以下の手順で Python をインストールします。
- ターミナルを開きます。
- 以下のコマンドを実行して Python をインストールします。
brew install python
2-3. Python のインストール (Ubuntu の場合)
以下の手順で Python をインストールします。
- ターミナルを開きます。
- 以下のコマンドを実行して Python をインストールします。
sudo apt-get update
sudo apt-get install python3
3-1. ffmpeg のインストール (Windows の場合)
次に、ffmpeg をインストールします。
- 管理者権限で PowerShell を開きます。
- 以下のコマンドを実行して ffmpeg をインストールします。
choco install ffmpeg -y
3-2. ffmpeg のインストール (Mac の場合)
次に、Homebrew を使用して ffmpeg をインストールします。
- ターミナルを開きます。
- 以下のコマンドを実行して ffmpeg をインストールします。
brew install ffmpeg
3-3. ffmpeg のインストール (Ubuntu の場合)
次に、apt パッケージマネージャを使用して ffmpeg をインストールします。
- ターミナルを開きます。
- 以下のコマンドを実行して ffmpeg をインストールします。
sudo apt-get update
sudo apt-get install ffmpeg
4. Whisper のインストール
まず、仮想環境を作成し、その中に Whisper をインストールします。以下の手順に従ってください。
- 作業用のディレクトリを作成し、移動します。
mkdir whisper_workspace
cd whisper_workspace
- 仮想環境を作成します。
- Windows の場合:
まず、ポリシーを変更してスクリプトを実行できるようにします。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
python -m venv whisper_env
- Mac または Ubuntu の場合:
python -m venv whisper_env
- 仮想環境を有効にします。
- Windows の場合:
whisper_env\Scripts\activate
- Mac または Ubuntu の場合:
source whisper_env/bin/activate
- 仮想環境が有効になった状態で、Whisper をインストールします。
pip install git+https://github.com/openai/whisper.git
3. 動画ファイルから音声を抽出
動画ファイルから音声を抽出するために、ffmpeg を使用します。以下のコマンドを実行して、音声ファイルを生成します。input_video.mp4
は対象の動画ファイル名に置き換えてください。
ffmpeg -i input_video.mp4 -q:a 0 -map a output_audio.wav
注意: input_video.mp4
のパスが正しいことを確認してください。パスが間違っていると、ffmpeg はファイルを見つけることができず、エラーが発生します。例えば、動画ファイルが videos
フォルダ内にある場合は、以下のようにパスを指定します。
ffmpeg -i videos/input_video.mp4 -q:a 0 -map a output_audio.wav
また、相対パスと絶対パスの違いにも注意してください。相対パスは現在の作業ディレクトリからのパスを指定し、絶対パスはファイルシステムのルートからのパスを指定します。例えば、絶対パスを使用する場合は以下のように指定します。
ffmpeg -i /home/user/videos/input_video.mp4 -q:a 0 -map a output_audio.wav
4. Whisper で文字起こし
抽出した音声ファイルを Whisper で文字起こしします。以下の Python スクリプトを使用してください。
import whisper
model = whisper.load_model("base")
result = model.transcribe("output_audio.wav", language="ja")
with open("transcription.srt", "w") as srt_file:
for i, segment in enumerate(result["segments"]):
start = segment["start"]
end = segment["end"]
text = segment["text"]
srt_file.write(f"{i+1}\n")
srt_file.write(f"{start:.3f} --> {end:.3f}\n")
srt_file.write(f"{text}\n\n")
スクリプトの実行方法
- 上記のスクリプトを
transcribe.py
という名前で保存します。 -
output_audio.wav
と同じフォルダにスクリプトを置きます。 - コマンドラインでスクリプトを保存したディレクトリに移動します。
- 以下のコマンドを実行してスクリプトを実行します。
python transcribe.py
Windows の場合
- 上記のスクリプトを
transcribe.py
という名前で保存します。 - コマンドプロンプトを開き、スクリプトを保存したディレクトリに移動します。
- 以下のコマンドを実行してスクリプトを実行します。
python transcribe.py
スクリプトが正常に実行されると、transcription.srt
ファイルが生成されます。
4.1 変換品質と変換速度の調整
Whisper では、変換品質と変換速度を調整することができます。以下のオプションを使用して、モデルのサイズを変更することで調整が可能です。
-
tiny
: 高速だが精度は低い -
base
: バランスの取れたモデル -
small
: 精度が高いが速度は遅い -
medium
: さらに精度が高いが速度はさらに遅い -
large
: 最高の精度だが最も遅い
例えば、small
モデルを使用する場合は、以下のように変更します。
model = whisper.load_model("small")
また、transcribe
メソッドの temperature
パラメータを調整することで、変換の多様性を制御することもできます。デフォルトは 0
ですが、値を上げるとより多様な結果が得られます。
result = model.transcribe("output_audio.wav", language="ja", temperature=0.5)
4.2 GPU の使用
Whisper は GPU を使用することで、変換速度を大幅に向上させることができます。GPU を使用するには、PyTorch が GPU をサポートするバージョンでインストールされている必要があります。以下のコマンドで PyTorch をインストールします。
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 # PyTorch installation command
Nvidia GPU の場合
Nvidia GPU を使用する場合、CUDA (Compute Unified Device Architecture) がインストールされている必要があります。CUDA のインストール方法は Nvidia の公式サイト を参照してください。CUDA が正しくインストールされていれば、PyTorch は自動的に GPU を検出して使用します。
AMD GPU の場合
AMD GPU を使用する場合、ROCm (Radeon Open Compute) をインストールする必要があります。ROCm のインストール方法は AMD の公式サイト を参照してください。ROCm が正しくインストールされていれば、PyTorch は自動的に GPU を検出して使用します。
Intel GPU の場合
Intel GPU を使用する場合、oneAPI と Intel Extension for PyTorch をインストールする必要があります。oneAPI のインストール方法は Intel の公式サイト を参照してください。Intel Extension for PyTorch のインストール方法は こちら を参照してください。これらが正しくインストールされていれば、PyTorch は自動的に GPU を検出して使用します。
GPU を使用する場合、Whisper は自動的に GPU を検出して使用します。特に大きなモデル(medium
や large
)を使用する場合、GPU の有無で変換速度に大きな違いが出ます。
5. 出力された .srt ファイルの確認
生成された transcription.srt
ファイルを確認し、必要に応じて編集します。
まとめ
以上の手順で、Whisper を使用して日本語音声動画から文字起こしを行い、.srt ファイルに出力することができます。高精度な文字起こしを実現するために、音声ファイルの品質を高めることも重要です。また、GPU を使用することで変換速度を大幅に向上させることができます。

🤖「👆のとおりです、しらんけど」