AGENTS.md@src/gnn/audio/pedalboard · git:20260906.c3c3485 · 2026-09-06 · sha256 92d0f4f637059913
AGENTS.md@src/gnn/audio/pedalboard git:20260906.c3c3485A
Immutable. This exact content is served forever at /api/v1/blob/92d0f4f637059913.
# Pedalboard Audio Submodule - Agent Scaffolding
## Module Overview
**Purpose**: Planned audio effects post-processing for GNN sonification output using Spotify's Pedalboard library
**Parent Module**: Audio Module (Step 15: Audio processing)
**Category**: Audio Framework / Effects (planned)
**Status**: Documentation-only scaffold. This directory holds `AGENTS.md`, `README.md`, and `SPEC.md` and no Python code. Nothing in the pipeline imports `audio.pedalboard`; the only live reference to Pedalboard is the availability probe in `audio.check_audio_backends()`.
---
## Planned Design
### Intended Responsibilities
1. Apply effects chains (reverb, delay, compression, EQ) to WAV files produced by `audio/` and `audio/sapf/`
2. Configure effect chains per model type
3. Record the applied chain as JSON metadata next to the processed audio
### Intended Inputs
- WAV files from `output/15_audio_output/` (`{model}_tonal.wav`, `{model}_sapf_audio.wav`, ...)
### Intended Outputs
- Processed WAV files with effects applied
- Effects-chain metadata (JSON)
None of these are produced today; see [README.md](README.md) for the current status.
---
## Dependencies
- `pedalboard >= 0.7.0` (optional `audio` extra in `pyproject.toml`); its presence is reported by `audio.check_audio_backends()`
- `numpy` and `soundfile` for the eventual read/write path
---
## Integration Points
- **Parent Module**: `src/gnn/audio/` (Step 15)
- **Sibling**: `src/gnn/audio/sapf/` produces the WAV files this module is meant to post-process
- **Tests**: none exist for this directory; audio tests live in `tests/audio/`
---
## Development Guidelines
When implementing this module:
1. Add `__init__.py`, an `effects.py` with chain construction, and a processor entry point that mirrors `audio.processor.process_audio` conventions (accept `target_dir`, `output_dir`, `verbose`, `**kwargs`; return `bool`)
2. Keep `pedalboard` an optional import with a clear skip path when it is missing
3. Add tests under `tests/audio/` and update `README.md`, `SPEC.md`, and this file in the same change
---
## References
- [Audio Module](../AGENTS.md) - Parent audio module
- [Pedalboard Documentation](https://spotify.github.io/pedalboard/) - Official Pedalboard docs
- [Pipeline Overview](../../../../README.md) - Main pipeline documentation
---
**Last Updated**: 2026-09-02
**Maintainer**: Audio Processing Team
**Status**: Planned (documentation-only scaffold)