Harness Starter: Audio
An audio workflow starter. Synthesizes a tiny 440 Hz WAV clip as a standin for a real TTS engine. Copy this crate when you want to build an app that ships an audio deliverable (TTS, podcast render, sound effect generation, etc.).
What this starter demonstrates
- Multi-validator contract:
file_exists:$primary_audioandfile_size_min:$primary_audio:4096. - Named artifact (
primary_audio) plus role alias (primary). - Glob-based resolution (
audio/*.wav). on_failure: ["notify_user:..."]for structured failure reporting.
See docs/OCTOS_HARNESS_DEVELOPER_GUIDE.md for the full contract.
Tools
synthesize_clip
Synthesize a short WAV clip for a label.
{"label": "weekly digest", "duration_ms": 1000}
Parameters:
label(required): used to derive the filename (audio/weekly-digest.wav).duration_ms(optional): clip duration in ms, clamped to [100, 5000]. Default 500.
Artifact:
- writes
audio/<slug>.wav - policy
primary_audio = "audio/*.wav"resolves to this path. file_size_min:$primary_audio:4096enforces non-empty output.
Replace this stub
The synthesizer produces a pure sine tone; it is not a real TTS. When
adopting the starter, replace render_sine_wav with your render engine
(piper, eSpeak, ElevenLabs, Coqui, etc.) and keep the rest of the contract
unchanged.