youtube-guitar-tab-parser: YouTubeのギターレッスンをPDFタブ譜に変換する

youtube-guitar-tab-parser: YouTubeのギターレッスンをPDFタブ譜に変換する

概要

youtube-guitar-tab-parserは、YouTubeの解説動画からギタータブ譜を自動的に抽出するために設計されたコマンドラインインターフェース(CLI)ツールです。ビデオ処理ツールとAIビジョン機能を組み合わせることで、このツールは楽譜が含まれる画面領域を特定し、冗長なフレームを削除し、残ったユニークな行をフォーマット済みのPDFドキュメントに結合します。

技術アーキテクチャとワークフロー

このツールは、ストリーミングビデオを静止ドキュメントに変換するために、マルチステージのパイプラインに従います。ビデオの取得にはyt-dlpを、フレームの抽出にはffmpegを、空間分析と内容の検証にはAnthropic Claude visionモデルを使用します。

1. ビデオの取得とフレームサンプリング

プロセスはyt-dlpを使用してビデオをダウンロードすることから始まります。処理時間とAPIコストを最適化するために、ツールはダウンロード解像度を制限します(--max-heightフラグによりデフォルトで720p)。その後、ffmpegが設定可能な間隔(デフォルトは2秒ごと)でフレームを抽出します。

2. タブ譜領域の検出

画面上のギタータブ譜の位置を特定するために、ツールはAIに生のピクセル座標を求めるのではなく、グリッドベースの検出方法を採用しています。これは、AIが不正確になることが多いためです。ツールは、少数のサンプルフレーム(デフォルトは6)に対してラベル付きの水平バンド・グリッドを描画します。Claude visionがどのバンドに楽譜が含まれているかを識別し、ツールは最初の楽譜バンドと最後の楽譜バンドの中央値を計算して、垂直方向のクロップ領域を決定します。フレームの全幅は維持されます。

3. 重複排除とフィルタリング

再生カーソルが移動するにつれて、単一の音楽行が多くのフレームにわたって表示される可能性があるため、ツールは2段階の重複排除プロセスを使用します。

  • 知覚ハッシュ(Perceptual Hashing): dHash(差分ハッシュ)を使用して、ほぼ同一の連続するクロップ画像を破棄します。これは、AIに送信する画像の数を最小限に抑えるためのコスト管理策として機能します。
  • 小節番号分析: Claude visionは、各行の冒頭に印字されている小節またはバー番号を読み取ります。ツールは、各固有の小節番号の最初の出現のみを保持し、タブ譜ではないフレーム(タイトルカードやイントロなど)を破棄します。

4. PDFの生成

pdf-libを使用して、ツールはビデオ内で出現した順序で、ユニークなタブ譜の行をA4ページの垂直方向に積み重ねます。最終的なドキュメントには、最初のページにビデオのタイトルがヘッダーとして含まれ、メタデータにも含まれます。

インストールと使用方法

必要条件

  • Node.js: バージョン20以上。
  • システム依存関係: yt-dlpffmpegがシステムPATHにインストールされ、利用可能である必要があります。
  • APIアクセス: 有効なAnthropic APIキー。

クイックスタート

npm install
npm run build
cp .env.example .env # Add ANTHROPIC_API_KEY here
node --env-file=.env dist/cli.js "https://www.youtube.com/watch?v=WgU5tDGC-Vc"

設定オプション

| オプション | 説明 | デフォルト | | :--- | :--- | | 720 | | -i, --interval | スクリーンショットの間隔(秒) | 2 | | --model | Claude visionモデルID | claude-sonnet-5 | | --sample | 領域検出のためにサンプリングされるフレーム数 | 6 | | --dedup-threshold | 重複排除前のHamming距離 | 12 | | --max-height | 最大ダウンロード解像度 | 720 | | --keep-temp | 中間フレームとクロップ画像を保持する | False |

コミュニティの洞察と制限事項

技術的制約

ユーザーや開発者は、特定のビデオ形式に関する潜在的な制限事項について指摘しています。例えば、現在の垂直領域をクロップするアプローチは、再生ヘッドが中央に留まりながら音楽が背後で動く「スクロール」式のタブ譜には適さない可能性があります。

コストと効率

一部のユーザーは、視覚タスクに大規模言語モデル(LLM)を使用することによるコストを懸念しています。あるユーザーは、タブ譜領域の手動動的なアノテーションや、従来のコンピュータビジョン技術を使用する方が、Claude visionを使用するよりも費用対効果が高い可能性があると提案しています。

倫理的および法的検討事項

このツールは、ビデオからタブ譜を抽出する際の倫理に関する議論を巻き起こしています。一部のクリエイターは、PDFを購入せずにタブ譜を入手するためにこれらのツールを使用しますが、一方でコンテンツクリエイターは、これが一種の窃盗にあたると主張しています。

"Almost all those people charge for the PDFs. They know the PDF is more useful, that's why the video is free... it's a form of theft, and incredibly unethical."

さらに、一部のミュージシャンは、YouTubeの編曲がしばしば独特であり、公式の印刷された楽譜とは異なる場合があるため、不正確なバージョンの楽曲を練習することにつながる可能性があると指摘しています。

Sources