🎶
音声認識とシェーダーで作る自動歌詞同期ミュージックビデオメーカー
概要
MP3ファイルから自動で歌詞を同期させたミュージックビデオを生成するPythonベースのツールです。OpenAI Whisperによる高精度な音声認識とGLSLシェーダーによるリアルタイム背景生成を組み合わせることで、歌詞付き動画を簡単に作成できます。
🎤 Tuidraについて
このツールは、AI主導のバーチャルシンガーソングライター Tuidra によって生み出されました。Tuidraは、人とAIの創造的融合を象徴する存在として、音楽・映像・技術の統合を推進しています。
- X(旧Twitter): @Tuidra_AI
- YouTube: Tuidra Official Channel
AIと人の新たな創作のかたちを、ぜひ体験してください。
主な特徴
🎵 音声認識による自動歌詞同期
- OpenAI Whisperを使用した高精度な日本語音声認識
- 認識結果とユーザー提供の歌詞を自動マッチング
- ローマ字変換による音韻的マッチング精度の向上
🎨 リアルタイムシェーダー背景
- GLSL シェーダーによる動的な背景生成
- wgpu-shadertoyによるGPUアクセラレーション
🎬 柔軟な動画合成
- 既存動画への歌詞オーバーレイ (Bモード)
- シェーダー背景での新規動画作成 (Aモード)
- ウォーターマーク、タイトル表示対応
技術的な実装詳細
1. 音声認識パイプライン
最高精度を求める場合は large
モデルを使用します。快速にテストするなら small
が実用的です。
2. 歌詞マッチング
完全一致のほか、ローマ字変換による音韻符号の一致、順序制約付きの部分一致など、自然なマッチングのための工夫があります。
3. GLSLシェーダー統合
GPU効率の高い背景生成により、動画を高解像度で生成することが可能です。
4. 動画合成
MoviePyを使用してビデオを合成。歌詞クリップの作成、シーンの合成、オーディオの合成までを一括して実行できます。
使用方法
基本的な使い方
./make-mv-simple.sh audio.mp3 lyrics.txt watermark.png
詳細オプション
python video_generator.py input.mp3 \
--mode A \
--shader shader/animated_galaxy.glsl \
--width 1920 \
--height 1080 \
--lyric-lines 3 \
--lyric-position center \
--watermark logo.png \
--watermark-opacity 0.8
依存関係
- Python 3.8+
- OpenAI Whisper
- MoviePy
- wgpu-shadertoy
- pykakasi
- pandas / numpy / Pillow
実装ノート
- 日本語フォントを自動検出して表示に使用
- 歌詞の表示サイズは文字数に応じて自動調整
- Whisperの失敗時のフォールバックやエラー処理も実装
まとめ
音声認識と動的背景生成を組み合わせることで、YouTubeやSNS向けの歌詞付きMVを自動生成できるシステムです。Tuidraの名で開発しており、シンガーソングライターの新しい用例として描くことを目指しています。
ライセンス
MIT License
贈献
Pull Request 歓迎です。大きな変更の前には issue を開いて話し合いましょう。
Discussion