VoiceGem

How to dictate a SQL function and its query body

SQL is the language where casing commands matter more than symbols. VoiceGem turns “create function snake case total revenue open paren close paren returns numeric as” into a complete header, and the query body underneath is mostly plain words with commas between them.

A fourteen-word aggregate query takes roughly 16 seconds to type and roughly 5.1 seconds to say. (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
create function total_revenue_by_region() returns numeric as

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

Step by step

  1. 1

    Say the SQL keywords plainly

    Speak create, function, returns and as directly. None of them is in VoiceGem's lookup table, so all of them pass through untouched.

  2. 2

    Name identifiers with a casing command

    Say “snake case” then the words. Most SQL conventions use snake_case for tables, columns and functions, so this single command carries most of the work.

  3. 3

    Say “comma” between select-list items

    Speak the phrase between columns. The comma attaches left, producing the spacing a SQL formatter leaves in a select list.

  4. 4

    Quote string values with “single quote”

    Say the phrase either side of the value. Both marks attach on both sides, so a multi-word value keeps its internal spaces inside the literal.

SQL is the language where VoiceGem's casing half matters more than its symbol half

Query text is mostly words. A select statement carries column names, table names, keywords and aliases with commas and the occasional quote between them, which means the casing commands do nearly all of the transformation and the symbol table barely gets used.

That shape is the one dictation suits best. The Deterministic Pass passes unrecognised words through untouched, so SQL keywords survive exactly as spoken, and the only phrases you need are a casing command per identifier and a comma between list items.

Where the manual way breaks

Database tooling autocompletes table and column names, which is a genuine advantage typing has and dictation does not. For a query against a schema you half remember, the editor is the better tool.

Long aggregate queries are the case worth speaking. A grouped select with three aggregate expressions, four aliases and a where clause is a paragraph of words with light punctuation, and dictating it in VoiceGem means saying the query the way you would explain it. Every alias comes from one casing command.

Doing this somewhere else? speech-to-code converter, on your own input, dictating Bash functions, step by step, dictating Go functions, step by step, or dictating Java methods specifically.

Common questions

No. Words absent from VoiceGem's lookup table pass through untouched, so select, from, where and group all arrive as spoken.

Say “constant case” then the words. The command uppercases each word and joins them with underscores.

Yes. Say “single quote” either side. Both marks attach on both sides, so a multi-word value keeps its internal spaces.

Dictate a grouped aggregate query and check every alias.

Open the tool