dj_reactor / shared /audio /__init__.py
RyeCatcher's picture
Publish DJ Reactor v2 β€” shared layer + Beat Spectrum control panel
694b576 verified
Raw
History Blame Contribute Delete
929 Bytes
"""Shared audio utilities for Reachy Mini apps.
Pluggable, mirroring `vision/`:
- `AudioFeatures` + `AudioSource` protocol (`base`)
- `FFTBeatAnalyzer` β€” pure FFT band + beat/BPM core (`analyzer`)
- `MicAudioSource` β€” live capture via sounddevice, degrades clean (`capture`)
- `SilentAudioSource` β€” no-device fallback (`base`)
- `build_audio_source(spec)` β€” pick a source from config (`factory`)
"""
from .base import AudioFeatures, AudioSource, SilentAudioSource
from .analyzer import FFTBeatAnalyzer, BASS_RANGE, MID_RANGE, TREBLE_RANGE
from .capture import MicAudioSource, list_input_devices, sounddevice_available
from .factory import build_audio_source
__all__ = [
"AudioFeatures",
"AudioSource",
"SilentAudioSource",
"FFTBeatAnalyzer",
"BASS_RANGE",
"MID_RANGE",
"TREBLE_RANGE",
"MicAudioSource",
"list_input_devices",
"sounddevice_available",
"build_audio_source",
]