05_13_02_voice_management - Gestión de Polifonía¶
PROPÓSITO¶
Voice Management es el cerebro detrás de cualquier instrumento polifónico, decidiendo cómo asignar, robar y gestionar voces limitadas para crear la ilusión de recursos infinitos.
RESPONSABILIDADES¶
- Voice pool management (pre-allocated + dynamic)
- Voice allocation algorithms (Round-Robin, Oldest-First, Quietest-First, Priority-Based)
- Release tail management ("zombie voices")
- Unison/stacking con detune y stereo spread
- Voice state tracking (idle, attack, sustain, release, zombie)
ALGORITHMS IMPLEMENTADOS¶
1. Round-Robin¶
Asigna voces en orden circular. Simple pero efectivo.
2. Oldest-First Stealing¶
Roba la voz más antigua cuando se acaba polifonía. Natural para instrumentos sostenidos.
3. Quietest-First Stealing¶
Analiza amplitud y roba la más silenciosa. Minimiza artefactos audibles.
4. Priority-Based¶
Notas tienen prioridad configurable (velocity, pitch, etc.).
INTERFACES PRINCIPALES¶
IVoiceManager- Gestión principalIVoiceAllocator- Strategy pattern para allocationIVoice- Representación de voz individualIVoicePool- Gestión de pools
MÉTRICAS DE ÉXITO¶
- 4 allocation strategies funcionales
- Release tail system operativo
- Unison mode completo
- ≥32 voces simultáneas sin dropouts
- CPU scaling medido y documentado
ESTIMACIÓN¶
4 semanas (Fase 3, Semanas 25-28)