Best medical speech-to-text in 2026
Compare the best medical speech-to-text software and APIs for 2026. Covers accuracy, HIPAA compliance, EHR integration, and pricing for AssemblyAI, Dragon Medical, Amazon Transcribe, and more.



Search "best medical speech-to-text" and you'll get a mix of two completely different things: finished products a clinician logs into, and APIs a developer builds on. Dragon Medical One and Universal-3.5 Pro are both correct answers to the question, and they are not remotely substitutes for each other. Figuring out which category you're shopping in is the first and most consequential decision.
The second is which accuracy number you believe. Word error rate is the industry default and it's actively misleading for clinical audio, because it weights "the" and "hydrochlorothiazide" identically. Missed Entity Rate is the metric that predicts whether a note needs rework — and on that metric, Universal-3.5 Pro with Medical Mode records 3.2% MER, the lowest across benchmarked providers.
What follows is a straight comparison: the three ways medical speech-to-text actually gets deployed, the criteria worth evaluating on, and a provider-by-provider rundown. We build one of these, so factor that in — but every figure here is published and reproducible on your own audio.
Three ways medical speech-to-text gets used
These have different accuracy profiles, different latency requirements, and different vendors. Sorting your use case into one of them narrows the field immediately.
Front-end dictation
The clinician talks, text appears, they edit it in place. Cooperative audio — deliberate speech, a close mic, a quiet room. Latency matters a lot because the clinician is watching words land. Accuracy requirements are high but the human is right there to correct errors, which changes the risk calculus.
Back-end transcription
Audio is recorded, submitted, and transcribed after the fact — dictated notes, procedure reports, correspondence. Latency is irrelevant. Accuracy matters more than in dictation because nobody is watching the text form, and a batch pipeline gets you the best available model quality since there's no real-time constraint.
Ambient scribing
A microphone captures the whole encounter, and the system produces a note from the conversation. This is the hardest of the three by a wide margin: far-field audio, multiple speakers, overlapped speech, unscripted patient language, and an LLM downstream that will confidently propagate any entity error into a clinical assertion. Our guide to speech-to-text for ambient scribes goes deeper on this one.
What "best" should mean when you evaluate
Five criteria, roughly in order of how much they should influence your choice:
- Medical entity accuracy. How often do drugs, dosages, conditions, and procedures survive intact? Measure with Missed Entity Rate, not WER.
- Speaker attribution. Can it separate clinician from patient from caregiver, and does it hold up on two-word turns?
- Real-world audio robustness. Performance on your mic setup and your room noise, not on studio recordings.
- PHI handling and BAA. Redaction scope, contract availability, residency, and deployment options.
- Cost structure. Not the list price — the commit terms and the effective rate at your volume.
Notice what isn't on that list: number of supported languages, number of features, and vendor size. Those come up constantly in RFPs and predict almost nothing about whether the transcripts will be usable.
Medical speech-to-text comparison
The options, one by one
1. AssemblyAI — Universal-3.5 Pro with Medical Mode
Our argument is that clinical accuracy should be a parameter, not a separate product. Medical Mode is domain: "medical-v1" on top of Universal-3.5 Pro — same model, same endpoint, same features. You get 3.2% MER, roughly 20% fewer missed medical entities than the base model, and 87% fewer entity errors.
What differentiates it beyond the entity number: diarization optimized for cpWER rather than DER, so short turns and overlapped speech survive; native code-switching across 18 languages in the base model; and contextual prompting, where passing a patient's prior-visit note cut missed medical terms by 31% in an internal healthcare test.
Pricing: $0.21/hr async plus $0.15/hr Medical Mode, so $0.36/hr. Streaming via Universal-3.5 Pro Realtime at $0.45/hr base, $0.60/hr with Medical Mode, with turn detection defaulting to min_turn_silence 128ms and max_turn_silence 1280ms on the balanced preset. Voice Agent API at a flat $4.50/hr.
Weakness to know about: Medical Mode's entity layer covers four languages — English, Spanish, German, and French. The base model handles considerably more, but if you need clinical entity accuracy in a fifth language, we don't have it today.
2. Amazon Transcribe Medical
A dedicated medical endpoint inside AWS, with HealthScribe layered on top for structured clinical note output. The genuine advantage is gravity: if your PHI already lives in AWS, your BAA is already in place, and your team knows the IAM model, that's real friction removed.
The tradeoff is accuracy. On Missed Entity Rate in our benchmarks, it's the weakest of the dedicated medical options we measured. For a use case where a human reviews everything anyway, that may be acceptable. For an ambient scribe feeding an LLM, it's a problem.
3. Deepgram — Nova-3 Medical
A credible clinical model with good latency characteristics, though it trails Medical Mode on Missed Entity Rate. Deepgram's terminology approach is keyterm prompting — you supply a list of expected terms. It works, but it creates a permanent maintenance obligation: lists per specialty, per formulary, per customer. We wrote a full head-to-head on AssemblyAI vs Deepgram for medical transcription.
4. Google Cloud Speech-to-Text
Medical conversation and medical dictation models, with the same cloud-gravity logic as AWS. Reasonable if you're already on GCP and your accuracy bar is moderate. We don't publish an MER figure for Google's medical models, so measure it yourself rather than assuming parity with the leaders.
5. Speechmatics
Strong general multilingual coverage and an enhanced medical vocabulary option. If broad language support is your dominant constraint and clinical entity accuracy is secondary, worth a look. Run your own entity eval — general language breadth and clinical entity precision are different capabilities and don't necessarily travel together.
6. Microsoft Azure AI Speech
Healthcare capability comes through custom vocabulary, custom speech models, and healthcare-specific add-ons rather than a single medical endpoint. Best fit is a Microsoft-centric health IT estate where the integration path is already paved. Expect more configuration work than a one-parameter clinical mode.
7. NVIDIA Riva
Not a hosted API — a toolkit you deploy and train. That means you own the model quality and the accuracy is whatever your training data supports. The right answer for genuinely air-gapped environments and for teams with ML engineering capacity who want no external dependency. The wrong answer if you were hoping to ship a scribe this quarter.
8. Dragon Medical One, Nuance DAX, and Abridge
These belong in a different conversation. They're products clinicians use, not APIs developers build on. If you're a health system evaluating whether to buy documentation software, they're your shortlist. If you're building a clinical voice product, they're your competitive set — and the API layer underneath your product is what this comparison is actually about.
Getting started
Async transcription with Medical Mode and speaker labels. Async takes speech_models as a list:
import assemblyai as aai
aai.settings.api_key = "YOUR_API_KEY"
config = aai.TranscriptionConfig(
speech_models=["universal-3-5-pro"],
domain="medical-v1",
speaker_labels=True,
)
transcript = aai.Transcriber().transcribe("clinic-visit.wav", config=config)
for utterance in transcript.utterances:
print(f"Speaker {utterance.speaker}: {utterance.text}")
Streaming takes speech_model singular and connects to wss://streaming.assemblyai.com/v3/ws:
from assemblyai.streaming.v3 import (
StreamingClient,
StreamingClientOptions,
StreamingParameters,
)
client = StreamingClient(
StreamingClientOptions(api_key="YOUR_API_KEY")
)
client.connect(
StreamingParameters(
sample_rate=16000, speech_model="universal-3-5-pro",
domain="medical-v1",
voice_focus="far-field",
mode="balanced",
speaker_labels=True,
)
)
That's the whole clinical integration. Full reference in the docs, and current rates on pricing.
PHI, BAA, and deployment
Every option on this list will get through a security review with the right paperwork. The differences are in the specifics.
AssemblyAI signs a Business Associate Addendum (BAA) for customers processing PHI and acts as a business associate under HIPAA for that data — see our BAA FAQ and the Business Associate Agreement. We're SOC 2 Type 2, PHI redaction covers both audio and transcripts, EU data residency is available at api.eu.assemblyai.com, and self-hosted deployment is available when audio can't leave your infrastructure.
The three questions to ask every vendor, in writing: Does redaction cover the audio or only the transcript? Is my audio retained, and for how long? Is it used for model training? Vendors answer these very differently, and the answers rarely appear on the pricing page.
Where teams get this wrong
For the organizational side of this — rollout, clinician adoption, and the economics — see our overview of AI medical transcription in healthcare. On the technical side, these are the patterns we see repeatedly:
Benchmarking on the wrong metric. A WER bakeoff will pick a model that's worse at drug names. Score entities.
Benchmarking on the wrong audio. Clean read speech tells you nothing about far-field exam room capture. Use your own recordings, at your own mic distances, with your own accents.
Ignoring diarization until integration. Speaker attribution failures surface late and are expensive to work around. Test it early, and test it on short turns specifically.
Treating compliance as a final checkbox. Start the BAA conversation in parallel with the technical eval. It's rarely the blocker; it's frequently the delay.
Skipping the context integration. Contextual prompting is available today and most teams aren't using it. A 31% reduction in missed terms from data already in your database is the cheapest accuracy improvement on the table.
Teams shipping clinical voice products on this stack include Commure, Sully AI, Heidi Health, Deepscribe, Knowtex, Magentus Healthcare, Chapter, and NMDP — a spread from ambient documentation to Medicare navigation to donor matching. The common requirement across all of them is the same one: the clinical entities have to survive.
What the next comparison will look like
Ranked lists like this one have a short shelf life, and the reason isn't that models get faster. It's that the axis of comparison is moving.
Entity accuracy on clean benchmarks is converging at the top of the field. What isn't converging is how well each system uses what you already know — the patient's history, the clinician's specialty, the prior encounter, the care setting. Contextual prompting turns transcription from a stateless call into something closer to a personalized service, and the gap between a team that feeds it well and a team that doesn't will soon be larger than the gap between any two vendors on this page. A year from now, the useful version of this comparison won't rank models. It'll rank how much accuracy each platform lets you buy with your own data.
Frequently asked questions
What is the best medical speech-to-text option?
For developers building a clinical product, Universal-3.5 Pro with Medical Mode has the lowest published Missed Entity Rate at 3.2% — see benchmarks. For a health system buying finished documentation software rather than building it, the comparison set is Dragon Medical One, DAX, and Abridge instead.
How is medical speech-to-text different from general speech-to-text?
The difference is concentrated in a small number of high-consequence words. Drug names, dosages, conditions, and procedures are rare in general training data and phonetically crowded, so a general model resolves ambiguity toward the more common everyday word. A clinical mode shifts those priors. That's why Medical Mode moves entity accuracy far more than it moves overall word error rate.
Which speech-to-text is most accurate for medical terminology?
On Missed Entity Rate — the metric that scores clinically meaningful tokens rather than all tokens equally — Universal-3.5 Pro with Medical Mode is the lowest across the providers we benchmarked, which include Deepgram, Speechmatics, AWS, and Google. Adding contextual prompting on top cut missed medical terms by a further 31% in an internal healthcare test.
Does it work with EHR systems?
Speech-to-text APIs return transcripts; the EHR write-back is your integration layer or your scribe vendor's. What the transcription layer needs to give you for that to work is accurate entities and reliable speaker attribution, so downstream extraction can map patient statements and clinician instructions into the right fields. See medical transcription use cases.
How does AssemblyAI handle HIPAA and PHI?
AssemblyAI signs a Business Associate Addendum (BAA) for customers processing PHI and operates as a business associate under HIPAA for that data. We're SOC 2 Type 2, redact PHI across both audio and transcripts, and offer EU data residency and self-hosted deployment. Details in the BAA FAQ.
Can it handle a conversation with multiple speakers?
Yes. Universal-3.5 Pro's diarization is optimized for cpWER rather than diarization error rate, which means it's scored on getting the right words under the right speaker — so short two-word turns and overlapped speech hold up. Streaming supports up to 10 speakers with label revision as more audio arrives. More on our medical solutions page.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.




