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.

How the agent handles one turn: speech-to-text writes down what the caller said, one LLM pulls out the form values, rules check them and pick the next question, and a second LLM phrases it
How the agent handles one turn of the call.

Leaderboard

Results for the configuration the paper selected. The Evaluation section below shows how each model changes across speech-to-text models.

#ModelWERLLM-WERCERLLM-CERCost
1Chirp 30.981 ± 0.0070.055 ± 0.0250.8280.048$0.424
2Scribe v20.835 ± 0.0150.062 ± 0.0240.6420.052$0.172
3Saaras v31.007 ± 0.0040.074 ± 0.0280.8650.067$0.137
4Nova-30.826 ± 0.0150.104 ± 0.0310.6300.086$0.127
5GPT-4o-transcribe1.012 ± 0.0040.127 ± 0.0330.8700.113$0.159

Sorted by LLM-WER, lowest first. Lower is better in every column. Cost is for transcribing the whole benchmark.

Download

Dataset

StatisticCount
Simulated users5
Form fields12
Acoustic conditions per utterance4
Unique audio recordings380
Calls (unique call scripts)240
Calls (with acoustic variations)960
Unit tests (total)3,760
Data extraction accuracy tests1,880
Response quality tests1,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.

BenchmarkWhat you get
Speech-to-text benchmarkA 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 benchmarkA 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 benchmarkA 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.

The enrollment form as a flow of questions, from name and district through pregnancy or child details to the last four digits of the Aadhaar card, with the retries allowed for each
The order of questions in the form, and the retries allowed for each. Click the figure to see it at full size.

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

Download

A 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

Download

An 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%).

#ModelReferenceSaaras v3Scribe v2Nova-3
1GPT-5.599.7995.53−4.26▼398.62−1.17▼295.16−4.63▼5
2Gemini 3.5 Flash99.3695.69−3.67▼198.94−0.42▲196.38−2.98▲1
3Claude Opus 4.899.1596.22−2.93▲298.40−0.75▼196.01−3.14▲1
3Claude Sonnet 4.699.1596.01−3.14▲198.94−0.21▲295.96−3.19
5GLM-5.198.7294.52−4.20▼163.40−35.32▼695.43−3.29▲1
6Gemini Pro97.2394.26−2.97▼197.29+0.0694.63−2.60▼1
7Gemini 2.5 Flash96.1795.27−0.90▲298.03+1.86▲295.43−0.74▲3
8Gemini 3 Flash95.9684.79−11.17▼288.83−7.13▼186.28−9.68▼2
9GPT-5.4-mini92.3490.05−2.29▲196.76+4.42▲291.54−0.80▲1
10Mistral Medium 3.589.3687.82−1.54▲192.34+2.98▲287.77−1.59▲1
11GPT-4.185.1175.53−9.5878.94−6.17▲179.84−5.27
Speech-to-text modelMedian accuracy (%)Median change from reference (points)
Saaras v394.52−3.14
Scribe v297.29−0.42
Nova-395.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.

#ModelReferenceSaaras v3Scribe v2Nova-3
1Gemini 3 Flash100.0085.24−14.76▼1089.48−10.52▼883.92−16.08▼9
1Gemini 3.5 Flash100.0090.74−9.26▼592.50−7.50▼287.09−12.91
3GPT-5.599.9589.97−9.98▼689.37−10.58▼784.73−15.22▼4
4Claude Sonnet 4.699.6691.55−8.1193.01−6.65▲284.54−15.12▼4
5GLM-5.199.5690.92−8.6458.66−40.90▼686.09−13.47▲1
6Claude Opus 4.899.4192.22−7.19▲492.03−7.38▲185.83−13.58▲1
7Gemini 2.5 Flash99.0691.76−7.30▲492.39−6.67▲385.50−13.56▲1
8Gemini Pro98.9092.55−6.35▲793.47−5.43▲786.53−12.37▲6
9GPT-5.4-mini98.3590.68−7.67▲290.10−8.25▲184.40−13.95
10GPT-4.195.9988.82−7.1791.50−4.49▲386.33−9.66▲7
11Mistral Medium 3.592.8390.39−2.44▲391.84−0.99▲583.37−9.46
Speech-to-text modelMedian accuracy (%)Median change from reference (points)
Saaras v390.74−7.67
Scribe v291.84−7.38
Nova-385.50−13.56

Response quality

Download

A 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.

#ModelReferenceScribe v2
1Claude Sonnet 4.6100.0097.77−2.23
1GPT-4.1100.0096.60−3.40▼2
3GPT-5.4-mini98.0996.70−1.39▲1
4Gemini 3 Flash97.2396.17−1.06
5Gemini 3.5 Flash97.0294.73−2.29
JudgeChecks
CorrectnessThe reply asks the question the form selected next
Script FidelityThe question is spoken word for word, as written in the form
No AcknowledgementThe reply does not acknowledge the caller's previous answer
No Value EchoThe reply does not read back the value the caller just gave
Hindi Language adherenceThe reply is in Hindi, written in Devanagari
Reply ConcisenessThe reply is exactly one question, with no bundled questions, summaries, or small talk
Info ScriptThe 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}
}