# TROUBLESHOOTING - AbletonMCP_AI > Guia de solucion de problemas para el sistema AbletonMCP_AI. ## Tabla de Contenidos 1. [Diagnosticos Iniciales](#diagnosticos-iniciales) 2. [Problemas deConexion con Ableton](#problemas-de-conexion-con-ableton) 3. [Problemas de Carga de Samples](#problemas-de-carga-de-samples) 4. [Problemas de Clips](#problemas-de-clips) 5. [Problemas de Generacion Musical](#problemas-de-generacion-musical) 6. [Problemas de Mezcla](#problemas-de-mezcla) 7. [Problemas de Export/Render](#problemas-de-exportrender) 8. [Mensajes de Error Comunes](#mensajes-de-error-comunes) 9. [Como Reiniciar el Sistema Correctamente](#como-reiniciar-el-sistema-correctamente) 10. [Log de Ableton Live](#log-de-ableton-live) 11. [Herramientas de Diagnostico](#herramientas-de-diagnostico) --- ## Diagnosticos Iniciales ### Primer Paso: health_check() **SIEMPRE** ejecutar este comando primero al abrir Ableton o despues de cualquier problema: ``` Command: health_check() ``` **Resultado esperado (sistema sano):** ```json { "score": "5/5", "status": "HEALTHY", "checks": [ "[OK] TCP Server: Connected on port 9877", "[OK] Song: Accessible", "[OK] Tracks: Accessible", "[OK] Browser: Accessible", "[OK] Update Display: Drain loop active" ], "recommendation": "System is healthy. Ready for production." } ``` **Interpretacion de scores:** - **5/5**: Sistema completamente funcional. Proceder con produccion. - **4/5**: Un chequeo fallido. Generalmente no critico. Ver cual fallo. - **3/5**: Dos chequeos fallidos. Posible problema de conectividad. Reiniciar Remote Script. - **2/5 o menos**: Sistema no funcional. Reiniciar Required. ### Segundo Paso: get_session_info() Verificar que Ableton responde correctamente: ``` Command: get_session_info() ``` **Resultado esperado:** ```json { "tempo": 120, "num_tracks": 3, "num_scenes": 2, "is_playing": false, "current_song_time": 0.0, "metronome": false, "master_volume": 0.8 } ``` **Si este comando falla o tarda mas de 10 segundos:** 1. Verificar que Ableton Live esta abierto 2. Verificar que el Remote Script `AbletonMCP_AI` esta seleccionado en Preferences > Control Surfaces 3. Revisar el log de Ableton (ver seccion Log mas abajo) ### Tercer Paso: get_system_diagnostics() Para un diagnostico mas detallado: ``` Command: get_memory_usage() ``` **Resultado esperado:** ```json { "process_memory_mb": 250.5, "process_memory_percent": 2.3, "system_total_mb": 16384, "system_available_mb": 8192, "system_percent_used": 50, "live_processes": 1 } ``` **Si `live_processes` es 0:** Ableton no esta corriendo. Abrirlo. **Si `system_percent_used` > 90%:** Memoria insuficiente. Cerrar otras aplicaciones. --- ## Problemas de Conexion con Ableton ### Sintoma: "Cannot connect to Ableton on 127.0.0.1:9877" **Causa:** El Remote Script no esta cargado o el servidor TCP no esta escuchando. **Solucion:** 1. **Verificar que Ableton Live esta abierto** - Mirar en el administrador de tareas que `Ableton Live 12 Suite.exe` esta corriendo. 2. **Verificar que el Remote Script esta seleccionado:** - En Ableton: `Options > Preferences > Link/Tempo/MIDI` - En la seccion "Control Surfaces", buscar "AbletonMCP_AI" - Asegurarse de que esta seleccionado (no en "None") - El puerto de entrada debe estar en "On" 3. **Reiniciar el Remote Script:** - Cambiar el Control Surface a "None" - Esperar 2 segundos - Volver a seleccionar "AbletonMCP_AI" - Esperar 5 segundos - Ejecutar `health_check()` de nuevo 4. **Verificar el puerto 9877:** ```powershell netstat -an | findstr 9877 ``` Deberia mostrar una linea con `LISTENING` en `127.0.0.1:9877`. 5. **Revisar el log de Ableton:** ```powershell Get-Content "C:\Users\ren\AppData\Roaming\Ableton\Live 12.0.15\Preferences\Log.txt" -Tail 120 ``` Buscar errores que mencionen "AbletonMCP_AI" o "socket". ### Sintoma: Los comandos tardan mucho (timeout) **Causa:** Ableton esta ocupado o el Remote Script esta bloqueado. **Solucion:** 1. **Verificar que Ableton no esta renderizando o procesando algo pesado** 2. **Detener reproduccion:** `stop_playback()` 3. **Detener todos los clips:** `stop_all_clips()` 4. **Esperar 10 segundos y reintentar** 5. **Si persiste, reiniciar el Remote Script** (pasos arriba) ### Sintoma: `health_check()` devuelve score 3/5 o menos **Causa:** Uno o mas componentes del sistema no responden. **Solucion:** 1. Identificar cual chequeo fallo en la respuesta de `health_check()` 2. Si es "TCP Server": Reiniciar el Remote Script 3. Si es "Song": Cerrar y reabrir el proyecto en Ableton 4. Si es "Tracks": Verificar que hay al menos una pista en el proyecto 5. Si es "Browser": Problema con el navegador de samples. Reiniciar Ableton. 6. Si es "Update Display": El bucle de actualizacion esta colgado. Reiniciar Remote Script. --- ## Problemas de Carga de Samples ### Sintoma: "Sample not found: C:\...\sample.wav" **Causa:** El archivo no existe en la ruta especificada. **Solucion:** 1. **Verificar que el archivo existe:** ```powershell Test-Path "C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\libreria\reggaeton\kick\kick_01.wav" ``` 2. **Si no existe, usar `browse_library()` para encontrar samples disponibles:** ``` Command: browse_library(role="kick") ``` 3. **Verificar que la libreria esta analizada:** ``` Command: get_library_stats() ``` Si devuelve 0 archivos, ejecutar `analyze_library()` primero. ### Sintoma: Los samples se cargan pero no suenan **Causa:** Posiblemente el volumen de la pista esta en 0 o la pista esta muteada. **Solucion:** 1. **Verificar volumen de la pista:** ``` Command: get_tracks() ``` Buscar el volumen del track donde se cargo el sample. 2. **Desmutear la pista si es necesario:** ``` Command: set_track_mute(track_index=N, mute=False) ``` 3. **Subir el volumen:** ``` Command: set_track_volume(track_index=N, volume=0.8) ``` 4. **Verificar que el sample tiene contenido de audio:** - Algunos samples pueden estar vacios o corruptos. - Probar con otro sample del mismo rol. ### Sintoma: `analyze_library()` tarda demasiado o falla **Causa:** Libreria muy grande o problema con algunos archivos de audio. **Solucion:** 1. **Verificar cuantos archivos hay en la libreria:** ```powershell (Get-ChildItem "C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\libreria\reggaeton" -Recurse -Include *.wav,*.mp3,*.aif,*.flac).Count ``` 2. **Si son mas de 1000 archivos, es normal que tarde 5-15 minutos.** Usar `force_reanalyze=False` para usar cache. 3. **Si falla con un error especifico:** - Revisar el mensaje de error para identificar el archivo problematico - Eliminar o mover el archivo corrupto - Reintentar con `force_reanalyze=True` --- ## Problemas de Clips ### Sintoma: Los clips no aparecen en Ableton **Causa:** Posiblemente la pista no existe o el indice es incorrecto. **Solucion:** 1. **Verificar que las pistas existen:** ``` Command: get_tracks() ``` 2. **Verificar el indice de pista:** Los indices son 0-based. La primera pista es indice 0. 3. **Si la pista no existe, crearla:** ``` Command: create_midi_track(index=-1) # para MIDI Command: create_audio_track(index=-1) # para audio ``` 4. **Despues de crear un clip, verificar con `get_tracks()`:** - Los clips deben aparecer en la seccion de la pista correspondiente. ### Sintoma: `fire_clip()` no reproduce el clip **Causa:** El clip puede estar vacio o la pista muteada. **Solucion:** 1. **Verificar que el clip tiene notas (si es MIDI):** ``` Command: get_tracks() ``` Buscar la pista y verificar que tiene clips con contenido. 2. **Verificar que la pista no esta muteada:** ``` Command: set_track_mute(track_index=N, mute=False) ``` 3. **Para clips MIDI, verificar que tienen notas:** - Si se creo el clip pero no se le aniadieron notas, estarĂ¡ vacio. - Usar `generate_dembow_clip()`, `generate_bass_clip()`, etc. para generar contenido. 4. **Para clips de audio, verificar que el sample se cargo correctamente:** - Usar `load_sample_to_clip()` con una ruta valida. ### Sintoma: `add_notes_to_clip()` falla **Causa:** El clip no existe o el formato de las notas es incorrecto. **Solucion:** 1. **Verificar que el clip existe primero:** ``` Command: create_clip(track_index=0, clip_index=0, length=4.0) ``` 2. **Verificar el formato de las notas:** ```json { "track_index": 0, "clip_index": 0, "notes": [ {"pitch": 36, "start_time": 0.0, "duration": 0.25, "velocity": 100}, {"pitch": 42, "start_time": 0.5, "duration": 0.25, "velocity": 80} ] } ``` - `pitch`: MIDI note number (0-127, 60=C4) - `start_time`: Tiempo en beats desde el inicio del clip - `duration`: Duracion en beats - `velocity`: Velocidad (1-127) --- ## Problemas de Generacion Musical ### Sintoma: `produce_reggaeton()` falla o devuelve error **Causa:** Posiblemente el engine de produccion no esta disponible o Ableton no responde. **Solucion:** 1. **Verificar estado del sistema primero:** ``` Command: health_check() ``` Si el score es menor a 4/5, reiniciar antes de continuar. 2. **Verificar que la libreria esta analizada:** ``` Command: get_library_stats() ``` Si no hay datos, ejecutar `analyze_library()` primero. 3. **Probar con parametros mas simples:** ``` Command: produce_reggaeton(bpm=95, key="Am", style="classic", structure="verse-chorus") ``` 4. **Si persiste el error, revisar el mensaje especifico:** - "Production workflow engine not available": Problema con el engine. Reiniciar el servidor MCP. - "Failed to create track": Ableton no responde. Reiniciar Remote Script. ### Sintoma: `generate_dembow_clip()` no genera notas **Causa:** La pista no existe o no es una pista MIDI. **Solucion:** 1. **Crear la pista MIDI si no existe:** ``` Command: create_midi_track(index=-1) ``` 2. **Crear el clip antes de generar:** ``` Command: create_clip(track_index=N, clip_index=0, length=4.0) ``` 3. **Luego generar el dembow:** ``` Command: generate_dembow_clip(track_index=N, clip_index=0, bars=4, variation="standard") ``` ### Sintoma: Las notas MIDI generadas suenan mal o fuera de tono **Causa:** El instrumento en la pista no coincide con el tipo de notas generadas. **Solucion:** 1. **Verificar que la pista tiene un instrumento cargado:** ``` Command: get_tracks() ``` 2. **Para drums, usar un Drum Rack en la pista:** - La pista de drums debe tener un Drum Rack con samples en los pads correctos. - Nota 36 = Kick (C1) - Nota 38 = Snare (D1) - Nota 42 = Closed Hat (F#1) 3. **Para bass, usar un sintetizador de bajo:** - Las notas estan en el rango de C1-C2 (notas 36-48). 4. **Para acordes, usar un sintetizador o piano:** - Las notas estan en rango de C3-C5 (notas 60-84). --- ## Problemas de Mezcla ### Sintoma: `create_return_track()` falla **Causa:** El tipo de efecto no es valido o Ableton no responde. **Solucion:** 1. **Verificar los efectos disponibles:** - REVERB, DELAY, CHORUS, FLANGER, PHASER, COMPRESSOR, EQ 2. **Usar un nombre valido:** ``` Command: create_return_track(effect_type="Reverb") ``` ### Sintoma: `setup_sidechain()` no funciona **Causa:** Las pistas no existen o no tienen los dispositivos correctos. **Solucion:** 1. **Verificar que ambas pistas existen:** ``` Command: get_tracks() ``` 2. **Verificar que la pista target tiene un compresor:** - El sidechain requiere un compresor en la pista target. - Usar `configure_compressor()` primero si no tiene uno. 3. **Configurar sidechain:** ``` Command: setup_sidechain(source_track=0, target_track=1, amount=0.5) ``` ### Sintoma: `auto_gain_staging()` no ajusta nada **Causa:** No hay pistas configuradas o las pistas ya tienen niveles adecuados. **Solucion:** 1. **Verificar que hay pistas en el proyecto:** ``` Command: get_tracks() ``` 2. **Verificar que las pistas tienen contenido (clips):** - Sin clips, no hay senal para medir. 3. **Ejecutar de nuevo:** ``` Command: auto_gain_staging() ``` --- ## Problemas de Export/Render ### Sintoma: `render_stems()` no produce archivos **Causa:** El directorio de salida no existe o Ableton no puede renderizar. **Solucion:** 1. **Verificar que el directorio existe:** ```powershell Test-Path "C:\Users\ren\Desktop\stems\" ``` 2. **Crear el directorio si no existe:** ```powershell New-Item -ItemType Directory -Path "C:\Users\ren\Desktop\stems\" -Force ``` 3. **Verificar que hay contenido para renderizar:** - El proyecto debe tener pistas con clips. - Usar `get_project_summary()` para verificar. 4. **Ejecutar render:** ``` Command: render_stems(output_dir="C:\\Users\\ren\\Desktop\\stems\\mi_track\\") ``` ### Sintoma: `render_full_mix()` tarda demasiado **Causa:** El proyecto es largo o el sistema esta lento. **Solucion:** 1. **Verificar la duracion del proyecto:** ``` Command: get_project_summary() ``` 2. **El render puede tardar 1-5 minutos dependiendo de la duracion del proyecto.** - Timeout por defecto: 120 segundos. - Si tarda mas, puede ser un problema de rendimiento. 3. **Cerrar otras aplicaciones para liberar recursos.** --- ## Mensajes de Error Comunes ### "Cannot connect to Ableton on 127.0.0.1:9877" - **Significado:** El servidor TCP de Ableton no esta escuchando. - **Solucion:** Reiniciar el Remote Script en Ableton Preferences. ### "Command 'xxx' timed out after Xs" - **Significado:** Ableton no respondio dentro del tiempo limite. - **Solucion:** Ableton puede estar ocupado. Esperar y reintentar. Si persiste, reiniciar Remote Script. ### "Sample not found: ..." - **Significado:** El archivo de audio no existe en la ruta especificada. - **Solucion:** Verificar la ruta con `Test-Path` o usar `browse_library()` para encontrar samples validos. ### "Production workflow engine not available" - **Significado:** El motor de produccion no se pudo importar. - **Solucion:** Reiniciar el servidor MCP. Verificar que los archivos del engine existen en `mcp/engines/`. ### "Sample selector engine not available" - **Significado:** El motor de seleccion de samples no esta disponible. - **Solucion:** Verificar que la libreria `libreria/reggaeton` existe y tiene samples. Ejecutar `analyze_library()`. ### "Invalid tempo: X. Must be 20-300 BPM" - **Significado:** El tempo esta fuera del rango valido. - **Solucion:** Usar un valor entre 20 y 300. Para reggaeton, usar 88-112. ### "Invalid volume: X. Must be 0.0-1.0" - **Significado:** El volumen esta fuera del rango valido. - **Solucion:** Usar un valor entre 0.0 y 1.0. ### "Invalid pan: X. Must be -1.0 to 1.0" - **Significado:** El paneo esta fuera del rango valido. - **Solucion:** -1.0 = izquierda total, 0.0 = centro, 1.0 = derecha total. ### "Failed to create track" - **Significado:** Ableton no pudo crear la pista. - **Solucion:** Verificar que Ableton responde correctamente con `get_session_info()`. Reiniciar Remote Script si es necesario. ### "Unknown error" - **Significado:** Error no especificado. Puede ser cualquier cosa. - **Solucion:** Ejecutar `health_check()` para diagnosticar. Revisar el log de Ableton. --- ## Como Reiniciar el Sistema Correctamente ### Reinicio del Remote Script (sin cerrar Ableton) 1. **En Ableton Live:** - Ir a `Options > Preferences > Link/Tempo/MIDI` - En "Control Surfaces", cambiar `AbletonMCP_AI` a `None` - Esperar 2-3 segundos - Volver a seleccionar `AbletonMCP_AI` - Esperar 5-10 segundos 2. **Verificar la conexion:** ``` Command: health_check() ``` Deberia devolver score 5/5. 3. **Verificar el estado del proyecto:** ``` Command: get_session_info() ``` ### Reinicio Completo (cerrando Ableton) 1. **Guardar el proyecto en Ableton** - `File > Save` o `Ctrl+S` 2. **Cerrar Ableton Live** 3. **Esperar 5 segundos** 4. **Abrir Ableton Live de nuevo** 5. **Abrir el proyecto** - `File > Open Recent` o navegar al archivo `.als` 6. **Verificar que el Remote Script esta seleccionado:** - `Options > Preferences > Link/Tempo/MIDI` - Asegurarse de que `AbletonMCP_AI` esta seleccionado 7. **Esperar 10-15 segundos a que el Remote Script se inicialice** 8. **Ejecutar diagnosticos:** ``` Command: health_check() Command: get_session_info() ``` ### Reinicio del Servidor MCP 1. **Detener el servidor MCP actual** (Ctrl+C en la terminal donde corre) 2. **Reiniciar el servidor:** ```powershell python "C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\mcp_wrapper.py" --transport stdio ``` 3. **Verificar la conexion desde el agente:** ``` Command: ping() ``` --- ## Log de Ableton Live El log de Ableton es la fuente principal de informacion sobre errores del Remote Script. ### Ubicacion del Log ``` C:\Users\ren\AppData\Roaming\Ableton\Live 12.0.15\Preferences\Log.txt ``` ### Como leer el log ```powershell # Ver las ultimas 120 lineas Get-Content "C:\Users\ren\AppData\Roaming\Ableton\Live 12.0.15\Preferences\Log.txt" -Tail 120 # Buscar errores especificos de AbletonMCP_AI Get-Content "C:\Users\ren\AppData\Roaming\Ableton\Live 12.0.15\Preferences\Log.txt" | Select-String "AbletonMCP" # Buscar errores de socket Get-Content "C:\Users\ren\AppData\Roaming\Ableton\Live 12.0.15\Preferences\Log.txt" | Select-String "socket" ``` ### Mensajes normales en el log ``` AbletonMCP_AI: Starting Remote Script AbletonMCP_AI: TCP server listening on port 9877 AbletonMCP_AI: Connected client from 127.0.0.1 AbletonMCP_AI: Command received: get_session_info AbletonMCP_AI: Response sent successfully ``` ### Mensajes de error en el log ``` AbletonMCP_AI: ERROR - Failed to bind to port 9877 AbletonMCP_AI: ERROR - Connection refused AbletonMCP_AI: ERROR - Invalid command: xxx AbletonMCP_AI: ERROR - Exception in command handler: ... ``` --- ## Herramientas de Diagnostico ### `health_check()` - Verificacion Principal Ejecuta 5 chequeos automaticos: 1. **TCP Server** - Verifica conexion al puerto 9877 2. **Song** - Verifica que la cancion es accesible 3. **Tracks** - Verifica que las pistas son accesibles 4. **Browser** - Verifica que el navegador de samples es accesible 5. **Update Display** - Verifica que el bucle de actualizacion esta activo ### `get_memory_usage()` - Uso de Memoria Requiere `psutil` instalado. Muestra: - Memoria del proceso Python - Memoria total del sistema - Memoria disponible - Numero de procesos de Ableton activos ### `get_progress_report()` - Progreso del Proyecto Muestra: - Porcentaje de completitud del proyecto - Fases completadas - Fase actual - Tareas hechas vs total - Tiempo invertido - Hitos alcanzados ### `full_quality_check()` - Verificacion de Calidad Analiza: - Niveles de volumen - Balance de frecuencias - Imagen estereo - Coherencia de fase - Rango dinamico - Conflictos de frecuencia - Headroom disponible ### `validate_project()` - Validacion General Verifica: - Consistencia del proyecto - Mejores practicas - Problemas potenciales - Puntuacion general --- ## Resumen de Acciones Rapidas | Problema | Accion Rapida | |----------|--------------| | No conecta | Reiniciar Remote Script en Preferences | | Timeouts | `stop_playback()` + `stop_all_clips()` + esperar 10s | | Samples no cargan | Verificar ruta con `Test-Path` | | Clips vacios | Verificar que tienen notas/audio | | No suena | Verificar volumen y mute de pistas | | Error desconocido | `health_check()` + revisar log | | Sistema lento | `get_memory_usage()` + cerrar apps | | Render falla | Verificar directorio de salida existe | --- ## Contacto y Soporte Si ningun paso de troubleshooting resuelve el problema: 1. **Recolectar informacion:** - Resultado de `health_check()` - Ultimas 200 lineas del log de Ableton - Descripcion detallada del problema - Pasos que se intentaron 2. **Verificar versiones:** - Version de Ableton Live (debe ser 12 Suite) - Version de Python (debe ser 3.10+) - Version del Remote Script (ver en `__init__.py`)