# Euterpe Commentary Mix Ducking

V2 AI commentary uses `@v2/euterpe-commentary-ducking` to keep spoken commentary
intelligible over adaptive music without touching match simulation. This
commentary mix ducking package reads dynamic music context from
`@euterpe/accompany`, derives a sidechain curve with `@euterpe/master` dB/linear
gain math, and emits audio-modulation metadata for V2Audio.

## Runtime Contract

- Source bus: `V2.Commentary`.
- Target bus: `V2.DynamicMusic`.
- Provider packages: `@euterpe/master` and `@euterpe/accompany`.
- Rollback policy: `off-rollback-audio-mix-only`.
- Unreal handoff: `FV2CommentaryDuckingMixSpec` and
  `UV2AudioSubsystem::ApplyCommentaryDuckingMix`.

The generated plan contains attack, hold, and release automation points. The
ducking spec is gameplay-inert, audio-mix-only, rollback-safe, and safe to clear
independently from the commentary audio/subtitle cue.

## Failure Behavior

If the Euterpe plan is unavailable or validation fails, V2 plays the commentary
audio/subtitle without dynamic music attenuation. This may reduce mix clarity,
but it does not affect gameplay state, rollback determinism, scoring, timing, or
match authority.
