メインコンテンツへ移動
AIチュートリアル

楽曲録音から演奏可能な5パートのバンドスコアを作成する

Audio to Band Scoreの設定方法、Demucsでミックス録音を解析する方法、実用的な5人編成のアレンジをエージェントに作成させる方法、MuseScoreファイルの検証方法、リハーサル用のMIDI、PDF、MSCZを書き出す方法を学びます。

楽曲録音から演奏可能な5パートのバンドスコアを作成する

Audio to Band Scoreとは?

Audio to Band Scoreは、完成した楽曲の録音を、5人編成のスクールバンド向けの実用的なアレンジに変換するエージェントスキルです。生のステムをそのまま提示したり、自動MIDI認識を完成した採譜として扱ったりするのではなく、ソース分離、音楽分析、楽器への割り当て、記譜、品質確認、MuseScoreへのエクスポートをエージェントが順に進められるようにします。

標準ワークフローでは、リハーサルですぐ使える3つのファイルを生成します。再生またはDAWでの確認用MIDIファイル、印刷可能なPDFスコア、編集可能なネイティブMuseScore MSCZファイルです。

重要:このプロジェクトはスタンドアロンのデスクトップアプリケーションではなく、エージェントスキルです。互換性のあるエージェントランタイムからリポジトリを利用できるようにし、必要なローカルの音声ツールと記譜ツールを用意する必要があります。

アレンジワークフローの仕組み

このスキルは、段階的なプロセスに従います。

ミックス済み録音
    → 時間同期されたソース分離
    → ビート、セクション、ハーモニー、音符候補の分析
    → 楽器への割り当てと演奏可能性の調整
    → MuseScoreでの記譜
    → 構成監査と視覚・ファイルチェック
    → MIDI + PDF + 編集可能なMSCZ

指針となる原則は演奏可能な忠実度です。録音の構成、和声の動き、グルーヴ、識別しやすいリフ、重要な展開を保ちながら、指定された演奏者にとって非現実的な細部は簡略化または再配分することを目指します。

『海阔天空』のBeyondアレンジのスコア抜粋

主な機能

  • Demucsを使って、時間同期された分析用ステムにミックス済み録音を分離します。
  • 4ソース分離と6ソース分離の結果を比較できます。
  • セクション、テンポ候補、拍子、ハーモニー、ベースの動き、リフ、フィル、各楽器の入りを分析します。
  • リードギター、リズムギター、ベース、キーボード、ドラムに素材を割り当てます。
  • 初級、スクールバンド向けアマチュア中級、上級の難易度目標に対応します。
  • 認識結果を未編集のまま渡すのではなく、構造化された編集可能なMuseScore記譜を作成します。
  • スコア構成、選択されたTABの音程と弦の関係、エクスポートの安全性、ファイルの整合性を確認します。
  • 音声を有料の外部APIにアップロードするのではなく、デフォルトでローカルかつ無料のツールを使用します。

デフォルトの5パート編成

デフォルトのスコアはボーカル伴奏用ですが、リクエストで動作を変更しない限り、インストゥルメンタルスコアにボーカルラインは含まれません。代わりにボーカルトラックは、曲の構成、ブレスの余地、各楽器の入りを特定するために使用されます。

  • リードギター:特徴的なリフ、フック、フィル、インストゥルメンタルテーマを表す、リズム付き6弦TAB。
  • リズムギター:コード、ストローク、アルペジオ、グルーヴの支えを表す、リズム付き6弦TAB。
  • ベース:ルートの動き、展開、低音域の動きを表す、リズム付き4弦TAB。
  • キーボード:ハーモニー、パッド、対旋律、キーボード固有のモチーフを表す大譜表記譜。
  • ドラム:グルーヴ、アクセント、展開、フィルを表す標準5線ドラム譜。

指定された楽器編成、チューニング、キー、難易度、演奏時間、アレンジ上の制約は、これらのデフォルト設定より優先されます。

インストールとローカル環境のセットアップ

1. リポジトリをクローンする

git clone https://github.com/kiri603/To-Sheet-Music-Skill.git
cd To-Sheet-Music-Skill

2. Python環境を作成する

Python 3.11を推奨互換性基準とします。Demucsや関連パッケージが他のPythonプロジェクトに干渉しないよう、専用の仮想環境を作成してください。

python3.11 -m venv work/audio-env
source work/audio-env/bin/activate
python -m pip install demucs numpy soundfile imageio-ffmpeg

Windowsでは、work/audio-env/Scripts/内にあるPython実行ファイルとアクティベーション用実行ファイルを使用してください。インストールする前に、パッケージがコンピューターにインストールされているPythonインタープリターと互換性があることを確認してください。

3. 外部要件をインストールする

  • FFmpeg:音声デコードに必要です。オペレーティングシステム、明示的に指定した--ffmpegパス、またはimageio-ffmpegから利用できます。
  • MuseScore Studio:記譜を開き、MIDIおよびPDFファイルをエクスポートするために必要です。
  • 任意の分析ツール:タスクに応じて、librosa、basic-pitch、pretty_midi、mido、music21、pypdf、またはPopplerを使用できます。
  • CUDA:任意です。互換性のあるGPUが利用できない場合、分離ワークフローはCPUで実行できます。

リポジトリはソフトウェアを自動インストールしたり、モデルの重みを同梱したりしません。必要なモデルの重みは、必要になったときにローカル環境によってダウンロードされます。

4. エージェントからスキルを利用できるようにする

このスキルはSKILL.mdとagents/openai.yamlを中心に構成されています。使用するランタイムのスキル読み込み手順に従って、リポジトリをエージェントランタイムに追加するか、利用可能な状態にしてください。ランタイムごとに仕組みが異なるため、この手順のための共通インストールコマンドはリポジトリで定義していません。

基本的な使い方:アレンジを依頼する

スキルを利用できるようにしたら、ソース録音と明確なアレンジ依頼をエージェントに渡します。例:

Use $audio-to-band-score to arrange "song.wav" for lead guitar, rhythm guitar,
bass, keyboard, and drums at the default school-amateur intermediate level.
Preserve the original song structure and recognizable riffs, then deliver MIDI,
PDF, and editable MSCZ files.

有用な依頼には、入力ファイル、使用する楽器、演奏者のレベル、そして最も重視する音楽的特徴を明記してください。該当する場合は、希望するキー、ギターまたはベースのチューニング、アレンジの長さ、カット、繰り返しセクション、その他の演奏上の制約も指定してください。

Koeアレンジの楽譜抜粋

ソース分離を直接実行する

アレンジを完成させる前に分析用ステムを確認または準備したい場合は、ソース分離ヘルパーを単独で実行できます。

python scripts/separate_audio.py \
  --input "path/to/song.wav" \
  --out-dir "work/separation-v1" \
  --profile high \
  --device auto

highプロファイルでは、4ソースと6ソースのDemucs分析を両方実行し、それぞれの結果を比較できます。balancedプロファイルでは6ソース分析のみを実行します。内部試行やリソースに制約のあるシステム向けです。

出力ディレクトリは新規でなければなりません。このヘルパーは既存のディレクトリへの上書きを意図的に拒否し、以前のステムと分析証拠を保護します。実行ごとにwork/separation-v1やwork/separation-v2のようなバージョン付きパスを選択してください。

完成したMuseScoreファイルを監査する

エージェントがwork/final.msczを作成したら、成果物をエクスポートする前に監査ヘルパーを実行してください。

python scripts/score_tools.py audit \
  --score "work/final.mscz" \
  --report "work/audit.json"

監査では、音高、弦、フレットの関係を含む構造チェックと一部のTABチェックを実行します。技術的な不整合は特定できますが、すべての音符、拍、アーティキュレーション、複数楽器による演奏部分が音楽的に正しいことを証明するものではありません。

MIDI、PDF、MSCZをエクスポートする

印刷用、再生用、編集用の各バージョンの一貫性を保つため、すべての形式を同じネイティブMuseScoreファイルからエクスポートしてください。

python scripts/score_tools.py export \
  --score "work/final.mscz" \
  --out-dir "work/export-v1" \
  --name "song_band" \
  --musescore "/path/to/MuseScore"

エクスポートヘルパーは既存の出力ディレクトリを上書きしません。要求された3つの形式がすべて正常に生成された後でのみ、新しいディレクトリを公開します。

  • song_band.midは、再生およびDAWやMIDIによる確認に使用します。
  • song_band.pdfは、印刷可能なリハーサル用スコアです。
  • song_band.msczは、編集可能なネイティブMuseScoreプロジェクトです。

作業ディレクトリには、manifest.json、分離済みWAVステム、分析メモ、MIDI候補、MusicXML、監査レポート、レンダリング済みPDFページが含まれる場合もあります。ユーザーが成果物として要求しない限り、これらのファイルは証拠および品質保証用の成果物として扱われます。

春日影アレンジの楽譜抜粋

より良い結果を得るための高度なヒント

正確なアレンジ概要を書く

曲を採譜するという一般的な依頼だけに頼らないでください。完成したものを誰が演奏し、何を演奏できるのかを明記します。たとえば、初心者向けと上級者向けの譜面を区別し、特殊チューニングを指定し、認識できる形で残す必要があるリフやトランジションを特定してください。

分離済みステムを証拠として扱う

guitarやpianoとラベル付けされた6ソース出力は候補であり、分離された楽器が保証されているわけではありません。ギターステムを完全なギターパート1つとして自動的に解釈すべきではなく、独立したギターパートが2つ存在することを示すものでもありません。候補を元のミックス、繰り返しセクション、和声的文脈、リズム、楽器固有の制約と照合してください。

タイムラインの一貫性を保つ

このワークフローでは、ステムを共通のタイムライン上に保ち、サンプルレート、チャンネル構成、フレーム数を確認します。個々のステムを手動でトリミングまたは移動する場合は、元の録音との同期も維持してください。

バージョン付き作業ディレクトリを使用する

分離ヘルパーとエクスポートヘルパーは既存のディレクトリへの上書きを拒否するため、separation-v1、separation-v2、export-v1、export-v2のような名前を使用してください。これにより、プロファイル設定を比較し、以前の試行の証拠を保持することも容易になります。

自動チェック後にスコアを音楽的に確認する

監査が検証するのは、選択された構造上および記譜上の特性であり、音楽的な完全性ではありません。MIDIを聴き、PDFを確認し、MuseScoreでMSCZファイルを開き、各楽器の入り、トランジション、リピート、ギターの運指、キーボードのテクスチャ、ベースの動き、ドラムフィルがアンサンブルにとって実用的か確認してください。

権威あるスコアソースを1つに保つ

最終的な修正はネイティブMSCZスコアで行い、その同じファイルからMIDIとPDFを再生成してください。エクスポートした形式を個別に編集すると、3つの成果物に食い違いが生じる可能性があります。

テストスイートを実行する

リポジトリのルートから同梱のテストを実行します。

python -m unittest discover -s scripts -p "test_*.py" -v

テストでは、分離処理のエッジケース、モデルダウンロードの再試行回数の上限、タイムライン検証、TABの音高および弦チェック、スコアの構造チェック、エクスポート時の安全策を確認します。テストに合格すれば、ヘルパーワークフローが想定どおり動作していることを確認できますが、採譜の正確さやアレンジの品質を測定するものではありません。

制限事項と責任ある利用

  • このプロジェクトは、誤りのない採譜や完全な音声忠実度を保証するものではありません。
  • 自動チェックで、音楽的な聴き取りや記譜の確認を代替することはできません。
  • このワークフローは、音声認識、歌詞翻訳、楽譜のダウンロードには対応していません。
  • モデルの重みはリポジトリに含まれておらず、必要に応じてダウンロードされる場合があります。
  • 現在、リポジトリにはプロジェクトレベルのライセンスファイルがないため、コードやアセットを再配布できると assume しないでください。
  • サードパーティ製のツール、モデル、データセット、録音には、それぞれ独自のライセンスと利用条件が適用されます。

使用する権利を持つ録音と参照資料だけを処理してください。プライベートな録音、認証情報、モデルキャッシュ、生成されたPythonキャッシュ、大容量の一時ファイルをリポジトリにコミットしないでください。

結論

Audio to Band Scoreは、ミックス録音から編集可能でリハーサルを重視した5パート編曲へ進むための、規律ある手順を提供します。最大の価値は完全自動の採譜ではなく、音源分離の根拠、明示的な音楽上の判断、演奏性を重視した編曲、構造チェック、そして一貫したMuseScore出力を組み合わせている点にあります。信頼できる結果を得るには、エージェントに正確な指示を与え、分析の根拠を保持し、監査とテストを実行したうえで、最後に人間による音楽的な確認を行ってください。