v150 · Speech API · Input

Punctuation Analyzer

Type (or dictate) a transcript as it would come from the speech engine without unspoken punctuation — all lowercase, no commas or periods. Then see how unspokenPunctuation: true would reformat it using heuristics based on pauses and sentence boundaries.

Checking Web Speech API and unspokenPunctuation support…
Raw transcript (as if unspokenPunctuation: false) — type or click a preset:
unspokenPunctuation: false (raw)
unspokenPunctuation: true (inferred)
0words
0sentences inferred
0commas inferred
0questions inferred

how unspokenPunctuation works

When unspokenPunctuation: true, the on-device speech model uses prosodic cues — pitch drop at sentence end, micro-pauses before clauses, question intonation — to infer punctuation. The speaker never says the word "comma" or "period"; the model places them based on speech patterns. This demo uses heuristic rules to simulate the effect on typed text.

const recognition = new SpeechRecognition();
recognition.unspokenPunctuation = true;  // Chrome 150+ feature flag
recognition.interimResults = true;
recognition.continuous = true;
recognition.start();

// Transcripts now include inferred punctuation
recognition.onresult = e => {
  const transcript = e.results[e.resultIndex][0].transcript;
  // "I was walking down the street, and then it started to rain."
  // Instead of: "i was walking down the street and then it started to rain"
};

see also

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗