concept · Web API · Speech

Punctuation Transcription

Speak naturally and compare what the engine produces with and without unspokenPunctuation. The left panel runs a recognition session without auto-punctuation; the right panel runs a separate session with it enabled. Both listen simultaneously.

Your browser does not support the Web Speech API (SpeechRecognition). Try Chrome 151+ on desktop.
Try saying: "I went to the store yesterday and I picked up some milk then I came home and made dinner it was really good"
(Say it naturally, without verbal punctuation — pause at sentence boundaries.)
unspokenPunctuation
Click "Start listening" to begin
unspokenPunctuation: false
Raw transcript will appear here…
unspokenPunctuation: true
Punctuated transcript will appear here…
Both panels listen to the same microphone input using two separate SpeechRecognition instances. The difference is a single property: recognition.unspokenPunctuation. On Chrome 151 with an on-device recognizer that supports auto-punctuation, you will see commas, periods, and question marks appear in the right panel without you having to say them.

the pattern

const raw = new SpeechRecognition(); const punct = new SpeechRecognition(); // raw transcript — no auto-punctuation raw.unspokenPunctuation = false; raw.continuous = true; raw.interimResults = true; // punctuated transcript — engine infers pauses/sentence ends punct.unspokenPunctuation = true; punct.continuous = true; punct.interimResults = true; raw.onresult = e => { // e.results[i][0].transcript — plain words, no punctuation }; punct.onresult = e => { // e.results[i][0].transcript — "Hello, how are you?" };

see also

implementation reference

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