Files
musica-ia/als_gen/COMANDOS_UTIL.txt
renato97 85db177636 feat: Complete music project templates and generation system
🎵 Major Additions:

📁 2000s Pop Project Templates:
- Chords & melody patterns
- Drum patterns and rhythms
- Synth bass configurations
- Effects and mixing guides
- Complete project structure documentation

🧬 ALS Generation System:
- Fixed ALS generator with enhanced capabilities
- Setup scripts for easy deployment
- Comprehensive README and documentation
- Quick start guide for users
- Utility commands reference

🎼 Musical Projects:
- Salsa project (Hector Lavoe inspired) with full documentation
- 2000s Pop project with complete production guide

🔧 Utility Scripts:
- generate_salsa_project.py: Salsa-specific generator
- generate_versioned_als.py: Versioned project generation
- register_project.py: Project registration system

This significantly expands MusiaIA's capabilities with pre-built project templates and production-ready examples for multiple genres!

Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 01:14:03 +00:00

220 lines
6.1 KiB
Plaintext

===============================================================================
COMANDOS ÚTILES - GENERADOR .ALS
===============================================================================
🎵 GENERACIÓN DE PROYECTOS
-------------------------------------------------------------------------------
# Generar proyecto básico (crea generated_project.als)
python3 als_generator.py
# Generar proyecto y mostrar información
python3 als_analyzer.py generated_project.als info
# Generar 3 proyectos en lote
for i in {1..3}; do
python3 -c "
from als_generator import ALSGenerator
g = ALSGenerator()
g.create_full_als('Proyecto_$i', 5, 8)
g.save_als(g.create_full_als('Proyecto_$i', 5, 8), 'proyecto_$i.als')
"
done
🔍 ANÁLISIS DE PROYECTOS
-------------------------------------------------------------------------------
# Ver información completa del proyecto
python3 als_analyzer.py archivo.als info
# Exportar información a archivo de texto
python3 als_analyzer.py archivo.als export info.txt
# Analizar estructura detallada
python3 -c "
from als_analyzer import ALSAnalyzer
a = ALSAnalyzer('archivo.als')
a.load_als()
tracks = a.get_tracks_info()
clips = a.get_clips_info()
print(f'Tracks: {len(tracks)}')
print(f'Clips: {len(clips)}')
for track in tracks:
print(f' - {track[\"name\"]} ({track[\"type\"]})')
"
✏️ MODIFICACIÓN DE PROYECTOS
-------------------------------------------------------------------------------
# Randomizar velocidades (rango: 70-127)
python3 als_analyzer.py archivo.als randomize-vel 70 127
# Transponer +5 semitonos
python3 als_analyzer.py archivo.als transpose 5
# Transponer -3 semitonos
python3 als_analyzer.py archivo.als transpose -3
# Duplicar clips (track 1, crear 4 duplicados)
python3 als_analyzer.py archivo.als duplicate 1 4
# Crear variación completa
python3 -c "
from als_analyzer import ALSModificator
m = ALSModificator('archivo.als')
m.load_als()
m.randomize_velocities(80, 120)
m.transpose_notes(2)
m.duplicate_clips(2, 2)
m.save_als('variacion.als')
"
🎨 CREAR VARIACIONES AUTOMÁTICAS
-------------------------------------------------------------------------------
# Crear 5 variaciones con parámetros diferentes
python3 -c "
import random
for i in range(5):
from als_analyzer import ALSModificator
m = ALSModificator('jukeblocks - Pop.als')
m.load_als()
# Parámetros aleatorios
trans = random.choice([-5, -3, -2, 0, 2, 3, 5])
min_v = random.randint(60, 80)
max_v = random.randint(100, 127)
m.randomize_velocities(min_v, max_v)
m.transpose_notes(trans)
output = f'variacion_{i+1}.als'
m.save_als(output)
print(f'✅ {output} creado')
"
📊 ESTADÍSTICAS DEL PROYECTO
-------------------------------------------------------------------------------
# Contar notas MIDI totales
python3 -c "
from als_analyzer import ALSAnalyzer
a = ALSAnalyzer('archivo.als')
a.load_als()
clips = a.get_clips_info()
total = sum(c['note_count'] for c in clips)
print(f'Total de notas MIDI: {total}')
print(f'Total de clips: {len(clips)}')
"
# Análisis por track
python3 -c "
from als_analyzer import ALSAnalyzer
a = ALSAnalyzer('archivo.als')
a.load_als()
tracks = a.get_tracks_info()
for i, track in enumerate(tracks):
print(f'{i}: {track[\"name\"]} [{track[\"type\"]}] Color: {track[\"color\"]}')
"
🧪 PRUEBAS Y VALIDACIÓN
-------------------------------------------------------------------------------
# Verificar archivo .als
file archivo.als
# Comprobar que se puede cargar
python3 als_analyzer.py archivo.als info | head -10
# Ejecutar suite completa de pruebas
./setup.sh
# Ejecutar demostración completa
python3 ejemplo_uso.py
💡 CONSEJOS Y TRUCOS
-------------------------------------------------------------------------------
# 1. Usar el archivo original como base
cp "jukeblocks - Pop.als" mi_base.als
# 2. Crear múltiples modificaciones
for vel in 60 80 100 120; do
python3 als_analyzer.py mi_base.als randomize-vel $vel 127
done
# 3. Encadenar modificaciones
python3 -c "
from als_analyzer import ALSModificator
m = ALSModificator('mi_base.als')
m.load_als()
m.randomize_velocities(70, 127) # Paso 1
m.transpose_notes(2) # Paso 2
m.duplicate_clips(1, 3) # Paso 3
m.save_als('resultado_final.als') # Guardar
"
# 4. Generar con parámetros personalizados
python3 -c "
from als_generator import ALSGenerator
g = ALSGenerator()
# Proyecto con muchos tracks
tree = g.create_full_als('Proyecto_Grande', num_tracks=12, num_clips=20)
g.save_als(tree, 'proyecto_grande.als')
# Proyecto con pocos clips
tree = g.create_full_als('Proyecto_Minimal', num_tracks=3, num_clips=4)
g.save_als(tree, 'proyecto_minimal.als')
"
# 5. Automatizar generación en lote
python3 -c "
for num_tracks in 3 5 8 10; do
for num_clips in 4 8 12 16; do
from als_generator import ALSGenerator
g = ALSGenerator()
name = f'proyecto_{num_tracks}t_{num_clips}c'
tree = g.create_full_als(name, num_tracks, num_clips)
g.save_als(tree, f'{name}.als')
echo \"✅ Creado: {name}.als\"
done
done
"
🔧 SOLUCIÓN DE PROBLEMAS
-------------------------------------------------------------------------------
# Error: archivo no encontrado
ls -la *.als
# Error: Python no encontrado
which python3
python3 --version
# Verificar estructura XML
gunzip -c archivo.als | head -20
# Debug: cargar y mostrar errores
python3 -c "
from als_analyzer import ALSModificator
try:
m = ALSModificator('archivo.als')
if m.load_als():
print('✅ Carga exitosa')
else:
print('❌ Error en la carga')
except Exception as e:
print(f'❌ Error: {e}')
import traceback
traceback.print_exc()
"
===============================================================================
¡LISTO PARA USAR!
===============================================================================
Todos estos comandos están listos para usar directamente en tu terminal.
Los archivos .als generados se pueden abrir en Ableton Live 12 Suite.
Para más información: README.md
Resumen del proyecto: RESUMEN.md
===============================================================================