Communitygithub.com

muyunxue/dance-mmd-subtitle-kit

MMD/K-pop 댄스 영상을 위한 자막 스타일 목업과 애니메이션 비교 샘플을 디자인하고 제공합니다 — S1~S6 스타일 카탈로그(Y2K 크롬, 미니멀 키네틱, 글리치, 믹스매치 에디토리얼, 그래픽 강조, 핸드마커), PIL/numpy 이펙트 레시피, 폰트 리스트, 콘택트 시트/비교 영상 규칙, S4 대 S6에 사용된 병렬 서브에이전트 워크플로우를 포함합니다. 정적 프레임 제안, 걸그룹 PV 자막 참조, 샘플 제작, 스타일 비교 요청 시 로드하세요.

dance-mmd-subtitle-kit란 무엇인가요?

이 스킬은 MMD 및 K-pop 댄스 영상에서 사용할 자막 스타일 목업과 애니메이션 비교 샘플을 제작하는 전문 기술입니다. S1(Y2K 크롬+스티커)부터 S6(핸드라이팅/형광펜)까지 6가지 스타일을 지원하며, 각 스타일은 구체적인 폰트, 색상, 애니메이션 기법으로 정의됩니다. PIL과 numpy 같은 전통적인 이미지 처리 라이브러리만 사용하여 AI 없이도 크롬 텍스트, 글리치 효과, 반톤, 스티커 아웃라인 등 다양한 시각 효과를 구현할 수 있습니다. 특히 S4와 S6 스타일의 30초 비교 샘플 제작을 위한 병렬 서브에이전트 워크플로우를 제공하여, 메인 에이전트가 공통 베이스 영상을 준비하고 각 스타일별 서브에이전트가 독립적으로 작업한 후 결과를 합성하고 검증하는 효율적인 파이프라인을 지원합니다. 이 스킬은 주로 Claude Code, Cursor, Codex와 같은 AI 코딩 에이전트 환경에서 자막 스타일 디자인 요청이 있을 때 로드하여 사용합니다.

지원 대상~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 미래감: 디지털 산세리프 + 글리치 / RGB 어긋남 / 스캔 라인;
  • Y2K 크롬 + 스티커: 크롬 버블 레터링, 사탕색 (핫핑크 + 아쿠아), 스티커 콜라주, 별빛 반짝임;
  • 핸드라이팅 다이어리 감: 마커/형광펜 + 포스트잇 + 낙서 (NewJeans 청춘감).

1. 여섯 가지 본편 적용 스타일 (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 여섯 장 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)

  • 텍스트 레이어: 글자별 그리기 + 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초 세 가지 스타일: 자막\build\styles_anim.py → 공개채널\출력\자막스타일참조\샘플_S2_5s.mp4 등;
  • S4/S6 30초: 자막\출력\S4S6_30s\ (각각 서브 에이전트가 한 버전 제작, 아래 참조);
  • 폭발 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\ (두 버전 30초 + 비교).

5. 병렬 서브 에이전트 워크플로우 ("서브 에이전트가 각자 제작")

  1. 메인 에이전트가 공통 베이스 영상 준비 (자르기 + 약간 어둡게) → _base_30s.mp4; fonts/를 출력 디렉터리에 복사; cue sheet 작성 (상대 시간).
  2. 각 스타일당 하나의 서브 에이전트, 프롬프트에 반드시 포함:
    • 베이스 영상 절대 경로, 출력 디렉터리, 출력 파일명 (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.

관련 스킬