Skip to content

Comments

Add say-ukrainian skill v1.2.0#73

Open
zubyul wants to merge 1 commit intomainfrom
say-ukrainian-v1.2.0
Open

Add say-ukrainian skill v1.2.0#73
zubyul wants to merge 1 commit intomainfrom
say-ukrainian-v1.2.0

Conversation

@zubyul
Copy link
Contributor

@zubyul zubyul commented Feb 22, 2026

Summary

  • New say-ukrainian skill: foreign (non-Ukrainian) macOS TTS voices speak Ukrainian as counterfactual narration
  • scripts/patch-singles.sh: replaces standalone single Cyrillic letters with phonetic Latin sounds before TTS, preventing "cyrillic letter X" announcements while keeping all Cyrillic words intact
  • Examples from Richard Siken's Litany in Which Certain Things Are Crossed Out (Crush, Yale, 2005) with tested voice assignments across GF(3) trit classes

Details

  • Cyrillic-first policy: feed Cyrillic to TTS, only patch isolated single-letter tokens (і→ee, у→oo, з→z, etc.)
  • Voice Cyrillic support (empirically tested): Ava (Premium), Nathan (Enhanced), Samantha (Enhanced) handle Cyrillic words; Alice, Federica, Emma, Paola need full Latin transliteration
  • GF(3) conservation: say-ukrainian (+1) ⊗ say-narration (-1) ⊗ open-games (0) = 0
  • Trit: +1 (PLUS), Color: #FFD700

Test plan

  • Run echo "річ із вершків і зірок" | scripts/patch-singles.sh — verify only standalone і is patched to ee, words untouched
  • say -v "Ava (Premium)" "Чорне небо поколоте дрібними вогниками" — verify no letter-name announcements
  • say -v "Alice (Enhanced)" "Rozplyooshchooyesh ochee" — verify Latin fallback produces intelligible Ukrainian sounds

🤖 Generated with Claude Code

Foreign voices speak Ukrainian via macOS TTS. Cyrillic-first with
targeted Latin patching for standalone single-letter tokens that
trigger "cyrillic letter X" announcements. Examples from Siken's
Litany. Voice-as-counterfactual via open games optic structure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant