FormVoiceAgentBench
A Hindi benchmark for FormBharo, a voice agent that fills a structured enrollment form over a phone call to enroll low-income, Hindi-speaking mothers in antenatal and postnatal care. It pairs 380 human-recorded Hindi audio clips with 3,760 multi-turn conversation tests across 960 simulated calls, and measures speech-to-text, data extraction accuracy, form completion accuracy, and response quality.

Leaderboard
Results for the configuration the paper selected. The Evaluation section below shows how each model changes across speech-to-text models.
| # | Model | WER | LLM-WER | CER | LLM-CER | Cost |
|---|---|---|---|---|---|---|
| 1 | Chirp 3 | 0.981 ± 0.007 | 0.055 ± 0.025 | 0.828 | 0.048 | $0.424 |
| 2 | Scribe v2 | 0.835 ± 0.015 | 0.062 ± 0.024 | 0.642 | 0.052 | $0.172 |
| 3 | Saaras v3 | 1.007 ± 0.004 | 0.074 ± 0.028 | 0.865 | 0.067 | $0.137 |
| 4 | Nova-3 | 0.826 ± 0.015 | 0.104 ± 0.031 | 0.630 | 0.086 | $0.127 |
| 5 | GPT-4o-transcribe | 1.012 ± 0.004 | 0.127 ± 0.033 | 0.870 | 0.113 | $0.159 |
Sorted by LLM-WER, lowest first. Lower is better in every column. Cost is for transcribing the whole benchmark.
DownloadDataset
| Statistic | Count |
|---|---|
| Simulated users | 5 |
| Form fields | 12 |
| Acoustic conditions per utterance | 4 |
| Unique audio recordings | 380 |
| Calls (unique call scripts) | 240 |
| Calls (with acoustic variations) | 960 |
| Unit tests (total) | 3,760 |
| Data extraction accuracy tests | 1,880 |
| Response quality tests | 1,880 |
Five simulated users each have fixed personal details for the 12 form fields. The form branches, so each user takes 48 paths through it: pregnant or not (2), whether the calling number is linked to the clinic (3), whether the WhatsApp number is the same as the calling number (4), and whether the caller knows her Aadhaar digits (2). That gives 5 × 48 = 240 calls.
Every answer was recorded by native Hindi speakers under four acoustic conditions: ideal, background noise, microphone distance, and speaking pace. Each call uses one condition throughout, so the 240 calls become 240 × 4 = 960.
Each benchmark is published on Calibrate, the open-source package used to run these evaluations. Open a benchmark and click Export results to download it.
| Benchmark | What you get |
|---|---|
| Speech-to-text benchmark | A zip file with every recording in audios/, and results.csv with each model's transcript next to the reference transcript, with its scores |
| Data extraction accuracy benchmark | A CSV file with one row per model per test case: the conversation so far, the model's output, whether it passed, and each judge's verdict |
| Response quality benchmark | A CSV file with one row per model per test case: the conversation so far, the model's reply, whether it passed, and each judge's verdict |
Every call fills the same maternal and child health enrollment form. Some questions are asked only after certain answers, and each question allows one or two retries before the call moves on or ends.

Evaluation
Each component is first tested in isolation, assuming its inputs are perfect. The agent is then tested end to end: the reference transcripts in the test inputs are replaced with transcripts from the speech-to-text models, so transcription errors carry into the LLMs.
Speech-to-text
DownloadA speech-to-text model transcribes the caller's speech. Each model transcribes the 380 recordings, and its transcripts are compared with the reference transcripts.
WER is commonly used to compare speech-to-text models, but it counts every surface difference as an error, such as “nine” against “9”, even when the meaning is unchanged. LLM-WER and LLM-CER are robust to these differences. The two disagree here: Nova-3 has the best WER yet the second-worst LLM-WER, partly because the reference transcripts are in Romanized Hindi while the predictions are in Devanagari. Models are therefore ranked by LLM-WER. Chirp 3 is the most accurate but costs at least twice as much as any other model, while Scribe v2 comes close at a fraction of the cost. Saaras v3, Scribe v2 and Nova-3 are carried into the tests below.
Data extraction accuracy
DownloadAn LLM extracts the relevant form values from the transcribed text. Each test is a single turn of a call: the agent receives the conversation so far, and the values it extracts are compared with the expected values for that turn. Closed-ended values such as numbers, dates and yes or no answers are scored by exact match. Open-ended values such as names can be spelled many ways (“Lakshmi” or “Laxmi”), so an LLM judge scores them instead.
Frontier models perform almost perfectly when transcription is perfect. With real transcripts, accuracy drops: the median drop is 0.42 points with Scribe v2 and 3.14 points with Saaras v3 and Nova-3. Weaker models degrade much more: GLM-5.1 collapses by 35 points with Scribe v2 transcripts. Real transcripts also change the leaderboard. GPT-5.5 leads with perfect transcription (99.79%), while Gemini 3.5 Flash and Claude Sonnet 4.6 lead with Scribe v2 (98.94%).
| # | Model | Reference | Saaras v3 | Scribe v2 | Nova-3 |
|---|---|---|---|---|---|
| 1 | GPT-5.5 | 99.79 | 95.53−4.26▼3 | 98.62−1.17▼2 | 95.16−4.63▼5 |
| 2 | Gemini 3.5 Flash | 99.36 | 95.69−3.67▼1 | 98.94−0.42▲1 | 96.38−2.98▲1 |
| 3 | Claude Opus 4.8 | 99.15 | 96.22−2.93▲2 | 98.40−0.75▼1 | 96.01−3.14▲1 |
| 3 | Claude Sonnet 4.6 | 99.15 | 96.01−3.14▲1 | 98.94−0.21▲2 | 95.96−3.19 |
| 5 | GLM-5.1 | 98.72 | 94.52−4.20▼1 | 63.40−35.32▼6 | 95.43−3.29▲1 |
| 6 | Gemini Pro | 97.23 | 94.26−2.97▼1 | 97.29+0.06 | 94.63−2.60▼1 |
| 7 | Gemini 2.5 Flash | 96.17 | 95.27−0.90▲2 | 98.03+1.86▲2 | 95.43−0.74▲3 |
| 8 | Gemini 3 Flash | 95.96 | 84.79−11.17▼2 | 88.83−7.13▼1 | 86.28−9.68▼2 |
| 9 | GPT-5.4-mini | 92.34 | 90.05−2.29▲1 | 96.76+4.42▲2 | 91.54−0.80▲1 |
| 10 | Mistral Medium 3.5 | 89.36 | 87.82−1.54▲1 | 92.34+2.98▲2 | 87.77−1.59▲1 |
| 11 | GPT-4.1 | 85.11 | 75.53−9.58 | 78.94−6.17▲1 | 79.84−5.27 |
| Speech-to-text model | Median accuracy (%) | Median change from reference (points) |
|---|---|---|
| Saaras v3 | 94.52 | −3.14 |
| Scribe v2 | 97.29 | −0.42 |
| Nova-3 | 95.16 | −3.14 |
The agent returns the extracted values by calling the process_user_turn tool, along with a short acknowledgement. Each test checks the values in that tool call.
Form completion accuracy
Testing each turn in isolation is not enough, because errors in one turn carry into the final form. For each call, starting from an empty form, the values extracted at each turn are written into it in order. Comparing the final form with the expected values gives the form completion accuracy: the share of form fields filled in correctly at the end of the call.
The best model end to end differs from the best model per turn. With perfect transcription, GPT-5.5 leads extraction accuracy (99.79%), whereas Gemini 3 Flash and Gemini 3.5 Flash tie for the highest form completion accuracy at 100%. The rule-based layer recovers turn-level errors: every extraction error by Gemini 3 Flash was a number returned as text, which the rules convert before storing the value. Form completion degrades more than extraction with real transcripts: the median drop is 7.67 points with Saaras v3, 7.38 with Scribe v2 and 13.56 with Nova-3, compared with 0.42 to 3.14 points per turn.
| # | Model | Reference | Saaras v3 | Scribe v2 | Nova-3 |
|---|---|---|---|---|---|
| 1 | Gemini 3 Flash | 100.00 | 85.24−14.76▼10 | 89.48−10.52▼8 | 83.92−16.08▼9 |
| 1 | Gemini 3.5 Flash | 100.00 | 90.74−9.26▼5 | 92.50−7.50▼2 | 87.09−12.91 |
| 3 | GPT-5.5 | 99.95 | 89.97−9.98▼6 | 89.37−10.58▼7 | 84.73−15.22▼4 |
| 4 | Claude Sonnet 4.6 | 99.66 | 91.55−8.11 | 93.01−6.65▲2 | 84.54−15.12▼4 |
| 5 | GLM-5.1 | 99.56 | 90.92−8.64 | 58.66−40.90▼6 | 86.09−13.47▲1 |
| 6 | Claude Opus 4.8 | 99.41 | 92.22−7.19▲4 | 92.03−7.38▲1 | 85.83−13.58▲1 |
| 7 | Gemini 2.5 Flash | 99.06 | 91.76−7.30▲4 | 92.39−6.67▲3 | 85.50−13.56▲1 |
| 8 | Gemini Pro | 98.90 | 92.55−6.35▲7 | 93.47−5.43▲7 | 86.53−12.37▲6 |
| 9 | GPT-5.4-mini | 98.35 | 90.68−7.67▲2 | 90.10−8.25▲1 | 84.40−13.95 |
| 10 | GPT-4.1 | 95.99 | 88.82−7.17 | 91.50−4.49▲3 | 86.33−9.66▲7 |
| 11 | Mistral Medium 3.5 | 92.83 | 90.39−2.44▲3 | 91.84−0.99▲5 | 83.37−9.46 |
| Speech-to-text model | Median accuracy (%) | Median change from reference (points) |
|---|---|---|
| Saaras v3 | 90.74 | −7.67 |
| Scribe v2 | 91.84 | −7.38 |
| Nova-3 | 85.50 | −13.56 |
Response quality
DownloadA second LLM phrases the next question, which a text-to-speech model speaks back to the caller. If every field has been answered, it ends the call instead. Along with the conversation so far, each test passes in the rule-based layer's decision about which question to ask next. Of the 1,880 tests, 920 require a reply and 960 check whether the call is ended at the right time. These results use Gemini 3.5 Flash for data extraction.
A reply has many correct phrasings, so binary LLM judges grade it instead of an exact match. A reply passes only if every judge listed for it passes.
| # | Model | Reference | Scribe v2 |
|---|---|---|---|
| 1 | Claude Sonnet 4.6 | 100.00 | 97.77−2.23 |
| 1 | GPT-4.1 | 100.00 | 96.60−3.40▼2 |
| 3 | GPT-5.4-mini | 98.09 | 96.70−1.39▲1 |
| 4 | Gemini 3 Flash | 97.23 | 96.17−1.06 |
| 5 | Gemini 3.5 Flash | 97.02 | 94.73−2.29 |
| Judge | Checks |
|---|---|
| Correctness | The reply asks the question the form selected next |
| Script Fidelity | The question is spoken word for word, as written in the form |
| No Acknowledgement | The reply does not acknowledge the caller's previous answer |
| No Value Echo | The reply does not read back the value the caller just gave |
| Hindi Language adherence | The reply is in Hindi, written in Devanagari |
| Reply Conciseness | The reply is exactly one question, with no bundled questions, summaries, or small talk |
| Info Script | The required informational line is spoken word for word, once, right before the question |
The decision to end the call is recorded as a call to the end_call tool and checked by exact match.
Video walkthrough
The video walks through the paper's evaluations.
License
CC BY-SA 4.0
Citation
@article{dalmia2026formbharo,
title = {FormBharo: Designing and Evaluating a Voice Agent for Conversational Form Filling in Rural India},
author = {Dalmia, Aman and Midha, Sanskriti and Doshi, Jigar},
journal = {arXiv preprint arXiv:2608.06027},
year = {2026},
url = {https://arxiv.org/abs/2608.06027}
}