Communitygithub.com

JohnsonZhangCN/music-mv-skill

ユーザーがキャラクター画像、歌、LRC歌詞、ソース時間範囲、および「小镇姑娘」を含む手描き2Dミュージックビデオスタイルを指定して「/music-mv」を呼び出したときに使用します。

music-mv-skill とは?

このスキルは、ユーザーが提供する素材(キャラクター画像、楽曲、LRC歌詞、時間範囲)を、パフォーマンス、歌詞同期、トランジションを備えた2D手描きアニメーションのミュージックビデオ(MV)に変換し、再生可能なMP4ファイルとして出力します。内部にp5.jsベースの「painted-animation」エンジンを内蔵しており、外部のビデオ生成APIや他のスキルに依存しません。特に「小镇姑娘」スタイルでは、水彩紙風の背景、墨線、リミテッドアニメーション、歌詞に合わせたイメージ表現など、具体的な演出ガイドラインに従います。Windows環境でのセットアップ、キャッシュ、ブラウザ依存関係の管理方法も提供されています。制作プロセスは、素材チェック、ストーリーボード作成、シーン制作、プレビュー修正、MP4レンダリングという段階を踏み、ユーザーが承認を行える柔軟なワークフロー(例:先にストーリーボードを確認)をサポートします。また、BPM計測や歌詞のタイミング調整など、音楽と映像の同期を精密に行う機能を備えています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JohnsonZhangCN/music-mv-skill/tree/HEAD/skills/music-mv

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Music MV

ユーザーの素材を、パフォーマンス、歌詞同期、トランジションを備えた2D手描きMVに編集し、再生可能なMP4を出力します。p5.js + p5.brushエンジン「painted-animation」、サンプル、Windows向けラッパーを内蔵。他のインストール済みスキルや外部ビデオ生成APIに依存しません。

今回のユーザーパラメータ:

$ARGUMENTS

リクエスト解析

中国語の自然言語またはkey=value形式を受け付けます。必須項目:キャラクター画像(image)、楽曲(audio)、歌詞(lyrics)、開始(start)、終了(end)、スタイル(style)。パスにスペースが含まれる場合は引用符で囲みます。時間は秒数、M:SS、またはH:MM:SSで指定可能です。不足している項目がある場合は一覧で表示され、既存の情報については再度尋ねません。

デフォルト:1920×1080、24fps、行単位の歌詞、画像内で明確に区別される全キャラクターを表示、出力先は現在のプロジェクトの outputs/music-vm 配下の新規ディレクトリ。ユーザーが単一の主人公、字幕なし、または異なるフレームレートを指定した場合はその指示に従います。複雑な人物画像の場合は、まずモデルテーブルを定義しテストフレームを描画します。画像はアイデンティティとデザインの参考として使用され、単なる画像の平行移動や静的なスライドショーではありません。

スタイルが「小镇姑娘」の場合、 references/styles.md を読み込み、 assets/painted-animation/docs/xiaozhen-sheet.jpg を確認します。このスタイル名は、水彩紙、墨線、リミテッドアニメーション、歌詞に基づくイメージ、連続的なトランジションの例を示しており、原曲のストーリーをそのままコピーするものではありません。その他のスタイルは実現可能な2D絵画スタイルにマッピングされます。写実的な人物や3Dの要求は、最初に本エンジンの限界を説明します。

制作

  1. 3つの入力ファイルを確認し、キャラクター画像を調査します。最初に簡潔な提案(キャラクター、ストーリーのメインライン、ビジュアルスタイル、ファイルの場所)を出力します。プロジェクトの既存の承認要件に従います。ユーザーが完全な生成を承認している場合は、最終出力まで継続します。「まずストーリーボードを見る」と指定された場合のみ、ストーリーボードの段階で停止します。
  2. assets/painted-animation/template/ANIMATION_GUIDE.md と references/production.md を読み込みます。音楽のアレンジが必要な場合は、references/music-video.md を読み込みます。その小節ごとの拡張に関する提案は、ユーザーの指定した正確な区間を上書きしません。 モードが「先にストーリーボードを見る」の場合、画像と歌詞のみを読み取り、拍子を計測し、ストーリーボードを作成します。エンジンのインストール、シーン制作、レンダリングはスキップし、ストーリーボードを納品して停止します。
  3. ファイルツールを使用して、正規化されたJSONを現在のプロジェクトの .cache/music-mv-request.json に書き込みます。出力先には、現在のプロジェクト内にまだ存在しない絶対パスを指定する必要があります。スクリプトを使用して素材とプロジェクトを準備します:
python "${CLAUDE_SKILL_DIR}/scripts/prepare_mv.py" --request "<リクエストJSONの絶対パス>" --install

Windowsの依存関係、キャッシュ、ブラウザについては references/windows.md を参照してください。補助スクリプトはプロジェクトの準備のみを行い、シーンはあなたが作成します。 4. 生成された mv-task.json、analysis/lyrics.json を読み込みます。BPMとbeat_offsetを確認します。検出に失敗した場合は、依存関係を修正して計測するか、ユーザー指定のBPMを使用します。推定値を計測値として使用してはいけません。指定されたオーディオ範囲を保持し、イントロの追加、テンポ変更、フェードアウトを勝手に行ってはいけません。通常のLRCは行単位のタイミングのみを提供するため、歌詞の色付けは行内の推定であり、単語単位の正確なアライメントを主張してはいけません。 5. 完全な STORYBOARD.md を作成します:各ショットのタイムコード、歌詞、アクション、構図、トランジションを含みます。src/scenes 内にシーンファイルを作成し、studio.html に登録します。デモシーンは削除します。キャラクターは表情、予備動作、重心移動、フォロースルーアクション、読み取り可能なパフォーマンスを持つ必要があります。各フレームは時間 t の純関数です。 6. scripts/render_mv.mjs を使用して、各ショットの代表フレーム、アクションバー、継ぎ目をレンダリングします。画像を開いて確認し、修正します。字幕なしの場合は、studio.html から karaoke.js のロードを削除します。 7. 完全なビデオをレンダリングします。ラッパーは時間、サイズ、フレームレート、オーディオトラックを検証します。開始、終了、およびすべてのトランジションを確認し、MP4、ストーリーボード、プレビュー画像の実際の絶対パスを納品します。シーンを変更した後は、影響を受けるフレームを再レンダリングし、古いフレームを再利用しないようにします。未確認のプレビューや再生・検証されていないビデオを使用して品質確認を主張してはいけません。

デフォルトの順序:素材確認 → ストーリーボード → シーン制作 → プレビュー修正 → MP4。通常の手順の途中で承認を繰り返し要求しないでください。ユーザーが明示的に要求した場合のみサブエージェントを使用します。

呼び出し例

/music-mv キャラクター="D:/mv/character.png" 曲="D:/mv/song.mp3" 歌詞="D:/mv/song.lrc" 範囲="00:39-01:07" スタイル="小镇姑娘"

追加可能:キャラクターモード=オレンジの主人公のみ、字幕=なし、モード=先にストーリーボードを見る。画像に複数の明確に区別されるキャラクターがいる場合、デフォルトですべてを表示し、最終出力まで継続します。

ソースとクレジットについては references/credits.md を参照してください。

関連スキル