- 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
20 KiB
TROUBLESHOOTING - AbletonMCP_AI
Guia de solucion de problemas para el sistema AbletonMCP_AI.
Tabla de Contenidos
- Diagnosticos Iniciales
- Problemas deConexion con Ableton
- Problemas de Carga de Samples
- Problemas de Clips
- Problemas de Generacion Musical
- Problemas de Mezcla
- Problemas de Export/Render
- Mensajes de Error Comunes
- Como Reiniciar el Sistema Correctamente
- Log de Ableton Live
- 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):
{
"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:
{
"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:
- Verificar que Ableton Live esta abierto
- Verificar que el Remote Script
AbletonMCP_AIesta seleccionado en Preferences > Control Surfaces - 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:
{
"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:
-
Verificar que Ableton Live esta abierto
- Mirar en el administrador de tareas que
Ableton Live 12 Suite.exeesta corriendo.
- Mirar en el administrador de tareas que
-
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"
- En Ableton:
-
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
-
Verificar el puerto 9877:
netstat -an | findstr 9877Deberia mostrar una linea con
LISTENINGen127.0.0.1:9877. -
Revisar el log de Ableton:
Get-Content "C:\Users\ren\AppData\Roaming\Ableton\Live 12.0.15\Preferences\Log.txt" -Tail 120Buscar errores que mencionen "AbletonMCP_AI" o "socket".
Sintoma: Los comandos tardan mucho (timeout)
Causa: Ableton esta ocupado o el Remote Script esta bloqueado.
Solucion:
- Verificar que Ableton no esta renderizando o procesando algo pesado
- Detener reproduccion:
stop_playback() - Detener todos los clips:
stop_all_clips() - Esperar 10 segundos y reintentar
- 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:
- Identificar cual chequeo fallo en la respuesta de
health_check() - Si es "TCP Server": Reiniciar el Remote Script
- Si es "Song": Cerrar y reabrir el proyecto en Ableton
- Si es "Tracks": Verificar que hay al menos una pista en el proyecto
- Si es "Browser": Problema con el navegador de samples. Reiniciar Ableton.
- 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:
-
Verificar que el archivo existe:
Test-Path "C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\libreria\reggaeton\kick\kick_01.wav" -
Si no existe, usar
browse_library()para encontrar samples disponibles:Command: browse_library(role="kick") -
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:
-
Verificar volumen de la pista:
Command: get_tracks()Buscar el volumen del track donde se cargo el sample.
-
Desmutear la pista si es necesario:
Command: set_track_mute(track_index=N, mute=False) -
Subir el volumen:
Command: set_track_volume(track_index=N, volume=0.8) -
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:
-
Verificar cuantos archivos hay en la libreria:
(Get-ChildItem "C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\libreria\reggaeton" -Recurse -Include *.wav,*.mp3,*.aif,*.flac).Count -
Si son mas de 1000 archivos, es normal que tarde 5-15 minutos. Usar
force_reanalyze=Falsepara usar cache. -
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:
-
Verificar que las pistas existen:
Command: get_tracks() -
Verificar el indice de pista: Los indices son 0-based. La primera pista es indice 0.
-
Si la pista no existe, crearla:
Command: create_midi_track(index=-1) # para MIDI Command: create_audio_track(index=-1) # para audio -
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:
-
Verificar que el clip tiene notas (si es MIDI):
Command: get_tracks()Buscar la pista y verificar que tiene clips con contenido.
-
Verificar que la pista no esta muteada:
Command: set_track_mute(track_index=N, mute=False) -
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.
-
Para clips de audio, verificar que el sample se cargo correctamente:
- Usar
load_sample_to_clip()con una ruta valida.
- Usar
Sintoma: add_notes_to_clip() falla
Causa: El clip no existe o el formato de las notas es incorrecto.
Solucion:
-
Verificar que el clip existe primero:
Command: create_clip(track_index=0, clip_index=0, length=4.0) -
Verificar el formato de las notas:
{ "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 clipduration: Duracion en beatsvelocity: 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:
-
Verificar estado del sistema primero:
Command: health_check()Si el score es menor a 4/5, reiniciar antes de continuar.
-
Verificar que la libreria esta analizada:
Command: get_library_stats()Si no hay datos, ejecutar
analyze_library()primero. -
Probar con parametros mas simples:
Command: produce_reggaeton(bpm=95, key="Am", style="classic", structure="verse-chorus") -
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:
-
Crear la pista MIDI si no existe:
Command: create_midi_track(index=-1) -
Crear el clip antes de generar:
Command: create_clip(track_index=N, clip_index=0, length=4.0) -
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:
-
Verificar que la pista tiene un instrumento cargado:
Command: get_tracks() -
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)
-
Para bass, usar un sintetizador de bajo:
- Las notas estan en el rango de C1-C2 (notas 36-48).
-
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:
-
Verificar los efectos disponibles:
- REVERB, DELAY, CHORUS, FLANGER, PHASER, COMPRESSOR, EQ
-
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:
-
Verificar que ambas pistas existen:
Command: get_tracks() -
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.
-
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:
-
Verificar que hay pistas en el proyecto:
Command: get_tracks() -
Verificar que las pistas tienen contenido (clips):
- Sin clips, no hay senal para medir.
-
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:
-
Verificar que el directorio existe:
Test-Path "C:\Users\ren\Desktop\stems\" -
Crear el directorio si no existe:
New-Item -ItemType Directory -Path "C:\Users\ren\Desktop\stems\" -Force -
Verificar que hay contenido para renderizar:
- El proyecto debe tener pistas con clips.
- Usar
get_project_summary()para verificar.
-
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:
-
Verificar la duracion del proyecto:
Command: get_project_summary() -
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.
-
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-Patho usarbrowse_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/reggaetonexiste y tiene samples. Ejecutaranalyze_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)
-
En Ableton Live:
- Ir a
Options > Preferences > Link/Tempo/MIDI - En "Control Surfaces", cambiar
AbletonMCP_AIaNone - Esperar 2-3 segundos
- Volver a seleccionar
AbletonMCP_AI - Esperar 5-10 segundos
- Ir a
-
Verificar la conexion:
Command: health_check()Deberia devolver score 5/5.
-
Verificar el estado del proyecto:
Command: get_session_info()
Reinicio Completo (cerrando Ableton)
-
Guardar el proyecto en Ableton
File > SaveoCtrl+S
-
Cerrar Ableton Live
-
Esperar 5 segundos
-
Abrir Ableton Live de nuevo
-
Abrir el proyecto
File > Open Recento navegar al archivo.als
-
Verificar que el Remote Script esta seleccionado:
Options > Preferences > Link/Tempo/MIDI- Asegurarse de que
AbletonMCP_AIesta seleccionado
-
Esperar 10-15 segundos a que el Remote Script se inicialice
-
Ejecutar diagnosticos:
Command: health_check() Command: get_session_info()
Reinicio del Servidor MCP
-
Detener el servidor MCP actual (Ctrl+C en la terminal donde corre)
-
Reiniciar el servidor:
python "C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\mcp_wrapper.py" --transport stdio -
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
# 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:
- TCP Server - Verifica conexion al puerto 9877
- Song - Verifica que la cancion es accesible
- Tracks - Verifica que las pistas son accesibles
- Browser - Verifica que el navegador de samples es accesible
- 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:
-
Recolectar informacion:
- Resultado de
health_check() - Ultimas 200 lineas del log de Ableton
- Descripcion detallada del problema
- Pasos que se intentaron
- Resultado de
-
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)