63 lines
2.0 KiB
Markdown
63 lines
2.0 KiB
Markdown
# Donna integration contract
|
||
|
||
Donna remains responsible for collecting organizational information, deciding
|
||
priority, selecting a character, and writing the final canonical script. Local
|
||
Voice is an optional audio dependency responsible for rendering and validating
|
||
that script.
|
||
|
||
## Invocation
|
||
|
||
Donna supplies:
|
||
|
||
- voice profile ID;
|
||
- canonical Markdown or Ryan-labelled dialogue;
|
||
- absolute output path;
|
||
- pronunciation overrides when needed;
|
||
- optional delivery, role, signature-asset, and pause metadata.
|
||
|
||
Donna then asks Local Voice to:
|
||
|
||
1. run `doctor` if runtime health is unknown;
|
||
2. build or validate the render plan;
|
||
3. render with `--resume`;
|
||
4. return the final audio and QA-report paths.
|
||
|
||
## Required behavior
|
||
|
||
- Do not send Markdown headings, numbered section titles, speaker labels, or
|
||
stage directions as spoken text.
|
||
- Keep greetings and closings as short standalone paragraphs so Local Voice can
|
||
preserve native tempo.
|
||
- Keep substantive paragraphs to complete sentence groups of roughly 20–42
|
||
words unless a profile specifies otherwise.
|
||
- Use canonical `text` for the written brief and `tts_text` only for local
|
||
pronunciation corrections.
|
||
- Do not silently fall back to ElevenLabs. If Local Voice fails, Donna should
|
||
report the failure and apply the caller's configured fallback policy.
|
||
- Attach or link the final audio alongside the full written organizational
|
||
brief; the audio is a quick summary, not the sole record.
|
||
|
||
## Character mapping
|
||
|
||
| Donna character | Local Voice profile |
|
||
|---|---|
|
||
| Production Donna | `donna` |
|
||
| Chris Engineer | `chris-engineer` |
|
||
| Grandpa Bomber | `grandpa-bomber` |
|
||
| Pitch Meeting | `ryan-pitch-meeting` |
|
||
| Val Holiday | `val-holiday` |
|
||
|
||
## Example handoff
|
||
|
||
```json
|
||
{
|
||
"voice": "val-holiday",
|
||
"script": "/absolute/path/val-brief.md",
|
||
"output": "/absolute/path/val-brief.mp3",
|
||
"fallback": "report-and-return-text"
|
||
}
|
||
```
|
||
|
||
Local Voice returns the final audio path, QA report path, duration, and
|
||
segment-level completeness and cadence results.
|