svsdval/video2midi

youtube synthesia video to midi

解決する課題

Synthesiaのピアノチュートリアル動画は仮想キーボード上に落ちてくる音符を表示しますが、それらは編集や音楽としての共有が可能な形式ではありません。このツールは、そのような動画からキーボードの動きを自動的に抽出し、MIDIファイルを作成します。これにより、演奏の再生、再編曲、学習や共有のための音楽活用が可能になります。

仕組み

プログラムは動画をフレームごとにスキャンします。ダウンロードしたSynthesia動画(720p推奨)を読み込み、グラフィカルインターフェース上で画面上のキーボード位置とキーの色を動画に合わせて調整します。Qキーを押すと自動認識が開始され、どの瞬間にどのキーが押されたかを追跡し、ノートオン/オフイベントを記録してMIDIファイルに書き出します。また、開始フレームと終了フレームの設定、キー位置に基づいた2チャンネルへの強制分割、重なり合う音符の処理も可能です。処理後、内蔵のノートエディタを使用して、保存前に個々の音符を微調整(移動、サイズ変更、削除、分割)できます。

対象ユーザー

ミュージシャン、ピアノ学習者、またはSynthesiaスタイルの動画を実用的なMIDIファイルに変換したい人を対象としています。Pythonスクリプトを実行し、依存関係(OpenCV, Pygame, MIDIUtil)をインストールする必要があるため、ある程度の技術的な知識が必要です。趣味のプロジェクトですが、基本的な使用方法については十分にドキュメント化されています。

ハイライト

  • 仮想キーボードのフレーム単位のスキャンによるキー押下の検出
  • キー位置、色、認識オプションを調整するためのグラフィカルインターフェース
  • キーの色に基づいたマルチチャンネルMIDI出力(例:左右の手や楽器ごとに別々のチャンネルを設定可能)
  • 内蔵ノートエディタ:音符の移動、サイズ変更、削除、分割、手動追加が可能
  • すべての設定はINIファイルに保存され、繰り返し利用が容易
  • Linux、Windows(Anaconda使用)、Web版、Androidアプリで利用可能
  • GitHub discussionsおよびリンクされたビデオチュートリアルによるコミュニティサポート

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト