diff --git a/AbletonMCP_AI/MCP_Server/scan_audio.py b/AbletonMCP_AI/MCP_Server/scan_audio.py index c554657..b629b47 100644 --- a/AbletonMCP_AI/MCP_Server/scan_audio.py +++ b/AbletonMCP_AI/MCP_Server/scan_audio.py @@ -2,7 +2,7 @@ import sample_manager print('Iniciando escaneo de la libreria de samples con analyze_audio=True...') try: - path = r'C:\Users\ren\embeddings\all_tracks' + path = r'C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\librerias\organized_samples' stats = sample_manager.scan_samples(path, analyze_audio=True) p = stats.get('processed', 0) a = stats.get('added', 0) diff --git a/AbletonMCP_AI/MCP_Server/segment_rag_builder.py b/AbletonMCP_AI/MCP_Server/segment_rag_builder.py index 3f97f68..17cc529 100644 --- a/AbletonMCP_AI/MCP_Server/segment_rag_builder.py +++ b/AbletonMCP_AI/MCP_Server/segment_rag_builder.py @@ -16,7 +16,7 @@ logger = logging.getLogger(__name__) def _default_library_dir() -> Path: - return Path(__file__).resolve().parents[2] / "librerias" / "all_tracks" + return Path(__file__).resolve().parents[2] / "librerias" / "organized_samples" def main() -> int: diff --git a/AbletonMCP_AI/diversity_memory.json b/AbletonMCP_AI/diversity_memory.json index 865c96b..5ffe5b1 100644 --- a/AbletonMCP_AI/diversity_memory.json +++ b/AbletonMCP_AI/diversity_memory.json @@ -1,10 +1,10 @@ { "used_families": { - "acoustic": 4 + "acoustic": 8 }, "used_paths": { "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\Dubdogz & Jude & Frank - ININNA TORA (Extended Version) [@danielcarmona_dj].mp3": 1, - "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Clap 5.wav": 1, + "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Clap 5.wav": 2, "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Open Hat 9.wav": 1, "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Open Hat 3.wav": 1, "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\MT Kick Hit 03.wav": 1, @@ -13,12 +13,14 @@ "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Open Hat 5.wav": 1, "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\MT Kick Hit 10.wav": 1, "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\MT Clap & Snare Hit 14.wav": 1, - "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\Kit_01_OHH_A#_125.wav": 2, + "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\Kit_01_OHH_A#_125.wav": 3, "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\MT Kick Hit 02.wav": 1, "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Clap 8.wav": 1, - "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Closed Hat 6.wav": 1 + "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Closed Hat 6.wav": 1, + "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Kick 4.wav": 1, + "C:\\ProgramData\\Ableton\\Live 12 Suite\\Resources\\MIDI Remote Scripts\\librerias\\all_tracks\\BBH - Primer Impacto - Open Hat 10.wav": 1 }, - "generation_count": 6, - "last_updated": "2026-03-29T01:17:06.623591", + "generation_count": 7, + "last_updated": "2026-03-29T01:28:32.412286", "version": "1.0" } \ No newline at end of file diff --git a/AbletonMCP_AI/rebuild_index.py b/AbletonMCP_AI/rebuild_index.py new file mode 100644 index 0000000..b48bdcf --- /dev/null +++ b/AbletonMCP_AI/rebuild_index.py @@ -0,0 +1,53 @@ +""" +rebuild_index.py - Reconstruir índice de embeddings para organized_samples +""" +import sys +import logging +from pathlib import Path + +logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') +logger = logging.getLogger(__name__) + +# Add MCP_Server to path +sys.path.insert(0, str(Path(__file__).parent / "MCP_Server")) + +from vector_manager import VectorManager + +def rebuild_index(): + # Ruta correcta - organized_samples está en el root de MIDI Remote Scripts + library_path = Path("C:/ProgramData/Ableton/Live 12 Suite/Resources/MIDI Remote Scripts/librerias/organized_samples") + + logger.info(f"Reconstruyendo indice para: {library_path}") + logger.info(f"La ruta existe: {library_path.exists()}") + + if library_path.exists(): + # Listar subcarpetas con archivos + total_wav = 0 + for subdir in library_path.rglob("*"): + if subdir.is_dir(): + wav_files = list(subdir.glob("*.wav")) + if wav_files: + logger.info(f" {subdir.relative_to(library_path)}: {len(wav_files)} archivos .wav") + total_wav += len(wav_files) + logger.info(f"Total: {total_wav} archivos .wav") + + logger.info("=" * 60) + + # Eliminar índice existente si hay + index_file = library_path / ".sample_embeddings.json" + if index_file.exists(): + logger.info(f"Eliminando indice antiguo: {index_file}") + index_file.unlink() + + # Crear nuevo VectorManager (auto-rebuild) + vm = VectorManager(str(library_path), skip_audio_analysis=False) + + logger.info("=" * 60) + logger.info(f"Indice reconstruido con {len(vm.metadata)} samples") + logger.info(f"Archivo: {index_file}") + + return len(vm.metadata) + +if __name__ == "__main__": + count = rebuild_index() + print(f"\nIndice listo: {count} samples")