この記事で分かること
- MP4 → Whisper → LLM で議事録自動生成
- Apple Silicon (M4 Pro) で 90分動画が約10〜30分で処理可能
- ローカル完結で機密対応可能
🔗 GitHub
背景
Google Meetでオンラインミーティングを実施しました。
会議終了後、録画ファイルから議事録を生成しようとしたところ、
議事録生成には事前設定が必要だったことを知りました。
録画は残っている。
しかし、Meet側で自動議事録は作れない。
そこで、
「MP4さえあれば、ローカルで議事録を自動生成できる仕組みを作れないか?」
と考え、以下のパイプラインを構築しました。
処理フロー
MP4
↓
ffmpeg(音声抽出 16kHz / mono / pcm_s16le)
↓
Whisper(文字起こし)
↓
LLM(要約)
↓
議事録ファイル生成
実行環境
- MacBook Pro M4 Pro
- メモリ 48GB
- Python 3.x
- PyTorch (MPS対応)
- openai-whisper
セットアップ
brew install ffmpeg
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
.env に OpenAI API Key を設定します。
実行方法
source venv/bin/activate
python transcribe.py meeting.mp4
高精度モデルを使う場合:
python transcribe.py meeting.mp4 --model large
文字起こしのみ:
python transcribe.py meeting.mp4 --no-summary
出力は output/ ディレクトリに保存されます。
Apple Silicon 最適化ポイント
device = "mps" if torch.backends.mps.is_available() else "cpu"
PyTorchのMPSバックエンドを利用することで、MacのGPU(Metal)で推論可能です。
Apple Siliconでは fp16=False が安定します。
実測結果(90分動画)
モデル 処理時間
medium 約10〜14分
large 約30分弱
mediumでも実用レベル、largeはより高精度です。
注意点
Whisperは稀に音声に存在しない文言を生成することがあります。
議事録用途では必ず人間による最終確認を推奨します。
まとめ
- ローカルAIで議事録自動生成は十分実用的
- Apple Silicon環境は非常に強力
- 90分動画でも30分以内に処理可能
設計思想・実測ログ・発展構想
本記事の完全版(設計思想、最適化、今後の発展)は Miyakawa Codes
にまとめています。
👉 https://miyakawa.codes/blog/local-ai-meeting-minutes-10-minutes