KZ TTS — вердикт от Jean (2026-05-02)
Date: 2026-05-02 (verdict captured from ~/Desktop/oiynup рассуэждения.mp4, таймкод 21:00–24:30)
Date captured into doc: 2026-05-04
Status: Closes the three open questions in 2026-05-02-kz-stt-tts-stack.md. Updates ADR-0023 §TTS row.
Jean прослушал MMS adult, MMS pitch-shifted (kid +4/+6/+8 semitones), F5-TTS V1 stock cross-lingual клипы. Вердикт:
Самое крутое — детский голос, ребёнку понятно. Сейчас голос актёра — нейтральный, который есть у этой модели. В смысле, она научилась на голосе актёра, и он перекрылся как у играл.
То есть: pitch-shifted +4/+6 semitones — acceptable как V1 stopgap (ship это сейчас), но child-voice — hard criterion для V2. F5-TTS V1 stock cross-lingual = провал, не разворачиваем (gibberish phonemes, см. round-trip via Uali в основном бенчмарке).
Ответы на 3 open questions из основного спека
Заголовок раздела «Ответы на 3 open questions из основного спека»Q1. «Listen to the three TTS clips. Is MMS-TTS-kaz acoustic quality good enough for V1 napарник narration?»
Заголовок раздела «Q1. «Listen to the three TTS clips. Is MMS-TTS-kaz acoustic quality good enough for V1 napарник narration?»»A: Yes, как V1 ship-это-завтра. MMS-TTS-kaz adult voice интеллигибелен и звучит как «голос актёра, ровный читающий тон». Это не финальное качество, но достаточно для:
- Narration в обучающих эпизодах
- Quest/feedback подсказки
- Любые текстовые сценарии где главное — понятность Kazakh, не персонализация
Pitch-shifted +4 semitones (*_kid.wav) звучит как «teen / older kid», +6 (*_kid_high.wav) — как kid 8-10 лет, +8 (*_small_kid.wav) — слишком chipmunk, не ship. Выбор V1: +4 to +6 semitones для напарника, adult voice для narration.
Q2. «Do we have a transcript of OiynUp_Sound_KAZ.wav from the production team?»
Заголовок раздела «Q2. «Do we have a transcript of OiynUp_Sound_KAZ.wav from the production team?»»A: Не зафиксировано в этом сеансе. Запросить у Grinvich Technology (cartoon team) исходный VO-script для эпизодов 1-10. Это даст:
- Real WER против baseline transcript для валидации Uali-STT.
- Корпус «kid Kazakh + OIYNUP термины» для V2 fine-tune без дополнительной transcription-работы.
Action: Jean (или ассистент) пишет короткий запрос Grinvich на raw VO stems + текстовые скрипты. Owner: Jean, deadline до 2026-05-15.
Q3. «OK to update ADR-0023?»
Заголовок раздела «Q3. «OK to update ADR-0023?»»A: Yes, accepted. Замена в ADR-0023 §TTS:
Coqui-XTTS-v2→ MMS-TTS-kaz V1 (pitch-shifted +4 semitones для напарника)Qwen3-TTS→ V2 plan: MMS-TTS-kaz LoRA fine-tune на KZ kid corpus (KSC2 ≤13 + Grinvich raw VO)- F5-TTS — отложить до публичного cross-lingual checkpoint или собственного fine-tune
- Soyle ONNX остаётся как STT fallback (per Jean test: enterprise Soyle отвергнут, open ONNX retained)
Этот RESULTS_VERDICT.md = trigger для вписания нового ADR amendment к ADR-0023 (или создания ADR-0029 «KZ TTS V1/V2 implementation order»).
Hard criterion для V2 (not negotiable)
Заголовок раздела «Hard criterion для V2 (not negotiable)»Детский голос — обязательный hard criterion для production napарник voice. Не «nice to have», а блокер для launch (per Jean прямой реплики):
- Голос актёра pitch-shifted ≠ «настоящий детский голос». Это helium-effect.
- Real kid timbre имеет другую формантную структуру, прозодию, ритм. Нельзя получить только сдвигом высоты.
- Source данных для fine-tune: KSC2 age-filtered + Grinvich cartoon VO stems (kids 5-10).
- Owner V2: AI engineer hire Q2-Q4 2026 (LoRA/QLoRA experience required per ADR-0023).
V2 deliverables:
- MMS-TTS-kaz LoRA на 1-3 ч KZ kid speech, target wall-clock 4-8h на 1× RTX PRO 6000 96GB.
- A/B blind ear-test Jean: V1 (+4 pitch-shift) vs V2 (LoRA kid). Если V2 не выигрывает blind — повторяем fine-tune с большим корпусом.
- Если LoRA плато — F5-TTS full Kazakh fine-tune (5-10 ч data, 1-2 days training, 30 GB disk).
Что не использовать (закрепляем после ear-test)
Заголовок раздела «Что не использовать (закрепляем после ear-test)»- F5-TTS V1 stock checkpoint без KZ fine-tune — gibberish phonemes на Kazakh, фактически проверено через Uali round-trip. Переоткрывать только когда выйдет публичный cross-lingual checkpoint от авторов (paper Sep 2025).
- +8 semitones pitch shift — слишком chipmunk, страдает интеллигибельность. +4 / +6 — допустимо.
- Coqui XTTS-v2 — компания закрылась Dec 2025, в любом случае нет KZ. Drop.
- Qwen3-TTS, IndexTTS-2.5, Higgs Audio v2.5, Chatterbox Multilingual — нет KZ. Drop.
- Soyle enterprise license — Jean уже отверг (worse than open-source per Jean test). Open
soyle_onnxостаётся в стеке как STT-fallback only.
Implementation plan (revised after verdict)
Заголовок раздела «Implementation plan (revised after verdict)»| Phase | Что делаем | Когда | Owner |
|---|---|---|---|
| V1 (Э4, ship now) | MMS-TTS-kaz adult для narration; pitch-shift +4 semitones для напарника | this sprint | Jean / dev |
| V1.5 | Запросить Grinvich raw VO + scripts для эпизодов 1-10 | до 2026-05-15 | Jean |
| V2 (Э5) | MMS-TTS-kaz LoRA fine-tune (KSC2 ≤13 + Grinvich VO); blind A/B test | post-AI-engineer-hire (Q2-Q4 2026) | AI engineer |
| V3 | Если V2 плато — F5-TTS full KZ fine-tune; KazakhTTS2 evaluation; 3-character × 3-voice canon (ADR-0001) | post-launch | AI engineer |
Update в ADR-0023 (separate write)
Заголовок раздела «Update в ADR-0023 (separate write)»Owner: Jean, this week (2026-05-04..2026-05-11).
Текст amendment:
2026-05-04 amendment: TTS canon ADR-0023 уточняется по результатам ear-test 2026-05-02 (см. RESULTS_VERDICT.md).
V1 production: MMS-TTS-kaz (Meta, open VITS) для narration + librosa pitch-shift +4 semitones для голоса напарника. RTF 0.10, CPU-only inference, ship-готов на пилот Q3 2026.
V2 production (Э5, post-launch): MMS-TTS-kaz LoRA fine-tune на KZ kid corpus (KSC2 age-filtered + Grinvich Technology raw cartoon VO stems). Hard criterion: real child timbre, не pitch-shifted. Owner: AI engineer (LoRA/QLoRA required).
STT canon без изменений: Uali whisper-turbo-ksc2-kazakh-finetuned primary + issai/soyle_onnx fallback + mlx-whisper large-v3-turbo для non-KZ потоков.
Reject: F5-TTS V1 stock cross-lingual (gibberish KZ phonemes verified), Soyle enterprise (Jean test), Coqui XTTS-v2 (компания закрыта), Qwen3-TTS / IndexTTS / Higgs / Chatterbox (нет KZ).
Источник вердикта
Заголовок раздела «Источник вердикта»~/Desktop/oiynup рассуэждения.mp4 (2026-05-02), TTS audition:
- 21:00 «по озвучке казахски короче несколько разных моделей попробовали сейчас послушаем»
- 22:30 «Спарк ой на юри… сегодня мы сандарды иренем» — фраза про числа от MMS adult voice (с «Спарк» — internal Figma label)
- 23:00 «самое крутое редко детский голос детский может что привел ребёнку»
- 23:30 «нейтральный сейчас голос который есть у этой это голос актера»
- 24:00 «в смысле не рога взяла научилась сразу на голосе это прям и очень и голос поглядишь перекрылась как у играл» (= модель обучалась на одном голосе актёра, и этот голос проступает в любой реплике)