7.9 KiB
GLM/KIMI MEGA SPRINT: PRO DJ LEVEL ROADMAP & MIDI FIX
Moombahton / Reggaeton Track Finalization (song.als)
TARGET AI CAPABILITY LEVEL: EXPLICIT / STEP-BY-STEP INSTRUCTIONS TO AI: Do NOT deviate from these steps. Follow them sequentially. Validate each task before moving to the next.
TAREA 0: ELIMINAR EL BLOQUEO (FIX P0)
Contexto Técnico: Kimi introdujo un time.sleep() y un while loop sincrónico en el Remote Script que congela la UI de Ableton, causando que la materialización del MIDI falle y bloqueando todo el proyecto.
PASO 0.1: Modificar _record_session_clip_to_arrangement
- Archivo:
abletonmcp_init.py - Líneas aproximadas: 1445 - 1497
- ACCIÓN EXPLICITA: Busca el bloque
while total_wait < max_wait and record_state['target_clip'] is None:. - CÓDIGO A ELIMINAR: Borra ese
while, eltime.sleep(0.05), y todos los loops subsecuentes de esa función. - CÓDIGO A INYECTAR: Reemplazar por un retorno inmediato asumiendo éxito en la cola de tareas asíncronas de Live:
# EN LUGAR DEL WHILE LOOP Y SLEEP:
# Tratamos de localizarlo exactamente una vez sin sleep
target_clip = self._locate_arrangement_clip(track, start_time, tolerance=1.5, expected_length=length)
if target_clip:
record_state['target_clip'] = target_clip
self._recent_arrangement_clips[(int(track_index), round(float(start_time), 3))] = target_clip
return target_clip
# Si no esta listo todavia, DEVOLVEMOS UN PROXY CLIP para no congelar la app
self.log_message("[ARR_DEBUG] Usando Proxy Clip para evitar Live Freeze")
class ProxyClip:
def __init__(self, t_len, t_name):
self.length, self.name, self.start_time = t_len, t_name, start_time
def set_notes(self, notes): pass
proxy = ProxyClip(length, f"Proxy_{start_time}")
self._recent_arrangement_clips[(int(track_index), round(float(start_time), 3))] = proxy
return proxy
PASO 0.2: Modificar _create_arrangement_clip
- Archivo:
abletonmcp_init.py - Líneas aproximadas: 1578 - 1593
- ACCIÓN EXPLICITA: Kimi introdujo
time.sleep(0.5) # Small wait for materializationdespués deself._song.duplicate_clip_to_arrangement. - CÓDIGO A ELIMINAR: Borra ese
time.sleep(0.5). Reemplázalo de la misma manera que en el paso 0.1 para que si_locate_arrangement_clipretorna None, devuelva unProxyClipde Inmediato. - PASO FINAL: Pide al orquestador humano que compile y Reinicie Ableton Live.
TAREA 1: REESTRUCTURACIÓN DE ARRANGEMENT (CLUB MIX COMPACTO)
Contexto: La canción dura 6:56 y es monótona (24 mirrored sections). Hay que llevarla a 3:30 (Aprox 336 beats a 95 BPM).
Timeline Objetivo:
Intro(Beats 0-32)Build A(Beats 32-64)Drop A(Beats 64-128)Break(Beats 128-160)Build B(Beats 160-192)Drop B(Beats 192-256)Outro(Beats 256-288)
PASO 1.1: Eliminar Gaps y Basura
- ACCIÓN: Llama a la herramienta MCP
delete_arrangement_clipmasivamente para todos los clips que pasen el beat288. Todo lo que exista después del beat 288 es basura irrelevante. Limpia los 16 tracks.
TAREA 2: GENERACIÓN DEL HARMONIC BACKBONE (EL ESPINAZO MIDI)
Contexto: Superado el bug del time.sleep(), el Track 15 HARMONY_PIANO_MIDI debe poblarse.
PASO 2.1: Re-Voicing del Sintetizador
- Track 15: Elimina la asociación mental de que esto es un "Piano". Selecciona el dispositivo (Wavetable o el que esté asignado). No debe ser un piano, debe ser un Sintetizador Pluck o Atmos Pad adecuado para Reggaeton.
- ACCIÓN MCP: Usa la herramienta
set_device_parameteren el track 15 para modificar Filtros (Filter Freq bajo para el intro, abierto para el Drop).
PASO 2.2: Creación de Clips MIDI
- Progresión: Am - F - G - C.
- ACCIÓN MCP:
- Ejecuta
create_arrangement_clip(track_index=15, start_time=0, length=32). - Ejecuta
add_notes_to_arrangement_clip(...)poblando los acordes anteriores a 4 tiempos cada uno, durante el Intro y Builds. - Repite esto para
start_time=64(Drop),128(Break), etc. - VERIFICA con
get_track_info(15)quearrangement_clip_count >= 5.
- Ejecuta
TAREA 3: IMPLEMENTAR LÍNEA DE BAJO DEMBOW BOUNCY (TODO-011)
Contexto: En la Fase 3, el desarrollador humano integró el código TODO-011 y TODO-014 para el estilo Bouncy Dembow y perfil Moombahton.
PASO 3.1: Aplicar el Generador Fase 3
- En el Track 9 (
AUDIO BASS), hay que reemplazar los clips continuos planos. - ACCIÓN MCP:
Las herramientas de generación de AbletonMCP deben ser configuradas para usar:
profile_name = "moombahton"bass_motion = "bouncy"- O si todo es manual, debes crear los patrones de bajo usando silencios. El patrón dembow del bajo es: Golpe en The "One", silencio, y un golpe de apoyo rápido sincopado (Tumbao).
- Limpia el Arrangement del track 9 y recrea audio patterns usando
create_arrangement_audio_pattern()con la muestra principal intercalando huecos de silencio de manera consistente con el patrón de dembow.
TAREA 4: DRUM CONTINUITY Y TRAILING GAPS
Contexto: Quedan gaps del beat 168 al 288 (nuestro nuevo final) en los tracks percusivos.
PASO 4.1: Track 12 (AUDIO TOP LOOP)
- ACCIÓN: Tienes que poblar toda la franja
168hasta288(120 beats). - Herramienta: Usa un loop (
for i in range(168, 288, 8):) para iterar llamadas MCPcreate_arrangement_audio_pattern(track_index=12, start_time=i, length=8, sample_path="C:\...\libreria\reggaeton\perc loop\! (extra I oneshot) perc 4.wav").
PASO 4.2: Track 11 (AUDIO PERC ALT)
- ACCIÓN: Tienes que poblar del
176al288. - Herramienta: Mismo loop pero usa el sample
perc 1.wavyperc 2.wavintercalados.
PASO 4.3: Validar Drum Coverage
- ACCIÓN: Llama a
audit_project_coherence(). Tu objetivo duro y explícito esdrum_coverage_ratio > 0.65. Repite inserciones si esto no se cumple.
TAREA 5: EAR CANDY, RETURNS Y FX DAIL (MACRO DINÁMICA)
Contexto: La canción sufre de rigidez estructural. Los buses y los retornos están pero no hacen nada rítmico.
PASO 5.1: Mute/Stop Throws (Cortes de silencio)
- ACCIÓN EXPLICITA: En los beats
63.5 a 64(justo antes del Drop A) y en el191.5 a 192(antes del Drop B), detén drásticamente todo el groove. Mutea/elimina las porciones de Kick, clap y Hat en ese medio compás final. Crea la clásica pausa para que el Drop golpee más duro.
PASO 5.2: Send Automations en los Builds
- Track a operar: 14 (
AUDIO SYNTH PEAK) y los tracks de percusiones (11y12). - ACCIÓN MCP: Los tracks 14, 11 y 12 tienen Send A (
A-MCP SPACE) y Send B (B-MCP ECHO). - Debes añadir automatización en los Sends de estos tracks durante los "Builds" (beats 32-64 y 160-192). Empezando en 0% en el beat 32, subiendo a 100% en el beat 63.5, y cortando a 0% exacto en el beat 64.
PASO 5.3: Master Loudness & Glue Check
- ACCIÓN: Revisa el Output Bus y el track maestro.
- Ajusta el umbral (Threshold) del dispositivo de saturación / Glue Compresor en el Track
RETURN D-MCP GLUEusandoset_device_parameterpara bajar la compresión y pegar la batería y el bajo en un solo bus unificado.
CÓMO RESPONDER AL ORQUESTADOR
- Al terminar LA TAREA 0 (Bugfix), DEBES detenerte y responder: "Bugfix aplicado, esperando confirmación de reinicio de Ableton". No intentes invocar llamadas MCP antes de que Live sea reiniciado por el humano.
- Al terminar cada Tarea subsiguiente, escribe un breve reporte de status con los outputs exactos devueltos por la terminal o MCP.
- Al terminar la Tarea 4, invoca obligatoriamente
audit_project_coherence()y pega su salida. - Si la red MCP devuelve Error como
"Arrangement clip was not materialized", ABORTA LA TAREA ACTUAL y solicita instrucciones. No reportes éxito falsamente si algo falla.