feat: reggaeton production system with intelligent sample selection and FLP generation

This commit is contained in:
renato97
2026-05-02 21:40:18 -03:00
commit 4d941f3f90
62 changed files with 8656 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
"""Quick test: analyze 20 samples to verify everything works before full batch."""
import sys
import os
import time
import warnings
warnings.filterwarnings("ignore")
PROJECT = r"C:\Users\Administrator\Documents\fl_control"
os.chdir(PROJECT)
sys.path.insert(0, PROJECT)
from src.analyzer import collect_audio_files, batch_analyze
lib1 = os.path.join(PROJECT, "libreria", "reggaeton")
lib2 = os.path.join(PROJECT, "librerias", "reggaeton")
files = collect_audio_files(lib1, lib2)
print(f"Total files: {len(files)}")
# Take first 20
test_files = files[:20]
print(f"Testing with {len(test_files)} files...\n")
start = time.time()
results = batch_analyze(test_files, workers=8)
elapsed = time.time() - start
valid = [r for r in results if "error" not in r]
errors = [r for r in results if "error" in r]
print(f"\nDone in {elapsed:.1f}s ({elapsed/len(test_files):.2f}s/file)")
print(f"Valid: {len(valid)} | Errors: {len(errors)}")
for r in valid:
role = r["role"]
char = r["character"]
key = r["musical"]["key"]
bpm = r["perceptual"]["tempo"]
new = r["new_name"]
orig = os.path.basename(r["original_path"])
print(f" {orig:45s} -> {role:10s} {char:12s} {key:5s} {bpm:5.0f}bpm -> {new}")
if errors:
print(f"\nErrors:")
for e in errors:
print(f" {e}")
print(f"\n{'OK - Ready for full batch!' if len(valid) > 15 else 'Too many errors!'}")