Communitygithub.com

muyunxue/dance-mmd-subtitle-kit

MMD/K-Popダンス動画向けの字幕スタイルモックアップとアニメーション比較サンプルを設計・作成します。S1~S6のスタイルカタログ(Y2Kクローム、ミニマルキネティック、グリッチ、ミックス&マッチ編集、グラフィック強調、ハンドマーカー)、PIL/numpyエフェクトレシピ、フォントリスト、コンタクトシート/比較動画の規約、S4 vs S6で使用した並列サブエージェントワークフローを提供します。

dance-mmd-subtitle-kit とは?

このスキルは、MMDやK-Popダンス動画における字幕スタイルのデザインと比較サンプル作成を支援します。S1からS6までの6種類のビジュアルスタイル(Y2Kクローム、ミニマル動的タイポグラフィ、グリッチ、ミックス&マッチ編集、グラフィック強調、手書き蛍光ペン)を定義し、PILとnumpyを使用した静的なフレームレンダリング方法と、ASSアニメーションを用いた動的なサンプル作成方法を提供します。また、複数のスタイルバージョンを並行して作成・比較するための並列サブエージェントワークフロー(S4 vs S6など)も含まれています。このワークフローにより、複数のスタイルを効率的に設計し、ビデオ比較、キーフレームテーブル、説明文書を自動生成できます。主にClaude CodeやCodexなどのAIエージェントが、ユーザーから「何フレームか静的な案を出して」「K-PopグループのPV字幕を参考にして」「サンプルを作って」「いくつかのスタイルを比較して」といったリクエストを受けた際に、視覚的な方向性を決定し、フルレングスの字幕トラックを構築する前に活用します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/muyunxue/dance-mmd-subtitle-kit/tree/HEAD/skills/style-frames-compare

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

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

ドキュメント

字幕スタイル方案 / 静的フレーム / 比較サンプル

0. まず調査、それから提案

女性アイドルグループ PV 字幕の公開資料まとめ(2024 KCI 論文 + K-pop Y2K Seoul スタイルガイド):

  • Graphic グラフィック強調:太細コントラストが大きく不規則な、装飾的な大きな文字(Blackpink / XG ポスター系);
  • Mix & Match 混植:セリフ + サンセリフ + 圧縮書体 + イタリック混在、雑誌編集感;
  • Minimalism ミニマル:クリーンなサンセリフ、装飾なし、余白を活かし、ビートに合わせて出現(NewJeans/aespa kinetic typography);
  • Futurism 未来感:デジタルサンセリフ + glitch / RGB ずれ / 走査線;
  • Y2K クローム文字 + ステッカー:chrome bubble lettering、キャンディカラー(ホットピンク + アクア)、ステッカーコラージュ、星のキラキラ;
  • 手書き日記風:マーカーペン/蛍光ペン + 付箋 + 落書き(NewJeans 青春感)。

1. 本編適用可能な6スタイル(S1–S6)

コードスタイルキーエレメント適した箇所
S1Y2K クローム文字 + ステッカーBungee クロームグラデーション + ピンクバッジ + 星最も「アイドルっぽい」、ピンク/水色を紫ピンクに変更可
S2ミニマル動的タイポグラフィAnton 白色大文字、ずれ、細線、Silkscreen 小文字正規歌詞版、最も安定、背景を邪魔しない
S3グリッチ未来感RubikGlitch + Anton、RGB ずれ、走査線、HUD コーナーブレイク / トランジション
S4混植雑誌感Georgia Italic × Bebas Neue × Archivo Black、マスキングテープ、GO! カラーブロック、付箋青春/雑誌感、段落トランジション
S5グラフィック強調Anton 巨大文字 + 白色ステッカー縁取り + ピンクずれ + ストライプサビの爆発的な短い単語
S6手書き/蛍光ペンPermanent Marker + ピンク蛍光ブロック + 付箋 + ♥★ 矢印間奏 / クローズアップのアクセント

2. 静的フレームの作成(PIL + numpy、AI ライブラリ不使用)

スクリプト:

  • 字幕\build\kpop_styles.py — S1–S6 の6枚の 2560×1080 静的稿(2025 年調査版)
  • 字幕\build\art_frames.py — 初期の6つのアート文字案(グリッチスライス/ネオン崩壊/立体巨大文字/コラージュ/輪郭エコー/縦書き)
  • 字幕\build\gothic_art.py — ゴシック全画面(ユーザーによって却下済み、保管のみ) フォントディレクトリ:字幕\build\fonts\(Anton, ArchivoBlack, BebasNeue, Bungee, Monoton, PermanentMarker, RubikGlitch, Silkscreen, PirataOne, UnifrakturCook)+ C:\Windows\Fonts(Georgia / Georgia Italic / Microsoft YaHei / Impact / Arial Black)。 フォントダウンロード(Google Fonts GitHub raw が利用可能):
https://raw.githubusercontent.com/google/fonts/main/ofl/<family>/<File>.ttf

よく使うエフェクト関数(PIL/numpy)

  • 文字レイヤー:1文字ずつ描画 + tracking(text_img)、stroke_width/stroke_fill で縁取り;
  • クローム文字:alpha mask に縦方向の多段グラデーション(gradient_fill)+ 斜めハイライトバンド;
  • ステッカー縁取り:alpha に MaxFilter(3) で N 回膨張してから着色;
  • ずれ/グリッチ:RGB チャンネルをそれぞれ平行移動(chroma)、横方向のランダム帯シフト(glitch_slices)、走査線;
  • 立体文字:同じ文字を複数回ずらして重ね描画、奥から手前へ濃い紫→ラベンダーグラデーション;
  • ハーフトーン:グリッド状のドット重ね(halftone);
  • 手書き蛍光ペン:文字の後ろに半透明の角丸矩形 + GaussianBlur;
  • 付箋/マスキングテープ:半透明矩形 + 細線テクスチャ + 回転;
  • 星/ハート:4 角星ポリゴン、二重円 + 三角ハート形;
  • 粒状ノイズ:np.random.normal で 1–3 レベルのバンディング防止ノイズ。

3. 動的サンプル(ASS アニメーション)

  • 5 秒 3 スタイル:字幕\build\styles_anim.py → 公众号/输出/字幕风格参考/小样_S2_5s.mp4 など;
  • S4/S6 30 秒:字幕\输出\S4S6_30s\(各サブエージェントが1バージョンずつ作成、後述);
  • 炸裂 FLARE:flare.py + flare_video.py;ネオン:neon_wide.py;
  • 完全ネオン回避:avoid_side2.py。
  • アニメーションパターン:打ち込み(\fscx118→100 + \t + \blur)、回転落下(\frz + \t)、スライドイン(\move)、フェードイン、カラーブロック拡大/スワイプアウト(\p1 + \fscx)、付箋上昇、ビートパルス(0.447 秒ごとに 134BPM ビート)。

4. 比較納品仕様

  • 単体サンプル:2560×1080 / 30fps / H.264 crf16 / faststart;30 秒 = 900 フレーム、5 秒 = 150 フレーム。
  • 比較動画:上下 vstack、各クリップを 1280×540 に縮小、出力 1280×1080(または 3 クリップ → 1280×1620)、ASS でラベルを重ねる。
  • キーフレームテーブル:2×2 / 2×3 / 3×3 グリッド、各セル 853×360 または 1280×540、スタイル名とタイムスタンプラベル付き。
  • 説明 md:スタイル説明 + ファイル一覧 + タイムライン + 既知の制限。
  • 例:字幕\输出\字幕风格参考\(6 スタイル静的 + S2/S4/S6 5 秒比較)、字幕\输出\S4S6_30s\(2 バージョン 30 秒 + 比較)。

5. 並列サブエージェントワークフロー(「サブエージェントで別々に作る」)

  1. メインエージェントが共有ベースビデオを準備(トリミング + 軽く暗くする)→ _base_30s.mp4;fonts/ を出力ディレクトリにコピー;キュ―シート(相対時間)を作成。
  2. 各スタイル1つのサブエージェントに、プロンプトに以下を必ず含める:
    • ベースビデオの絶対パス、出力ディレクトリ、出力ファイル名(S4_30s.mp4 / S6_30s.mp4);
    • フォントディレクトリ、ffmpeg パス、ASS ハードルール(時刻形式、Style 色値に末尾 & なし、fontsdir は相対パス、ASCII ファイル名);
    • 各行のタイムライン(8 行)+ スタイル説明 + 「中国語禁止 / 顔を隠さない」制約;
    • 自己チェック条件(ffprobe で 30 秒確認、フレーム抜き出しで文字確認、中国語なし、顔がきれい)。
  3. サブエージェントは自分のプレフィックスのファイルのみ書き込み、相互に上書きしない;完了後、配置/動き/学んだ教訓を報告。
  4. メインエージェントが収集後:s4s6_compare.py で比較動画 + キーフレームテーブル + 統一説明 md を合成;さらに自分でフレーム抜き出しをして検収。

6. 選定提案(紫ピンクネオンステージ + 翼のあるキャラクター)

  • 最も安定:S2 ミニマル動的タイポグラフィ;
  • 最もアイドルらしい:S1 Y2K クローム文字(色を紫ピンクテーマに変更);
  • 段落トランジション:S4 混植;爆発ポイント:S5;間奏/クローズアップ:S6;ブレイク:S3。
  • ユーザーが明確に却下したもの:ゴシック全画面、血赤色配色。ゴシック方向は再度提案しない。

7. 検収リスト

  • 静的フレームは 2560×1080、中国語の誤字なし
  • 動的サンプルの ffprobe 時間が正しい(5.000/30.000)
  • フレーム抜き出しで字幕出現を確認、顔を隠していない、中国語なし
  • 比較動画 + キーフレームテーブル + 説明 md が揃っている
  • スタイル名/ファイル命名が統一されている(S4_30s.mp4、对比_S4S6_30s.mp4)

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

muyunxue/dance-mmd-subtitle-kit

Hard rules, templates, ffmpeg commands and failure diagnosis for authoring ASS/SSA subtitles and burning them with libass on this machine. Load this before writing any ASS file, when a burn "succeeds" but no text appears, when text is misplaced/too big, when \p1 drawings are offset, or when you need the transparent-overlay export recipe. Contains the exact pitfalls hit in this project (timestamp format, style colour trailing ampersand, fontsdir, drawing anchor, chained \t, Permanent Marker sizing).

muyunxue/dance-mmd-subtitle-kit

Character-avoiding subtitle layout for the MMD dance videos — measure the dancer's per-frame bounding box, compute a per-cue union, place text in safe side/top columns, and verify zero overlap on every frame. Load this when asked 字幕不要挡住人物/完全不挡/避让, or when text overlaps wings/body and you need a verified-free layout with measured overlap counts.

muyunxue/dance-mmd-subtitle-kit

End-to-end recipe for making subtitles for the MMD dance videos in this workspace (字幕/ project) — probe the source, pick a segment, map LRC cues, choose a style, build ASS, burn, verify, and deliver. Load this when starting or resuming any subtitle task (静态稿/5s小样/30s小样/全片/透明叠加层), when a render "succeeded" but the video has no text, or when you need this project's paths, font list, cue sheet and acceptance criteria.

muyunxue/dance-mmd-subtitle-kit

Subject-aware colour grading for the MMD dance videos in this workspace — make the dancer stand out (background dim/cool/desat, subject lift/warm/sharpen/bloom) using either a soft stage-light ellipse or a hard character matte, with ffmpeg recipes, measured parameter sets and known failure modes (cast-shadow matte contamination, banding, truncated sources). Load this when asked to 调色/突出人物/压背景/统一色调, or when a graded clip shows weird bright blobs around the dancer.

関連スキル