Skip to content

[BENCH-622] Add Deepdub TTS provider - #452

Merged
coval-cale merged 3 commits into
mainfrom
cale/bench-622-add-deepdub-tts-provider
Aug 5, 2026
Merged

[BENCH-622] Add Deepdub TTS provider#452
coval-cale merged 3 commits into
mainfrom
cale/bench-622-add-deepdub-tts-provider

Conversation

@coval-cale

@coval-cale coval-cale commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Streams dd-etts-3.0 over Deepdub's realtime WebSocket API as an early-access entry with a preset voice pool.

Greptile Summary

Adds Deepdub's dd-etts-3.0 TTS integration as an early-access model using its realtime WebSocket API.

  • Adds Deepdub API-key configuration and provider registry wiring.
  • Implements PCM streaming, error handling, TTFA timing, and WAV result finalization.
  • Registers a two-voice preset pool and adds provider-level tests.

Confidence Score: 4/5

The premature-close path should be fixed before merging because it can silently record truncated Deepdub synthesis as valid benchmark data.

The provider recognizes isFinished inside the loop but does not require that signal after iteration ends, while downstream finalization and orchestration treat any nonempty audible PCM without an error as a successful measurement.

Files Needing Attention: runner/src/coval_bench/providers/tts/deepdub.py

Reviews (1): Last reviewed commit: "[BENCH-622] Add Deepdub TTS provider" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

Context used:

Streams dd-etts-3.0 over Deepdub's realtime WebSocket API as an early-access entry with a preset voice pool.
@coval-cale
coval-cale requested a review from a team as a code owner August 5, 2026 18:11
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
benchmarks Ready Ready Preview Aug 5, 2026 7:33pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

Added Deepdub API-key configuration and provider registry entries. Added DeepdubTTSProvider with model and voice validation, realtime WebSocket synthesis, PCM decoding, timing, diagnostics, error handling, and 24 kHz audio metadata. Added a Deepdub model registry entry and provider tests.

Suggested reviewers: borgesius, callumreid

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 18.75% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: adding the Deepdub TTS provider.
Description check ✅ Passed The description accurately summarizes the Deepdub TTS integration, configuration, streaming behavior, model registration, and tests.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…epdub-tts-provider

# Conflicts:
#	.env.example
#	runner/src/coval_bench/config.py
#	runner/src/coval_bench/registries/provider_keys.py
Comment thread runner/src/coval_bench/providers/tts/deepdub.py

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@runner/src/coval_bench/providers/tts/deepdub.py`:
- Around line 94-117: Update the send and receive flow in
DeepdubTTSProvider.synthesize so the WebSocket operation is bounded by the
provider’s request timeout, including waiting for each frame until isFinished.
Catch the timeout, then return a failed TTSResult through the existing failure
path instead of waiting indefinitely; preserve normal audio collection and
completion behavior.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6fa4608f-3b62-4cba-ab35-438a759a8220

📥 Commits

Reviewing files that changed from the base of the PR and between 1fc0a4a and 73df716.

📒 Files selected for processing (7)
  • .env.example
  • runner/src/coval_bench/config.py
  • runner/src/coval_bench/providers/tts/__init__.py
  • runner/src/coval_bench/providers/tts/deepdub.py
  • runner/src/coval_bench/registries/models.py
  • runner/src/coval_bench/registries/provider_keys.py
  • runner/tests/providers/tts/test_deepdub.py

Comment thread runner/src/coval_bench/providers/tts/deepdub.py
@coval-cale
coval-cale added this pull request to the merge queue Aug 5, 2026
@coval-cale
coval-cale removed this pull request from the merge queue due to a manual request Aug 5, 2026
A clean WebSocket close without the terminator frame is truncation, not a complete synthesis.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.env.example:
- Line 42: Replace the FLUXIONS_API_KEY entry in the environment template with
DEEPDUB_API_KEY=, matching the configuration and provider-key symbols used by
config.py and provider_keys.py.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 27918c05-db0f-4d7e-b00a-941c68effb7e

📥 Commits

Reviewing files that changed from the base of the PR and between 73df716 and c27d026.

📒 Files selected for processing (6)
  • .env.example
  • runner/src/coval_bench/config.py
  • runner/src/coval_bench/providers/tts/deepdub.py
  • runner/src/coval_bench/registries/models.py
  • runner/src/coval_bench/registries/provider_keys.py
  • runner/tests/providers/tts/test_deepdub.py
🚧 Files skipped from review as they are similar to previous changes (4)
  • runner/src/coval_bench/config.py
  • runner/src/coval_bench/registries/provider_keys.py
  • runner/src/coval_bench/registries/models.py
  • runner/src/coval_bench/providers/tts/deepdub.py

Comment thread .env.example
@coval-cale
coval-cale enabled auto-merge August 5, 2026 19:36
@coval-cale
coval-cale added this pull request to the merge queue Aug 5, 2026
Merged via the queue into main with commit 6a9f64d Aug 5, 2026
11 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.

2 participants