- Add _cmd_create_arrangement_audio_pattern with 5-method fallback chain - Method 1: track.insert_arrangement_clip() [Live 12+] - Method 2: track.create_audio_clip() [Live 11+] - Method 3: arrangement_clips.add_new_clip() [Live 12+] - Method 4: Session->duplicate_clip_to_arrangement [Legacy] - Method 5: Session->Recording [Universal] - Add _cmd_duplicate_clip_to_arrangement for session-to-arrangement workflow - Update skills documentation - Verified: 3 clips created at positions [0, 4, 8] in Arrangement View Closes: Audio injection in Arrangement View
19 KiB
SPRINT 3 - SISTEMA DE PRODUCCIÓN MUSICAL COMPLETO
Date: 2026-04-11 Assigned: Kimi K2 Reviewed by: Qwen Sprint 1 Status: ✅ COMPLETO - 511 samples indexados, 8 tools de análisis Sprint 2 Status: ✅ COMPLETO - 62 MCP tools, song generator, mixing, workflow
ESTADO ACTUAL DEL SISTEMA
Lo que YA funciona:
- ✅ 62 herramientas MCP (info, transporte, tracks, clips, samples, análisis, mezcla, workflow)
- ✅ 511 samples indexados con BPM, Key, MFCCs, embeddings
- ✅ Song generator: genera configs de 64-96 bars con dembow, bass, chords, melody
- ✅ Pattern library: dembow, bass, chords, melody, percussion, human feel
- ✅ Mixing engine: buses, EQ, compressor, sidechain, master chain
- ✅ Workflow engine: generación completa, referencias, validación, export
- ✅ numpy + librosa + scipy + scikit-learn instalados
Lo que FALTA para producir reggaeton profesional real:
- ❌ Los samples NO se cargan realmente en Ableton (solo se genera config)
- ❌ Las notas MIDI NO se escriben en clips reales
- ❌ Los devices NO se insertan realmente en tracks
- ❌ La mezcla NO se aplica realmente en Ableton
- ❌ No hay automatización real en Arrangement View
- ❌ No hay resampleo ni renderizado
- ❌ No hay integración completa entre engines → Ableton runtime
FASE 1: PUENTE ENGINES → ABLETON (T001-T020) - CRÍTICA
El problema principal: los engines generan configs pero NADA se materializa en Ableton.
T001-T005: Runtime - Crear clips MIDI reales
T001 - En AbletonMCP_AI/__init__.py, agregar handler _cmd_generate_midi_clip:
- Recibe track_index, clip_index, notes (lista de dicts con pitch, start_time, duration, velocity)
- Crea clip MIDI en Session View
- Escribe las notas con
clip.set_notes() - Retorna:
{created: true, note_count: N}
T002 - Agregar handler _cmd_generate_dembow_clip:
- Usa
pattern_library.DembowPatternspara generar notas de dembow - Crea clip MIDI con kick, snare, hihat patterns
- Parámetros: track_index, clip_index, bars, variation, swing
T003 - Agregar handler _cmd_generate_bass_clip:
- Usa
pattern_library.BassPatterns - Crea clip MIDI con línea de bass
- Parámetros: track_index, clip_index, bars, root_notes, style
T004 - Agregar handler _cmd_generate_chords_clip:
- Usa
pattern_library.ChordProgressions - Crea clip MIDI con acordes
- Parámetros: track_index, clip_index, bars, progression, voicing
T005 - Agregar handler _cmd_generate_melody_clip:
- Usa
pattern_library.MelodyGenerator - Crea clip MIDI con melodía
- Parámetros: track_index, clip_index, bars, scale, density
T006-T010: Runtime - Cargar samples reales
T006 - Fix _cmd_load_sample_to_clip - actualmente stub, debe:
- Abrir browser de Ableton
- Navegar a sample_path
- Cargar sample en clip de Session View
- Warpear al BPM del proyecto
T007 - Fix _cmd_load_sample_to_drum_rack_pad - actualmente stub, debe:
- Acceder al Drum Rack en el track
- Cargar sample en el pad correcto (por note number)
- Ajustar envelope si es necesario
T008 - Agregar handler _cmd_load_samples_for_genre:
- Usa
sample_selector.select_for_genre()para obtener samples - Crea tracks: Kick, Snare, HiHats, Bass, Synths
- Carga cada sample en su track correspondiente
- Configura nombres y colores
T009 - Agregar handler _cmd_create_drum_kit:
- Crea Drum Rack en track
- Carga kick, snare, clap, hats en pads
- Retorna mapeo MIDI completo
T010 - Agregar handler _cmd_build_track_from_samples:
- Recibe track_type (kick, snare, bass, etc.)
- Busca sample recomendado con
get_recommended_samples() - Crea track y carga sample
- Configura volumen y paneo
T011-T015: Runtime - Generación completa
T011 - Agregar handler _cmd_generate_full_song:
- Usa
workflow_engine.ProductionWorkflowpara generar config - Para cada track en config:
- Crea track en Ableton
- Genera notas MIDI (dembow, bass, chords, melody)
- Crea clips y escribe notas
- Carga samples si aplica
- Configura routing de buses
- Aplica mezcla
- Retorna resumen completo
T012 - Agregar handler _cmd_generate_track_from_config:
- Recibe TrackConfig JSON
- Crea track con nombre y tipo correcto
- Genera clips con notas
- Carga devices si hay device_chain
T013 - Agregar handler _cmd_generate_section:
- Recibe Section config
- Genera clips para cada track en esa sección
- Aplica variación según energy_level
T014 - Agregar handler _cmd_apply_human_feel_to_track:
- Usa
pattern_library.HumanFeel - Modifica notas existentes en clips del track
- Aplica micro-timing, velocity variation
- Parámetros: track_index, intensity
T015 - Agregar handler _cmd_add_percussion_fills:
- Usa
pattern_library.PercussionLibrary - Añade fills en puntos de transición
- Snare rolls, tom fills, FX hits
T016-T020: Runtime - Mezcla real
T016 - Fix _cmd_create_bus_track - actualmente stub, debe:
- Crear track de grupo
- Configurar output routing correctamente
- Retornar track_index del bus
T017 - Fix _cmd_route_track_to_bus - actualmente stub, debe:
- Cambiar output de track a bus
- Configurar sends si aplica
T018 - Fix _cmd_insert_device - actualmente stub, debe:
- Usar browser API para encontrar device
- Cargar device en cadena del track
- Configurar parámetros iniciales
T019 - Fix _cmd_configure_eq - actualmente stub, debe:
- Insertar EQ Eight si no existe
- Configurar bandas según preset
- Aplicar gains, freqs, Qs
T020 - Fix _cmd_setup_sidechain - actualmente stub, debe:
- Insertar Compressor en target
- Configurar sidechain input desde source
- Ajustar threshold, ratio, attack, release
FASE 2: AUTOMATIZACIÓN Y ARRANGEMENT (T021-T040)
T021-T025: Crear estructura de canción en Arrangement
T021 - Agregar handler _cmd_build_arrangement_structure:
- Crea secciones en Arrangement View
- Intro → Build → Drop → Break → Drop2 → Outro
- Configura loop markers
T022 - Agregar handler _cmd_duplicate_clips_to_arrangement:
- Copia clips de Session View a Arrangement View
- Posiciona cada clip en su sección
- Configura loops
T023 - Agregar handler _cmd_create_arrangement_midi_clip:
- Crea clip MIDI directamente en Arrangement
- Escribe notas
- Configura loop
T024 - Agregar handler _cmd_create_arrangement_audio_clip:
- Crea clip de audio directamente en Arrangement
- Carga sample
- Configura warp markers
T025 - Agregar handler _cmd_fill_arrangement_with_song:
- Pipeline completo:
- Genera config con song_generator
- Crea tracks
- Genera clips MIDI
- Posiciona en Arrangement por secciones
- Aplica human feel
- Configura buses
T026-T030: Automatización real
T026 - Agregar handler _cmd_automate_filter:
- Inserta AutoFilter en track
- Crea automatización de cutoff
- Filter sweep de intro a drop
T027 - Agregar handler _cmd_automate_reverb:
- Inserta Hybrid Reverb en track
- Crea automatización de Dry/Wet
- Más reverb en break, menos en drop
T028 - Agregar handler _cmd_automate_volume:
- Crea automatización de volumen
- Fade in/out por sección
- Builds progresivos
T029 - Agregar handler _cmd_automate_delay:
- Inserta Delay en track
- Crea automatización de feedback
- Delay throws en transiciones
T030 - Agregar handler _cmd_automate_send:
- Automatiza send amount a return track
- Más send en break, menos en drop
T031-T035: Transiciones y FX
T031 - Agregar handler _cmd_create_riser:
- Crea clip de riser en Arrangement
- Automatiza pitch + volume + filter
- Pre-drop tension builder
T032 - Agregar handler _cmd_create_downlifter:
- Crea clip de downlifter
- Automatiza pitch down + reverb
- Post-drop release
T033 - Agregar handler _cmd_create_impact:
- Crea clip de impacto en transición
- Sample de impact FX
- Configura volume envelope
T034 - Agregar handler _cmd_create_silence:
- Crea barra de silencio pre-drop
- Mute momentáneo
- Automatiza unmute en drop
T035 - Agregar handler _cmd_create_fx_automation_section:
- Crea sección completa de FX
- Risers, impacts, silences, sweeps
- Posiciona en Arrangement
T036-T040: Resampleo y processing
T036 - Agregar handler _cmd_resample_track:
- Graba track a nuevo clip de audio
- Configura record routing
- Retorna nuevo clip path
T037 - Agregar handler _cmd_reverse_sample:
- Carga sample, lo revierte
- Guarda como nuevo archivo
- Crea clip con sample revertido
T038 - Agregar handler _cmd_slice_and_rearrange:
- Detecta transients en loop
- Crea slices
- Rearranja slices en nuevo pattern
T039 - Agregar handler _cmd_apply_granular_effect:
- Aplica efecto granular a clip
- Parameters: grain size, density, spread
- Crea texturas atmosféricas
T040 - Agregar handler _cmd_create_ambient_layer:
- Crea track de ambient/pad
- Genera notas largas con chords
- Aplica reverb heavy + delay
FASE 3: INTELIGENCIA MUSICAL AVANZADA (T041-T060)
T041-T045: Análisis y adaptación
T041 - Agregar handler _cmd_analyze_project_key:
- Analiza todas las notas MIDI del proyecto
- Detecta key predominante
- Sugiere correcciones si hay conflicto
T042 - Agregar handler _cmd_harmonize_track:
- Analiza progresión de acordes
- Genera notas armonizadas para track
- 3rds, 5ths, 7ths sobre progresión
T043 - Agregar handler _cmd_generate_counter_melody:
- Usa
MelodyGenerator.generate_counter_melody() - Crea track de contra-melodía
- Complementa melodía principal
T044 - Agregar handler _cmd_detect_energy_curve:
- Analiza energía por sección
- Grafica: intro→build→drop→break
- Sugiere ajustes si no hay contraste
T045 - Agregar handler _cmd_balance_sections:
- Ajusta energía de secciones para mejor flujo
- Intro: 30%, Build: 60%, Drop: 100%, Break: 40%
- Modifica velocity, density, instrumentation
T046-T050: Variación inteligente
T046 - Agregar handler _cmd_variate_loop:
- Toma loop existente
- Genera variación (no idéntico)
- Mantiene groove pero cambia notas
T047 - Agregar handler _cmd_add_call_and_response:
- Analiza frase existente
- Genera respuesta complementaria
- Call: 2 bars, Response: 2 bars
T048 - Agregar handler _cmd_generate_breakdown:
- Crea sección de breakdown
- Strip down a elementos mínimos
- Build up progresivo
T049 - Agregar handler _cmd_generate_drop_variation:
- Crea variación de drop
- Mismo groove, diferente instrumentation
- Drop A vs Drop B
T050 - Agregar handler _cmd_create_outro:
- Genera outro basado en intro
- Fade out progresivo
- Elimina elementos gradualmente
T051-T055: Samples inteligentes
T051 - Agregar handler _cmd_find_and_replace_sample:
- Analiza sample actual en track
- Busca alternativa similar en librería
- Reemplaza manteniendo groove
T052 - Agregar handler _cmd_layer_samples:
- Carga 2+ samples en mismo track
- Layer kick + sub, snare + clap
- Configura volumes y EQ para cada capa
T053 - Agregar handler _cmd_create_sample_chain:
- Encadena samples secuencialmente
- Sample 1 → Sample 2 → Sample 3
- Crea evolución sonora
T054 - Agregar handler _cmd_generate_from_sample:
- Analiza sample (BPM, key, timbre)
- Genera canción completa basada en ese sample
- Todo coherente con el sample
T055 - Agregar handler _cmd_create_vocal_chops:
- Carga sample vocal
- Detecta syllables/transients
- Crea slices mapeadas a Drum Rack
- Genera pattern con chops
T056-T060: Referencia y comparación
T056 - Agregar handler _cmd_match_reference_energy:
- Analiza energía de referencia
- Ajusta mezcla para match
- EQ, compression, limiting
T057 - Agregar handler _cmd_match_reference_spectrum:
- Analiza espectro de referencia
- Ajusta EQ para match tonal
- Balance frequency similar
T058 - Agregar handler _cmd_match_reference_width:
- Analiza stereo width de referencia
- Ajusta imágenes stereo
- Width por frecuencia
T059 - Agregar handler _cmd_generate_similarity_report:
- Compara proyecto vs referencia
- Score por dimensión: BPM, key, energy, spectrum, width
- Sugiere cambios
T060 - Agregar handler _cmd_adapt_to_reference_style:
- Analiza estilo de referencia
- Adapta song structure
- Ajusta instrumentation
FASE 4: WORKFLOW Y PRODUCCIÓN (T061-T080)
T061-T065: Presets y templates
T061 - Crear sistema de presets de canción:
- "reggaeton_classic_95bpm"
- "perreo_intenso_100bpm"
- "reggaeton_romantico_90bpm"
- "moombahton_108bpm"
- Cada preset: BPM, key, structure, samples, mixing
T062 - Agregar handler _cmd_load_preset:
- Carga preset completo
- Crea tracks, samples, mixing
- Ready para personalizar
T063 - Agregar handler _cmd_save_as_preset:
- Guarda configuración actual como preset
- Incluye samples, mixing, structure
- Reutilizable
T064 - Agregar handler _cmd_list_presets:
- Lista presets disponibles
- Muestra detalles de cada uno
T065 - Agregar handler _cmd_create_custom_preset:
- Crea preset desde configuración actual
- Nombre personalizado
- Guarda en directorio de presets
T066-T070: Export y delivery
T066 - Agregar handler _cmd_render_stems:
- Renderiza cada bus como stem separado
- Drums stem, Bass stem, Music stem, FX stem
- Guarda en directorio
T067 - Agregar handler _cmd_render_full_mix:
- Renderiza mezcla completa
- WAV 24-bit/44.1kHz
- Con mastering aplicado
T068 - Agregar handler _cmd_render_instrumental:
- Mutea elementos vocales/melodía
- Renderiza instrumental
- Para DJs o remixes
T069 - Agregar handler _cmd_render_acapella:
- Mutea drums/bass
- Renderiza solo elementos melódicos
- Para mashups
T070 - Agregar handler _cmd_export_stems_and_mix:
- Pipeline completo:
- Renderiza stems
- Renderiza full mix
- Renderiza instrumental
- Genera reporte de loudness
- Guarda todo en carpeta
T071-T075: Calidad y validación
T071 - Agregar handler _cmd_full_quality_check:
- Analiza todo el proyecto
- Clipping, phase, frequency balance
- Coherencia armónica
- Energía por sección
- Repetición excesiva
- Retorna score 0-100
T072 - Agregar handler _cmd_fix_quality_issues:
- Toma reporte de quality check
- Aplica correcciones automáticamente
- EQ, compression, stereo, levels
T073 - Agregar handler _cmd_check_arrangement_coherence:
- Verifica que arreglo tenga sentido
- Intro→Build→Drop→Break→Outro
- Transiciones suaves
- Energía apropiada
T074 - Agregar handler _cmd_check_sample_compatibility:
- Verifica que todos los samples existen
- Samples en key correcta
- BPM compatible
- Sin conflicts de fase
T075 - Agregar handler _cmd_generate_release_notes:
- Genera notas de release
- BPM, key, structure
- Samples usados
- Mixing notes
- Loudness stats
T076-T080: Productividad
T076 - Agregar handler _cmd_duplicate_project:
- Duplica proyecto actual
- Renombra tracks
- Ready para variación
T077 - Agregar handler _cmd_create_remix_version:
- Toma proyecto existente
- Cambia estilo/structure
- Mantiene elementos core
- Nueva versión
T078 - Agregar handler _cmd_create_radio_edit:
- Versión acortada (3:00)
- Intro más corta
- Outro fade
- Optimizada para radio
T079 - Agregar handler _cmd_create_dj_edit:
- Versión extendida para DJs
- Intro con drums solo (16 bars)
- Outro con drums solo (16 bars)
- Clean transitions
T080 - Agregar handler _cmd_create_instrumental_version:
- Mutea melodías/vocals
- Mantiene drums + bass
- Versión instrumental completa
FASE 5: INTEGRACIÓN FINAL (T081-T100)
T081-T085: Pipeline completo de un comando
T081 - Agregar MCP tool produce_reggaeton(bpm, key, style):
- UN comando que hace TODO:
- Analiza librería (si no cacheada)
- Genera config con song_generator
- Crea tracks en Ableton
- Carga samples reales
- Genera notas MIDI
- Crea clips en Session View
- Configura buses y routing
- Aplica mezcla
- Configura sidechain
- Retorna resumen completo
T082 - Agregar MCP tool produce_from_reference(audio_path):
- Analiza referencia
- Genera canción similar
- Pipeline completo como T081
T083 - Agregar MCP tool produce_arrangement(bpm, key, style):
- Como T081 pero en Arrangement View
- Clips posicionados en tiempo
- Automatización incluida
T084 - Agregar MCP tool complete_production(bpm, key, style, output_dir):
- Pipeline T081 + renderizado
- Exporta stems + full mix
- Genera release notes
- Retorna paths de archivos
T085 - Agregar MCP tool batch_produce(count, style, bpm_range, key_range):
- Genera múltiples canciones
- Variación automática
- Cada una única
- Para álbumes o EPs
T086-T090: Features avanzadas
T086 - Soporte para múltiples progresiones armónicas en una canción T087 - Modulación de key entre secciones T088 - Polyrhythms y tiempo compuesto T089 - Generación de lyrics/vocal melodies (estructura, no audio) T090 - Integración con hardware (MIDI controllers, APC40)
T091-T095: Optimización y performance
T091 - Caché inteligente: solo re-analiza samples nuevos T092 - Procesamiento paralelo para análisis de librería T093 - Lazy loading de engines (solo cuando se necesitan) T094 - Optimización de memoria (511 samples con embeddings = ~500MB) T095 - Progress reporting detallado para operaciones largas
T096-T100: Documentación y UX
T096 - Agregar help() tool - retorna lista de todas las tools con descripción
T097 - Agregar get_workflow_status() - retorna estado actual del proyecto
T098 - Agregar undo() / redo() - sistema de undo/redo
T099 - Agregar save_checkpoint() - guarda estado para recovery
T100 - Agregar get_production_report() - reporte completo de producción
PRIORIDAD DE EJECUCIÓN
Bloque 1 (CRÍTICO - sin esto no hay producción real):
T001-T020: Puente Engines → Ableton Esto es LO MÁS IMPORTANTE. Sin esto, todo lo demás es teórico.
Bloque 2 (Alta - sin esto no hay canción completa):
T021-T040: Arrangement y automatización
Bloque 3 (Media - calidad profesional):
T041-T060: Inteligencia musical avanzada
Bloque 4 (Media - workflow):
T061-T080: Presets, export, validación
Bloque 5 (Baja - integración final):
T081-T100: Pipeline de un comando, features avanzadas
RESTRICCIONES
- NO tocar
libreria/- solo lectura - Compilar después de cada archivo:
python -m py_compile "<path>" - Cada MCP tool retorna JSON válido con status + result/error
- Mantener compatibilidad con 62 tools existentes
- Usar engines del Sprint 1 y 2 - no reimplementar
- Paths absolutos de Windows en todo
ARCHIVOS A MODIFICAR/CREAR
Modificar:
AbletonMCP_AI/__init__.py- Agregar 60+ handlers nuevosmcp_server/server.py- Agregar 40+ nuevas tools MCPmcp_server/engines/__init__.py- Agregar exports nuevos
Crear:
mcp_server/engines/harmony_engine.py- T041-T050 (inteligencia armónica)mcp_server/engines/arrangement_engine.py- T021-T040 (arrangement y automation)mcp_server/engines/preset_system.py- T061-T065 (presets y templates)
Cuando termines, avisale a Qwen. Él va a: compilar, probar, arreglar bugs, verificar end-to-end, y crear el Sprint 4.
Este sprint transforma el sistema de "genera configs" a "produce canciones reales en Ableton".