demo · v151

Punctuation Diff Viewer

Two recognizers, one microphone. The left-hand panel runs unspokenPunctuation: true; the right runs with it off. Speak naturally, watch the diff appear in real time, and see exactly which tokens the engine inferred.

Requires microphone permission. If your browser doesn't yet support unspokenPunctuation, the right panel will mirror the left. If SpeechRecognition is unavailable entirely, you'll see a feature-detect message.

controls

idle

diff

unspokenPunctuation: true

engine adds punctuation it inferred

(speak into your mic)

unspokenPunctuation: false

raw transcript, spoken words only

(speak into your mic)
words on left
words on right
inferred punctuation

code

// Run two recognisers in parallel with different flags.
const rOn  = new SpeechRecognition();
const rOff = new SpeechRecognition();

rOn.unspokenPunctuation  = true;
rOff.unspokenPunctuation = false;

[rOn, rOff].forEach(r => {
  r.continuous = true; r.interimResults = true; r.lang = "en-US";
});

rOn .onresult = (e) => renderInto("tOn",  e);
rOff.onresult = (e) => renderInto("tOff", e);

rOn.start(); rOff.start();

see also

implementation reference

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