"""Shared DSP configuration constants for AI MusiMuse.

This module defines the canonical DSP parameters used by all
analyzers.  No analyzer may hardcode these values.

All future analyzers must reuse these constants to ensure consistent
processing across the entire project.
"""

from __future__ import annotations

FFT_SIZE: int = 4096
HOP_LENGTH: int = 1024
WINDOW: str = "hann"

RMS_WINDOW_SIZE: int = 2048
RMS_HOP_SIZE: int = 512

ONSET_HOP_SIZE: int = 512
TEMPO_MIN_BPM: int = 40
TEMPO_MAX_BPM: int = 220

CHROMA_BINS: int = 12
TONAL_HISTORY_SIZE: int = 32
