Dograh
Local speech-to-text

Transcribe every caller on hardware you own

Dograh is the self-hostable voice agent platform with an open-source workflow builder. Run Whisper or another open speech model on your own GPU through self-hosted Dograh, so no caller's voice travels to a speech provider.

6,000+GitHub starsBSD-2open source$0platform fee, self-hostedAny systemconnects to the tools you use
01 / How it works

How one sentence reaches your model

Example
Start Speachesadd it under Providerspick it on the STT tabcall the agent
01 · Serve

Run the model behind one route

/v1/audio/transcriptionsthe OpenAI-style transcription address

Speaches runs Whisper through faster-whisper. Parakeet or Qwen3-ASR need their own server that answers the same route.

→ Ring it yourself before callers do

02 · Connect

Point the agent at your server

STT tabwhere a model configuration picks its speech model

Add a Local Models (Speaches) provider with your server's address, then select it on the STT tab.

→ Swap the English-only default for other languages

03 · Measure

Watch what each turn costs

View Tracetiming for every turn of a call

Each pause sends the finished stretch of speech as one request, so the time on your card adds straight to the reply.

→ Compare models on the same set of calls

02 / What runs where

Pick by your callers' languages first

On your own GPU
Hardware you ownWhisper (MIT, 99 languages)Parakeet TDT 0.6B v2 (English)Parakeet TDT 0.6B v3 (25 European)Qwen3-ASR 1.7B (Apache 2.0)

Parakeet ships under CC-BY-4.0, so NVIDIA gets credited wherever you ship it.

Hosted on your key
DeepgramAssemblyAISpeechmaticsHugging Face Whisper

Quick to start with no hardware, though the provider receives every caller's audio.

Unchanged either way
Call flow and toolsPer-turn tracesCampaignsWebhooks

Moving between columns changes a model name and an address, never the agent.

03 / Before callers dial in

Prove the model on your own calls

  1. Real calls recordedTwenty to thirty of your own calls, with real customer names and order numbers, run through the server you will use.
  2. Phone audio heardMost calls arrive at 8 kHz, and some models that score well on clean recordings slip badly on a line.
  3. Silence checkedPlay silence and hold music through Whisper turbo, which can write out words nobody said.
  4. Credit line addedCC-BY-4.0 models generally need NVIDIA named on your notices page before you ship.
  5. Peak load triedSentences queue on a shared card, so load-test at the call count you expect at peak.
04 / Why keep it local

What owning the speech step gives you

Raw audio stays inside

With Dograh self-hosted and a local model, every caller's raw audio stays on servers you run.

A card, not a meter

Your GPU costs the same as call minutes climb. Power and engineer time still cost money.

Room left for the LLM

At roughly 2 GB, Parakeet TDT 0.6B v2 leaves most of a 24 GB card for the language model.

Hosted now, local later

Begin on a hosted provider and move the same agent to your GPU once call volume pays for the hardware.

05 / Dograh vs hosted STT

What changes when speech runs in-house

What you getDograhHosted speech-to-text APIs
Caller audio never leaves your network✓✕
No per-minute transcription charge✓✕
Open-source agent platform around the model (BSD-2)✓✕
06 / Guides

Choose your speech model, step by step

Questions
Which open speech model should I try first?+

For English calls sharing a GPU with the language model, Parakeet TDT 0.6B v2. For many languages, try Whisper large-v3 or Qwen3-ASR.

How does Dograh send audio to my model?+

At each pause, the finished segment goes as one request to your server's OpenAI-compatible /v1/audio/transcriptions route.

Does the default model understand Spanish or German?+

No. Systran/faster-distil-whisper-small.en only knows English. Switch to Systran/faster-whisper-large-v3 and set the two-letter Language code.

Can I use Parakeet in a paid product?+

Yes. Its CC-BY-4.0 licence generally allows paid use, provided NVIDIA is credited wherever the model ships.

How well does Parakeet hear phone audio?+

Parakeet TDT 0.6B v2 averages a 6.32% word error rate after 8 kHz mu-law, against 6.05% on clean 16 kHz test sets.

How do I handle brand names a local model mishears?+

Write the common mishearings into the prompt, and the language model corrects for them. The Dictionary setting serves hosted providers that take word lists.

Record your calls. Test two models on them.

Self-host in one command, or start on Dograh Cloud.

$ curl … start_docker.sh && ./start_docker.sh