{
  "$schema_comment": "Canonical TTS pronunciation table. Each entry: 'written' is how the term appears in captions/docs/code; 'narration' is the spelling fed to the TTS engine; 'engines_confirmed' lists which engines were tested; 'reason' and 'added_by' are metadata. Consumer skills (demo-recording, video-post, voiceover) look up the 'written' key and substitute 'narration' into any TTS input.",
  "version": "1.0.0",
  "updated": "2026-04-23",
  "entries": [
    {
      "written": "adom-tsci",
      "narration": "adom t s c i",
      "engines_confirmed": ["edge-tts"],
      "reason": "TTS reads 'tsci' as 'sci' or 'ski' — a single word. Spelling each letter with spaces gets the intended four-letter reading.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "tscircuit",
      "narration": "t s circuit",
      "engines_confirmed": ["edge-tts"],
      "reason": "Inconsistent across voices; some render 'tscircuit' correctly, others as 'tuh-circuit' or 'ts-circuit'. Safer to force letters.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "JLCPCB",
      "narration": "J L C P C B",
      "engines_confirmed": ["edge-tts", "azure"],
      "reason": "Acronym — reads as garbled single word without letter separation.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "PCB",
      "narration": "P C B",
      "engines_confirmed": ["edge-tts", "piper", "azure"],
      "reason": "Acronym, always spelled.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "SMT",
      "narration": "S M T",
      "engines_confirmed": ["edge-tts", "piper", "azure"],
      "reason": "Acronym (surface-mount technology).",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "SMD",
      "narration": "S M D",
      "engines_confirmed": ["edge-tts", "piper", "azure"],
      "reason": "Acronym (surface-mount device).",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "KiCad",
      "narration": "kai cad",
      "engines_confirmed": ["edge-tts"],
      "reason": "Community pronunciation is 'kai cad' (long-i); some voices default to 'kee cad'. Forcing the phonetic spelling matches the community norm.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "MPN",
      "narration": "M P N",
      "engines_confirmed": ["edge-tts", "azure"],
      "reason": "Acronym (manufacturer part number).",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "BOM",
      "narration": "bill of materials",
      "engines_confirmed": ["edge-tts", "piper"],
      "reason": "'BOM' reads as the word 'bomb' in many voices. 'B O M' also reads oddly because of the mouth-shape. Expanding to 'bill of materials' is cleanest.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "FPGA",
      "narration": "F P G A",
      "engines_confirmed": ["edge-tts", "piper", "azure"],
      "reason": "Acronym (field-programmable gate array).",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "I²C",
      "narration": "I squared C",
      "engines_confirmed": ["edge-tts"],
      "reason": "Superscript '²' gets dropped or mangled. 'I squared C' is the engineer-standard reading.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "I2C",
      "narration": "I squared C",
      "engines_confirmed": ["edge-tts"],
      "reason": "ASCII-fallback for I²C — same audio reading, match the standard spoken form.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "SPI",
      "narration": "S P I",
      "engines_confirmed": ["edge-tts", "piper"],
      "reason": "Acronym (serial peripheral interface). Engines otherwise try 'spy'.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "UART",
      "narration": "you art",
      "engines_confirmed": ["edge-tts"],
      "reason": "Engineers say 'you-art' (two syllables). Engines tend to rhyme it with 'heart' ('yoo-art' as one syllable). Forcing 'you art' with a space reproduces the intended split.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "MCU",
      "narration": "M C U",
      "engines_confirmed": ["edge-tts", "piper"],
      "reason": "Acronym (microcontroller unit).",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "GPIO",
      "narration": "G P I O",
      "engines_confirmed": ["edge-tts", "piper"],
      "reason": "Acronym (general-purpose input/output). Some voices try 'jee-pee-oh' with a blended i/o; letter-by-letter is cleaner.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "VERSION_NUMBER_PATTERN",
      "narration": "spell as words — e.g. '1.3.7' → 'one point three point seven'",
      "engines_confirmed": ["edge-tts", "piper", "azure"],
      "reason": "Numeric version strings like '1.3.7' get read as 'one three seven' or mangled decimals. Always spell in narration.",
      "added_by": "john",
      "added_date": "2026-04-23"
    },
    {
      "written": "DATE_PATTERN",
      "narration": "spell as words — e.g. '2026-04-23' → 'April twenty third'",
      "engines_confirmed": ["edge-tts", "piper"],
      "reason": "Hyphenated dates mangle. Convert to spoken form.",
      "added_by": "john",
      "added_date": "2026-04-23"
    }
  ]
}
