How it will hear a booking on a bad line.
The same 24 invented booking calls, played clean, over a phone line and through noise, scored on what a booking needs. Measured on Gnani Prisma v3.0 on 6 Nov 2026.
How it is measured
- The calls
- 24 invented booking calls for a clinic front desk: 8 in Hindi, 8 in Marathi and 8 in Hinglish. Each has a person's name, a day or date and a time; some also have an amount or a ten-digit phone number spoken digit by digit. No real person or number.
- The line
- Each call is played clean, then over an 8 kHz phone band (300 to 3400 Hz), through street noise at 10, 5 and 0 dB, through the G.711 phone codec, and through the phone band with noise together. The degradations are applied by software and the seed is fixed, so the run can be repeated.
- The score
- A booking counts as completed only when the name, the day and the time were all found, in any accepted spelling in either script. That is stricter than word error, which is printed beside it, and it is what a booking needs.
- With and without keyterms
- Every condition is run twice: once plain, and once with the names, weekdays and services the business's own documents contain sent to Prisma as keyterms. The gap between the two columns is what the documents buy.
Booking completed, by condition
Share of clips where the name, the day and the time were all found.
| Condition | No keyterms | With keyterms | Word error | Median time |
|---|---|---|---|---|
| CleanUnprocessed synthetic speech, resampled to 16 kHz | 100% | 100% | 0.01 | 0.82 s |
| Phone line, 8 kHzBand-passed 300 to 3400 Hz and carried at 8 kHz | 100% | 100% | 0.02 | 0.82 s |
| Phone codec, G.711Mu-law at 8 kHz, as on a landline or SIP trunk | 100% | 100% | 0.01 | 0.81 s |
| Street noise, 10 dBBabble and street noise, speech 10 dB above | 100% | 100% | 0.02 | 0.82 s |
| Street noise, 5 dBSpeech 5 dB above the noise | 100% | 100% | 0.02 | 0.81 s |
| Street noise, 0 dBSpeech and noise equally loud | 96% | 100% | 0.09 | 0.82 s |
| Phone line and noise5 dB noise first, then the 8 kHz phone band | 95% | 100% | 0.04 | 0.83 s |
Which part of the booking was lost
Share of each field found, all languages together, without keyterms. Amounts and phone numbers only count the clips that have one.
| Condition | Name | Date | Time | Amount | Phone number |
|---|---|---|---|---|---|
| Clean | 100% | 100% | 100% | 100% | 100% |
| Phone line, 8 kHz | 100% | 100% | 100% | 100% | 100% |
| Phone codec, G.711 | 100% | 100% | 100% | 100% | 100% |
| Street noise, 10 dB | 100% | 100% | 100% | 100% | 83% |
| Street noise, 5 dB | 100% | 100% | 100% | 100% | 50% |
| Street noise, 0 dB | 96% | 100% | 100% | 89% | 67% |
| Phone line and noise | 95% | 100% | 100% | 100% | 100% |
What to look for
- Where the cliff is. Whether the phone band and the codec cost little, and how far noise pulls a booking down.
- Which field goes first. Dates, names, times and ten-digit phone numbers fail differently. A phone number heard whole is the case the read-back exists for: the front desk reads every number back and commits only on a spoken yes, whatever this table says.
- What keyterms buy.The business's own names sent as keyterms against the plain run.
Method, the task set and the result file format are in docs/STRESS_REPORT.md. Run it with ./vakya stress --conditions all --provider gnani --keyterms once a Gnani key is set.