Communitygithub.com

muyunxue/dance-mmd-subtitle-kit

Diseña y entrega maquetas de estilo de subtítulos y muestras de comparación animadas para videos de baile MMD/K-pop. Incluye el catálogo de estilos S1–S6 (Y2K chrome, kinetic minimal, glitch, mix&match editorial, gráfico enfático, marcador manual), recetas de efectos con PIL/numpy, lista de fuentes, convenciones de contact-sheet/video de comparación, y el flujo de trabajo de subagentes paralelos usado para S4 vs S6. Cárgalo cuando se pida: '出几个静态帧方案/参考女团PV字幕/做个小样/对比几个风格', o al elegir una dirección visual antes de construir una pista de subtítulos completa.

¿Qué es dance-mmd-subtitle-kit?

Esta habilidad (skill) está diseñada para agentes de IA que necesitan generar propuestas de estilo de subtítulos para videos musicales de baile, específicamente para el género K-pop/MMD. Se basa en un catálogo de seis estilos (S1–S6) que abarcan desde el cromo Y2K hasta la escritura a mano con marcador. La habilidad proporciona scripts PIL y numpy para crear fotogramas estáticos con efectos como texto cromado, glitch, semitonos, y superposiciones tipo sticker, todo sin depender de librerías de IA. Para animaciones, utiliza ASS (Advanced SubStation Alpha) con técnicas como apariciones con desenfoque, texto giratorio y pulsos al ritmo de la canción. Un aspecto clave es el flujo de trabajo con subagentes paralelos: el agente principal prepara un video base y divide las tareas de estilo entre subagentes, quienes generan sus propias versiones de 30 segundos. Luego, el agente principal las combina en un video de comparación, junto con una tabla de fotogramas clave y un archivo markdown de documentación. Está optimizado para trabajar en entornos como Claude Code o Cursor, y sigue convenciones de nomenclatura y ruteado específicas para evitar conflictos.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Esquema de Estilos de Subtítulos / Fotogramas Estáticos / Muestras de Comparación

0. Investigar primero, luego presentar

Resumen de materiales públicos sobre subtítulos en PV de grupos femeninos (artículo KCI 2024 + guía de estilo K-pop Y2K Seoul):

  • Graphic (Énfasis Gráfico): Letras grandes con contraste irregular de grosor y trazos decorativos (estilo póster de Blackpink / XG);
  • Mix & Match (Combinación Mixta): Mezcla de serif + sans-serif + condensada + inclinada, con sensación editorial de revista;
  • Minimalism (Minimalismo): Sans-serif limpio, sin decoración, con espacios en blanco, que aparece al ritmo (tipografía cinética de NewJeans/aespa);
  • Futurism (Futurista): Sans-serif digital + glitch / desplazamiento RGB / líneas de barrido;
  • Y2K Chrome + Stickers (Cromo Y2K + Pegatinas): Letras cromadas en burbuja, colores caramelo (rosa chicle + aguamarina), collage de pegatinas, destellos de estrellas;
  • Handwritten/Diary (Escritura a mano / Diario): Rotulador/marcador fluorescente + notas adhesivas + garabatos (sensación juvenil de NewJeans).

1. Seis estilos adaptados para el vídeo (S1–S6)

CódigoEstiloElementos ClaveIdeal para
S1Y2K Chrome + PegatinasGradiente cromado Bungee + insignia rosa + destellosMuy "grupo femenino", rosa/aguamarina se puede cambiar a morado/rosa
S2Minimalista DinámicoLetras grandes blancas Anton, desplazamiento, líneas finas, texto pequeño SilkscreenVersión de letras oficial, más estable, no compite con el fondo
S3Glitch FuturistaRubikGlitch + Anton, desplazamiento RGB, líneas de barrido, esquinas HUDRuptura / transiciones
S4Mezcla RevistaGeorgia Italic × Bebas Neue × Archivo Black, cinta adhesiva, bloques de color GO!, notas adhesivasSensación juvenil/de revista, transiciones entre párrafos
S5Énfasis GráficoLetras grandes Anton + contorno blanco de pegatina + desplazamiento rosa + rayasPalabras cortas en el estribillo explosivo
S6Rotulador/ResaltadorPermanent Marker + bloque fluorescente rosa + notas adhesivas + ♥★ flechasPausa / primer plano decorativo

2. Creación de fotogramas estáticos (PIL + numpy, sin librerías de IA)

Scripts:

  • 字幕\build\kpop_styles.py — Seis fotogramas estáticos 2560×1080 para S1–S6 (versión investigación 2025)
  • 字幕\build\art_frames.py — 6 esquemas de tipografía artística temprana (rebanada glitch / neón roto / letras 3D grandes / collage / eco contorno / vertical)
  • 字幕\build\gothic_art.py — Gótico pantalla completa (rechazado por el usuario, archivado) Directorio de fuentes: 字幕\build\fonts\ (Anton, ArchivoBlack, BebasNeue, Bungee, Monoton, PermanentMarker, RubikGlitch, Silkscreen, PirataOne, UnifrakturCook) + C:\Windows\Fonts (Georgia / Georgia Italic / Microsoft YaHei / Impact / Arial Black). Descargar fuentes (disponible vía raw de GitHub Fonts):
https://raw.githubusercontent.com/google/fonts/main/ofl/<family>/<File>.ttf

Funciones de efectos comunes (PIL/numpy)

  • Capa de texto: dibujo carácter por carácter con tracking (text_img), stroke_width/stroke_fill para contorno;
  • Texto cromado: gradiente vertical multisegmento sobre máscara alfa (gradient_fill) + banda de brillo diagonal;
  • Contorno de pegatina: expansión de alfa con MaxFilter(3) N veces y luego coloreado;
  • Desplazamiento/Glitch: desplazamiento independiente de canales RGB (chroma), desplazamiento aleatorio de bandas horizontales (glitch_slices), líneas de barrido;
  • Texto 3D: superposición del mismo texto desplazado varias veces, con gradiente de púrpura oscuro a lavanda de lejano a cercano;
  • Semitono: superposición de puntos de rejilla (halftone);
  • Rotulador fluorescente: rectángulo redondeado semitransparente detrás del texto + GaussianBlur;
  • Nota adhesiva/cinta: rectángulo semitransparente + textura de líneas finas + rotación;
  • Estrella/corazón: polígono de estrella de 4 puntas, círculo doble + triángulo corazón;
  • Granulado: superposición de np.random.normal 1–3 niveles anti-banding.

3. Muestras animadas (ASS Animation)

  • 5s tres estilos: 字幕\build\styles_anim.py → 公众号/输出/字幕风格参考/小样_S2_5s.mp4 etc.;
  • S4/S6 30s: 字幕\输出\S4S6_30s\ (cada subagente hace una versión, ver abajo);
  • FLARE de impacto: flare.py + flare_video.py; Neón: neon_wide.py;
  • Evitación completa de neón: avoid_side2.py.
  • Técnicas de animación: caída (\fscx118→100 + \t + \blur), letras girando (\frz + \t), deslizamiento (\move), fundido, escalado de bloques de color / barrido (\p1 + \fscx), subida de nota adhesiva, pulso al ritmo (un pulso cada 0.447s a 134BPM).

4. Convenciones de entrega para comparación

  • Muestra individual: 2560×1080 / 30fps / H.264 crf16 / faststart; 30s=900 fotogramas, 5s=150 fotogramas.
  • Video de comparación: vstack vertical, cada muestra reducida a 1280×540, salida 1280×1080 (o 3 muestras → 1280×1620), con etiquetas ASS.
  • Tabla de fotogramas clave: collage 2×2 / 2×3 / 3×3, cada celda 853×360 o 1280×540, con nombre de estilo y marca de tiempo.
  • MD de documentación: descripción del estilo + tabla de archivos + línea de tiempo + limitaciones conocidas.
  • Ejemplo: 字幕\输出\字幕风格参考\ (6 estilos estáticos + S2/S4/S6 5s comparación), 字幕\输出\S4S6_30s\ (dos versiones 30s + comparación).

5. Flujo de trabajo con subagentes paralelos ("Los subagentes trabajan por separado")

  1. El agente principal prepara el video base compartido (recortado + ligeramente oscurecido) → _base_30s.mp4; copia fonts/ al directorio de salida; escribe la hoja de referencias (tiempo relativo).
  2. Cada estilo tiene un subagente, cuyo prompt debe incluir:
    • Ruta absoluta del video base, directorio de salida, nombre de archivo de salida (S4_30s.mp4 / S6_30s.mp4);
    • Directorio de fuentes, ruta de ffmpeg, reglas estrictas de ASS (formato de tiempo, valores de color de Style sin & al final, ruta relative fontsdir, nombres de archivo ASCII);
    • Línea de tiempo oración por oración (8 frases) + descripción del estilo + restricción "sin chino / sin cubrir caras";
    • Requisitos de autoverificación (ffprobe 30s, extraer fotogramas para ver texto, sin chino, caras limpias).
  3. Cada subagente escribe solo archivos con su propio prefijo, sin sobrescribir; al terminar, reporta el diseño/efecto/problemas encontrados.
  4. El agente principal, una vez recogidos todos, ejecuta: s4s6_compare.py para sintetizar el video de comparación + tabla de fotogramas clave + MD unificado de documentación; luego extrae fotogramas y verifica por su cuenta.

6. Recomendaciones de selección (Escenario neón morado/rosa + personaje con alas)

  • Más estable: S2 Minimalista Dinámico;
  • Más "grupo femenino": S1 Y2K Chrome (cambia colores a morado/rosa como tema);
  • Transición de párrafos: S4 Mezcla; Punto álgido: S5; Pausa/primer plano: S6; Ruptura: S3.
  • El usuario ha rechazado explícitamente: gótico pantalla completa, paleta rojo sangre. No propongas direcciones góticas.

7. Lista de verificación

  • Fotograma estático es 2560×1080, sin errores de caracteres chinos
  • Muestra animada tiene la duración correcta según ffprobe (5.000/30.000)
  • Extracción de fotogramas confirma que los subtítulos aparecen, no cubren caras, y no hay chino
  • Video de comparación + tabla de fotogramas clave + MD de documentación completos
  • Nombre de estilo/nomenclatura de archivo uniforme (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.

Skills relacionados