VoiceGem

How to dictate a YAML config file, indentation included

YAML is the cleanest dictation target here, cleaner even than Python. A document is keys, colons, values and indentation, and every one of those characters binds correctly: “snake case retry limit colon 3 new line snake case log level colon debug” needs no cleanup.

A twelve-word two-key block takes about 14 seconds to type and about 4.4 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
retry_limit: 3
log_level: debug
	format: json

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

Step by step

  1. 1

    Say “snake case” then the key

    Speak the command and the words. Most YAML keys are snake_case or kebab-case, and both have a casing command.

  2. 2

    Say “colon” then the value

    Speak the separator and the value. The colon attaches left, producing key: value with exactly the spacing YAML requires.

  3. 3

    Say “new line” between entries

    Speak the whitespace command between keys. Whitespace commands run in the same pass as symbols, so a whole block is one utterance.

  4. 4

    Say “tab” once per nesting level

    Speak the indent command before a nested key. VoiceGem emits one tab per phrase and never infers depth, so count the levels yourself.

YAML asks for almost nothing VoiceGem gets wrong

A YAML document contains keys, a colon after each one, plain values, line breaks and indentation. The colon attaches left, which is exactly right; line breaks and tabs are whitespace commands; keys come from casing commands; and values are plain words that pass through untouched.

There are no braces to space, no generics, no quotes required around most values and no operators at all. That absence is why YAML dictates with less cleanup than any language on this site — the Deterministic Pass never has to make a spacing choice that YAML disagrees with.

Where the manual way breaks

Editors with a YAML schema will autocomplete keys and validate values as you type, which is genuine help that dictation does not replace. For a well-known schema, completion wins.

Indentation is where typing YAML goes wrong, and dictating it does not fix that — VoiceGem emits one tab per spoken phrase and never counts levels for you. The honest position is that YAML dictates cleanly and still needs you to know how deep you are, which is the same thing typing needs.

Doing this somewhere else? our speech-to-code converter, what changes for dictating JSON configuration, what changes for dictating Go doc comments, or what changes for dictating Javadoc comments.

Common questions

Almost never. Keys, colons, values, line breaks and tabs all bind correctly, so a dictated block is usually valid as it stands.

No. One tab is emitted per spoken phrase and depth is never inferred, so say the command once per level.

Say “tab dash” then the value. The hyphen arrives spaced, which is exactly what a YAML list item wants.

Dictate a nested config block and check the indentation you counted.

Open the tool