VoiceGem

How to say a single quote for string literals and characters

Say “single quote” or “apostrophe” to produce ' bound on both sides, so “single quote a single quote” assembles as 'a'. The “apostrophe” alias also reaches it, which matters for Rust lifetimes and for SQL string values where a single mark is the convention.

A twelve-word SQL predicate costs roughly 14 seconds typed against roughly 4.4 seconds spoken. (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
where status ='active'and deleted = false

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

Step by step

  1. 1

    Say the opening mark

    Speak “single quote” where the literal begins. The character attaches on both sides and binds forward onto the first word inside.

  2. 2

    Say the value

    Speak the contents. Words outside VoiceGem's table pass through unchanged, so identifiers, keywords and ordinary English all survive inside the literal.

  3. 3

    Say the closing mark

    Speak the phrase again. Two marks are two independent lookups, so the pair is only balanced because you said both.

  4. 4

    Typing it instead

    Press the apostrophe key, unmodified on a US layout. It is one of the cheapest characters to type and auto-pairing handles it well.

The apostrophe alias exists for Rust lifetimes and SQL

Two phrases reach this character and they come from different worlds. A JavaScript developer says “single quote” for a string delimiter; a Rust developer says “apostrophe” for a lifetime annotation, where the mark is not a quote at all and calling it one would be confusing.

Naming characters the way the reader names them is the reason VoiceGem's table carries ninety phrases for forty-eight outputs. The Deterministic Pass gains nothing from aliases — every one points at the same entry — but the person speaking gains a phrase that matches what they were already thinking.

Where the manual way breaks

The apostrophe is unmodified and auto-pairing completes it. For a short literal the keyboard is quicker and this page will not pretend otherwise.

SQL predicates are a genuinely good dictation target. A where clause is mostly words — column names, values, keywords — with quotes and operators between them, which is the shape VoiceGem handles best. Dictating the clause means saying the query you were already composing in your head, and the quote marks land where you put them.

Doing this somewhere else? the spoken-symbol reference on this site, the backtick, the same thing for the double quote, or the underscore.

Common questions

Because Rust lifetimes and SQL values use the mark without anyone calling it a quote. Both phrases point at the same entry in VoiceGem's table.

Say “ampersand apostrophe a str”. The ampersand keeps its spacing, so close that gap afterwards; the apostrophe binds correctly on its own.

In VoiceGem's table they are separate entries with separate phrases. Which one your language prefers is entirely your call.

See all 90 phrases and which of the 48 outputs each one reaches.

Open the tool