Skip to content

feat(tts): add Airy streaming provider - #608

Merged
coval-cale merged 4 commits into
coval-ai:mainfrom
fbdp1202:feat/add-airy-tts
Sep 9, 2026
Merged

feat(tts): add Airy streaming provider#608
coval-cale merged 4 commits into
coval-ai:mainfrom
fbdp1202:feat/add-airy-tts

Conversation

@fbdp1202

@fbdp1202 fbdp1202 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add support for airy-tts-v1, the TTS model offered through Out of Set's Airy service.
  • Stream audio over HTTP from https://api.airy.so/v1/audio/speech/stream using 24 kHz mono signed 16-bit little-endian PCM.
  • Use shared HTTP client and TTS finalization helpers for WAV output, time-to-first-audio measurement, and connection diagnostics.
  • Register the provider and document the optional AIRY_API_KEY environment variable.
  • Validate response audio metadata and reject failed, interrupted, or incompatible streams.

Closes #609

Files changed

File Purpose
runner/src/coval_bench/providers/tts/airy.py Airy streaming TTS implementation
runner/src/coval_bench/providers/tts/__init__.py Provider registry and exports
runner/src/coval_bench/registries/provider_keys.py API key environment mapping
runner/src/coval_bench/config.py Optional Airy API key setting
.env.example Document AIRY_API_KEY
runner/tests/providers/tts/test_airy.py Request, audio output, timing, authentication, and error-handling tests

Suggested benchmark voices

Please use the following voices when configuring Airy benchmark runs:

Voice Voice ID
Female a597bb7a98fc9ec1
Male bdb7de5e2cdd3324

Test plan

  • Airy provider unit tests: 17 passed.
  • Ruff lint and format checks passed.
  • mypy --strict src tests passed.
  • Full pytest suite: 2,047 passed, 6 skipped due to unavailable optional Google SDKs and separate test fixtures.
  • Live API smoke test: HTTP 200 over HTTP/2 with valid 24 kHz mono 16-bit WAV output.

@coval-cale

Copy link
Copy Markdown
Contributor

Sup! Stoked to get you onboard! I can't figure out how to get an API key for local testing. shoot me an email at cale(at)coval(dot)dev and I'll set y'all up with a slack channel so we can chat easier.

@coval-cale
coval-cale enabled auto-merge September 9, 2026 16:32
@coval-cale
coval-cale added this pull request to the merge queue Sep 9, 2026
Merged via the queue into coval-ai:main with commit 76939c2 Sep 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Interested in integrating Airy as a TTS provider

2 participants