Skip to content

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 principal
  • IVoiceAllocator - Strategy pattern para allocation
  • IVoice - Representación de voz individual
  • IVoicePool - 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)