AI Tools

Sarvam AI Speech-to-Text: Turn Hindi and English Audio Into a Reviewed Transcript

Turn a short Hindi–English recording into a transcript you can check. Choose a Sarvam output mode, review names and numbers, and keep corrections traceable to the audio.

Voice recorder and headphones beside an open notebook, with a teal waveform representing audio transcription.

A useful Hindi–English transcript should let you return to the recording and check what was said. Start with a short audio file, choose the output style deliberately, and review the passages that could change a decision: a name, a quantity, a deadline, or a word such as “नहीं”.

Sarvam AI offers speech recognition through its Saaras models. This guide uses saaras:v3, which Sarvam lists as its default, recommended model, with support for Hindi, English, and mixed-language speech. See Sarvam’s Saaras model documentation.

The workflow below produces three separate records: the untouched machine transcript, a transcript checked against the audio, and an optional summary. The worked example is fictional and illustrates a review method; it is not output from a live Sarvam test or an accuracy benchmark. Product documentation was checked on 14 September 2026.

1. Prepare one short recording and a review sheet

For a first attempt, choose a recording you are allowed to upload, with one speaker and a clear beginning and end. Aim for 15–20 seconds so you can replay the entire sample while checking the result. Use your own test voice note before processing someone else’s conversation.

Keep the original audio unchanged. Record its filename and duration in a review sheet, along with the model and mode you use. If the clip is an excerpt, record its starting position in the full recording. That gives you a way to translate a clip-relative timestamp back into the original audio.

Sarvam’s speech-to-text API overview documents a 30-second REST limit and a Batch API for longer recordings, up to two hours per file. WAV and MP3 are among the supported formats. Use the short REST route for this exercise; consult the Batch documentation for a full meeting or interview.

Before submitting the clip, write down a few things to verify: any person or company names you already know, technical expressions, and numbers you expect to hear. Treat this list as reference material during review. It must not become a script that you force onto the recording.

2. Choose how Hindi and English should appear

The following options follow Sarvam’s documented output modes. The “choose it when” column is an editorial recommendation.

Choosing an output mode for a first transcript
ModeDocumented outputChoose it when
codemixEnglish words in English script; Indic words in their native script.You want to review a Hindi–English conversation in mixed script.
transcribeOriginal-language text with formatting and number normalization.You want a readable starting transcript.
verbatimPreserves fillers and spoken number wording without normalization.The precise wording matters more than tidiness.
translitSpeech rendered in Roman script.Your reviewer prefers reading Hindi in Latin letters.
translateSpeech translated into English.You need a separate English version after reviewing the source wording.

For this walkthrough, use codemix. Keep expressions such as “invoice”, “dispatch”, or “delivery date” in English where they were spoken that way. Set an explicit review rule: preserve the speaker’s language choices, and record any later translation as a separate document.

If you choose verbatim, still check the output against the recording. A mode name describes the requested output style; your review establishes whether a particular passage matches the audio.

3. Generate the first transcript

The example below uses Python and Sarvam’s sarvamai SDK. Have Python available and install the package with python -m pip install sarvamai, as documented in Sarvam’s official SDK guide. Create an API key in your Sarvam dashboard and supply it through an environment variable named SARVAM_API_KEY. Sarvam’s authentication guidance explains key creation and recommends environment variables instead of hardcoded secrets. Check your account’s available credits before making a request.

Save the code as transcribe.py, place the short recording beside it as sample.wav, and run python transcribe.py from that folder. This example follows the documented SDK call and saves the returned text locally. It has been checked for Python syntax and against the documentation, but has not been executed against the live service.

import os
from pathlib import Path
from sarvamai import SarvamAI

client = SarvamAI(
    api_subscription_key=os.environ["SARVAM_API_KEY"]
)

with open("sample.wav", "rb") as audio_file:
    result = client.speech_to_text.transcribe(
        file=audio_file,
        model="saaras:v3",
        mode="codemix",
        language_code="unknown",
        with_timestamps=True,
    )

Path("transcript-raw.txt").write_text(
    result.transcript, encoding="utf-8"
)
print(result)

The speech-to-text REST reference documents the request fields: unknown enables language detection, while with_timestamps=True requests phrase or sentence timestamps. Those are chunk-level timestamps, not a timing mark for every word. The REST response does not provide speaker diarization; use Batch when you need that capability.

Save the timestamp information displayed in the response beside the raw transcript. Keep each attempt in its own folder so rerunning the script does not overwrite an earlier result. Create a working copy named transcript-reviewed.txt for your corrections.

The response’s language code describes the predominant detected language when several are present. Do not use it as a label for every word in a mixed-language recording. This behavior is also specified in the REST response field definitions.

4. Review one Hindi–English passage

Suppose your test recording contains the following sentence. All names, amounts, and sample errors here are invented for this exercise.

“रीमा जी, invoice पंद्रह हज़ार का है, पचास हज़ार का नहीं। Friday तक draft भेजना है; dispatch अभी confirm नहीं हुआ है।”

First, replay the whole sentence without editing. Then compare the transcript with the recording phrase by phrase. The checks below show what to do if a draft contains an error; they do not imply Sarvam produced these particular mistakes.

Illustrative transcript review decisions
Item to checkPossible draft problemReview action
Person’s name“रीमा” becomes “सीमा”.Replay the name. Confirm spelling separately if needed; do not substitute a familiar person merely because the name seems plausible.
Invoice amountThe draft states ₹50,000.Preserve the correction: ₹15,000, not ₹50,000. Check both amounts and the negative word.
Deadline“Friday” becomes a calendar date.Keep “Friday” in the transcript. Add an inferred date only in a separate note after confirming the recording date and intended week.
Task“Send the draft” becomes “dispatch the goods”.Retain the exact action requested. Review the clause around “draft” before creating a task.
Dispatch statusThe draft says dispatch is confirmed.Keep the unresolved status expressed by “confirm नहीं हुआ है”.

A reviewed mixed-script version for this fictional recording could be:

रीमा जी, invoice 15,000 का है, 50,000 का नहीं। Friday तक draft भेजना है; dispatch अभी confirm नहीं हुआ है।

This version converts the spoken amounts into digits as an explicit editorial choice. For a word-for-word record, retain the spoken number wording instead. Whichever convention you choose, write it at the top of the reviewed file and apply it consistently.

For an unclear phrase, use a marker such as [unclear at 00:12], taking the time from your actual recording. Leave competing interpretations in the review log until someone can resolve them. Never turn a guessed word into an unmarked correction.

5. Keep a correction log

Use four columns: audio position, raw wording, reviewed wording, and reason for the change. Add your initials and review date to the file. You should be able to explain a correction by pointing to the audio or to a clearly labeled spelling confirmation.

Review the entire short sample, then replay the passages containing names, amounts, dates, units, negatives, and changes of speaker. If several people speak over each other, mark the overlap rather than assigning a statement to whichever speaker seems most likely.

If the result is difficult to review, isolate the problem before trying again. Is the audio unclear when you listen? Is the chosen script awkward for the reviewer? Did the output translate a passage when you wanted its original wording? Change one thing per attempt and retain both versions for comparison.

6. Use AI to organize the review, with clear limits

After generating the transcript, you can paste it into a text assistant with this prompt. Use it to prepare a review queue. Verification still requires listening to the recording.

You are organizing a transcript review. You have text only.

Preserve the supplied Hindi and English wording.
Do not translate, summarize, silently correct names or numbers,
or fill unclear passages with guesses.

Return a table with:
1. The exact passage to review
2. What needs checking: name, number, date, negation,
   speaker, missing context, or unclear wording
3. A question for the human reviewer

Use supplied timestamps only. If none exists for a passage,
write "timestamp not supplied". Do not invent a confidence score.
Keep every uncertainty marker. Do not claim the audio was checked.

TRANSCRIPT:
[Paste the machine transcript here]

Check the review queue for omissions yourself. For the fictional sentence above, a useful question would be “Does Friday refer to sending the draft or dispatching the goods?” A rewritten, fluent sentence would not answer that question.

7. Turn the reviewed transcript into useful notes

Prepare a summary only after the transcript review. Label it as a summary and keep unresolved items visible. For the example, the notes could state: invoice amount ₹15,000; draft due Friday; dispatch unconfirmed. Do not add an owner or calendar date unless the recording or a separately identified source establishes it.

Choose the next prompt according to the recording’s purpose:

Before handing over the work, include the audio reference, raw transcript, reviewed transcript, correction log, and any separately labeled summary. Mark the result “reviewed with unresolved passages” if uncertainty remains. That gives the next reader both usable text and a clear route back to its source.