Files
ledgrab/plans/processed-audio-sources/PLAN.md
T
alexei.dolgolyov 86a9d344e6 feat(processed-audio-sources): phase 1 - audio filter framework
Add the foundation for audio processing filters, mirroring the existing
picture filter/postprocessing template system:
- AudioFilter base class, AudioFilterRegistry, AudioFilterOptionDef
- AudioProcessingTemplate dataclass + SQLite-backed store
- audio_filter_template meta-filter with recursive resolution
- Full REST API: CRUD templates + filter registry discovery
- Dependency injection wired in dependencies.py and main.py
2026-03-31 17:35:39 +02:00

2.7 KiB

Feature: Processed Audio Sources

Branch: feature/processed-audio-sources Base branch: master Created: 2026-03-31 Status: 🟡 In Progress Strategy: Big Bang Mode: Automated Execution: Orchestrator

Summary

Replace hardcoded MonoAudioSource and BandExtractAudioSource types with a composable ProcessedAudioSource + AudioProcessingTemplate + AudioFilter system — mirroring the existing processed picture source pattern. Rename MultichannelAudioSource to CaptureAudioSource. Adds 11 audio filters: channel extract, band extract, peak hold, gain, noise gate, envelope follower, spectral smoothing, compressor, inverter, beat gate, and delay.

Clean-slate approach: no data migration for old source types.

Build & Test Commands

  • Build (Python): cd server && ruff check src/ tests/ --fix
  • Build (TypeScript): cd server && npx tsc --noEmit && npm run build
  • Test: cd server && py -3.13 -m pytest tests/ --no-cov -q

Phases

  • Phase 1: Audio Filter Framework [domain: backend] → subplan
  • Phase 2: Audio Filters [domain: backend] → subplan
  • Phase 3: Processed Audio Source Model [domain: backend] → subplan
  • Phase 4: Runtime Integration [domain: backend] → subplan
  • Phase 5: Frontend — Audio Processing Templates [domain: frontend] → subplan
  • Phase 6: Frontend — Source Types [domain: frontend] → subplan
  • Phase 7: Testing & Polish [domain: backend] → subplan
  • Phase 8: Frontend Design Consistency Review [domain: frontend] → subplan

Phase Progress Log

Phase Domain Status Review Build Committed
Phase 1: Audio Filter Framework backend 🔨 In Progress
Phase 2: Audio Filters backend Not Started
Phase 3: Processed Audio Source Model backend Not Started
Phase 4: Runtime Integration backend Not Started
Phase 5: Frontend — Audio Processing Templates frontend Not Started
Phase 6: Frontend — Source Types frontend Not Started
Phase 7: Testing & Polish backend Not Started
Phase 8: Frontend Design Review frontend Not Started

Final Review

  • Comprehensive code review
  • Full build passes
  • Full test suite passes
  • Merged to master