VoiceGem

How to dictate a backtick for template literals and Markdown

Say “backtick” to produce a backtick bound on both sides, so “backtick hello backtick” assembles as `hello`. Interpolation needs three more phrases: “dollar sign open brace”, the expression, then “close brace” — and the braces keep their spaces, so the slot arrives as ${ name }.

A thirteen-word interpolated string takes about 15 seconds on a keyboard and about 4.8 seconds aloud. (sources: Dhakal, Feit, Kristensson & Oulasvirta, “Observations on Typing from 136 Million Keystrokes”, CHI 2018, 168,000 participants, 136 million keystrokes; Yuan, Liberman & Cieri, “Towards an Integrated Understanding of Speaking Rate in Conversation”, Interspeech 2006, 2,438 American English telephone conversations (Switchboard corpus). The speech figure is conversational rate, not a measured dictation rate — no such measurement exists.)

What lands in your editor
const greeting =`hello ${ name }`

This tool runs entirely in your browser. Nothing you type is sent anywhere, stored, or logged.

Step by step

  1. 1

    Say the opening backtick

    Speak the phrase where the template starts. The character attaches on both sides and binds forward onto whatever follows.

  2. 2

    Say the literal text

    Speak the fixed part of the string. Words outside VoiceGem's table are untouched, so ordinary prose inside a template survives dictation.

  3. 3

    Open a slot with “dollar sign open brace”

    Speak the two phrases together for interpolation. The dollar sign attaches right and the brace attaches on neither side, so the slot comes out as ${ with a trailing space to remove.

  4. 4

    By hand

    Press the backtick key at the top left of a US layout. It is unmodified, though it is far from the home row, which is why the spoken phrase is worth having.

Template interpolation is three phrases and one space to remove

Four characters make up a template slot and VoiceGem places three of them tightly. The dollar sign attaches rightward onto the brace, the closing brace attaches on neither side, and the result is ${ name } — correct except for the two internal spaces.

The braces are the same table entry a block opener uses, and a block opener genuinely wants its spaces. Serving both from one entry means the interpolation slot pays a small tidy-up, which the Deterministic Pass prefers to guessing which of the two you meant.

Where doing it by hand breaks down

The backtick key is unmodified but it sits at the top-left corner, and plenty of developers hesitate before reaching for it. This is one of the characters where saying the word is genuinely competitive.

Multi-line templates are the case worth dictating. A template spanning three lines with an interpolation on each is a mix of backticks, dollar signs, braces and line breaks, and VoiceGem handles the line breaks as whitespace commands in the same pass as the symbols — so the whole block is one utterance.

Doing this somewhere else? the full speech-to-code converter, how the double quote works, the single quote, or the underscore specifically.

Common questions

Say “dollar sign open brace”, the expression, then “close brace”. The slot arrives as ${ name } with two internal spaces to remove.

Yes. Say “new line” between the lines. Whitespace commands are resolved in the same pass as symbols, so the whole block is one continuous sentence.

No. The backtick is one of twelve characters in VoiceGem's table with exactly one spoken phrase.

Dictate a three-line template and see the line breaks land.

Open the tool