Initial commit: AbletonMCP-AI complete system
- MCP Server with audio fallback, sample management - Song generator with bus routing - Reference listener and audio resampler - Vector-based sample search - Master chain with limiter and calibration - Fix: Audio fallback now works without M4L - Fix: Full song detection in sample loader Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
107
AbletonMCP_AI_BAK_20260328_200801/load_samples.py
Normal file
107
AbletonMCP_AI_BAK_20260328_200801/load_samples.py
Normal file
@@ -0,0 +1,107 @@
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
Script para cargar samples en Ableton MCP AI
|
||||
Este script guía al usuario para cargar samples manualmente o usa el browser
|
||||
"""
|
||||
import os
|
||||
|
||||
# Configuración de samples
|
||||
SAMPLES_CONFIG = {
|
||||
"kick": r"C:\Users\ren\embeddings\all_tracks\BBH - Primer Impacto - Kick 1.wav",
|
||||
"clap": r"C:\Users\ren\embeddings\all_tracks\MT Clap & Snare Hit 05.wav",
|
||||
"hat": r"C:\Users\ren\embeddings\all_tracks\BBH - Primer Impacto - Closed Hat 3.wav",
|
||||
"bass": r"C:\Users\ren\embeddings\all_tracks\MT_Bass Loop 04 F 125.wav",
|
||||
}
|
||||
|
||||
def generate_instrument_setup_guide():
|
||||
"""Genera instrucciones detalladas para cargar samples"""
|
||||
|
||||
guide = """
|
||||
╔══════════════════════════════════════════════════════════════════╗
|
||||
║ CONFIGURACIÓN DE INSTRUMENTOS - HOUSE 90s ║
|
||||
╚══════════════════════════════════════════════════════════════════╝
|
||||
|
||||
Para que suene tu track, necesitas cargar instrumentos en cada track MIDI.
|
||||
|
||||
🥁 TRACK 0 - KICK (Rojo):
|
||||
1. Arrastra "Drum Rack" del browser al track
|
||||
2. Arrastra tu sample de kick al pad C1 (nota 36)
|
||||
3. Ajusta volumen a -3dB
|
||||
|
||||
👏 TRACK 1 - CLAP (Naranja):
|
||||
1. Mismo Drum Rack o uno nuevo
|
||||
2. Arrastra sample de clap/snare al pad D2 (nota 50)
|
||||
3. Volumen a -6dB
|
||||
|
||||
🎩 TRACK 2 - HIHAT (Amarillo):
|
||||
1. Drum Rack
|
||||
2. Sample de closed hat al pad F#1 (nota 42)
|
||||
3. Volumen a -12dB
|
||||
|
||||
🎸 TRACK 3 - BASS (Azul):
|
||||
Opción A (Sampler):
|
||||
1. Arrastra "Simpler" al track
|
||||
2. Arrastra loop de bass (MT_Bass Loop 04 F 125.wav)
|
||||
3. Ajusta para que C3 dispare el sample
|
||||
|
||||
Opción B (Synth):
|
||||
1. Carga "Operator"
|
||||
2. Preset "Sub Bass" o "Funky Bass"
|
||||
3. Ajusta envolvente: Attack 5ms, Decay 200ms, Sustain 80%
|
||||
|
||||
🎹 TRACK 4 - CHORDS (Purpura):
|
||||
1. Carga "Wavetable" o "Analog"
|
||||
2. Preset "House Chords", "Chord Stab" o "Vintage Keys"
|
||||
3. Añade reverb (Return A) al 20%
|
||||
|
||||
═══════════════════════════════════════════════════════════════════
|
||||
|
||||
📁 SAMPLES RECOMENDADOS DE TU LIBRERÍA:
|
||||
|
||||
Kick: BBH - Primer Impacto - Kick 1.wav
|
||||
Clap: MT Clap & Snare Hit 05.wav
|
||||
Hat: BBH - Primer Impacto - Closed Hat 3.wav
|
||||
Bass: MT_Bass Loop 04 F 125.wav
|
||||
|
||||
═══════════════════════════════════════════════════════════════════
|
||||
|
||||
⚡ ATAJO RÁPIDO:
|
||||
Si tienes Drum Rack presets guardados:
|
||||
1. Busca en el browser: "Drums > Drum Rack"
|
||||
2. Arrastra a cada track de drums
|
||||
3. Los clips MIDI ya están programados y sonarán automáticamente
|
||||
|
||||
═══════════════════════════════════════════════════════════════════
|
||||
"""
|
||||
return guide
|
||||
|
||||
|
||||
def verify_samples():
|
||||
"""Verifica qué samples existen"""
|
||||
samples_dir = r"C:\Users\ren\embeddings\all_tracks"
|
||||
|
||||
print("\n📂 Verificando samples en librería...")
|
||||
print(f"Directorio: {samples_dir}")
|
||||
print("-" * 50)
|
||||
|
||||
if not os.path.exists(samples_dir):
|
||||
print("❌ Directorio no encontrado!")
|
||||
return False
|
||||
|
||||
# Buscar archivos comunes
|
||||
found = []
|
||||
for f in os.listdir(samples_dir)[:20]: # Primeros 20
|
||||
if f.endswith('.wav'):
|
||||
found.append(f)
|
||||
|
||||
print(f"✓ {len(found)} archivos WAV encontrados")
|
||||
print("\nEjemplos:")
|
||||
for f in found[:10]:
|
||||
print(f" - {f}")
|
||||
|
||||
return True
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(generate_instrument_setup_guide())
|
||||
verify_samples()
|
||||
Reference in New Issue
Block a user