Note · Запись

From a dictionary to a voice assistant: the audio companion to the first article

От словаря до голосового ассистента: звуковой спутник первой статьи

Where the first stage of the road ended up: speech recognition from 34.6 % down to 17.0 % word errors, a whole novel — 16 chapters, 15,444 words, 1 hour 58 minutes — read by a synthetic voice, all of it on one consumer GPU. With samples you can listen to.

Чем закончился первый этап пути: распознавание речи с 34,6 % до 17,0 % ошибок, целый роман — 16 глав, 15 449 слов, 1 час 58 минут — прочитанный синтезированным голосом, и всё это на одной домашней видеокарте. Здесь — примеры, которые можно послушать.

◆ TTS◆ ASR◆ аудио
Крымское плато перед рассветом. С этого пейзажа началась и первая статья серии.
Крымское плато перед рассветом. С этого пейзажа началась и первая статья серии.
Russian · Русский

Первая статья серии вышла на ana-yurt.com, и она про то, с чего всё началось: для крымскотатарского языка почти ничего нет. Не «мало» — именно почти ничего. Нет машинного перевода, нет распознавания речи, нет синтеза, чтобы текст можно было просто послушать. А сам язык при этом числится в списках исчезающих. Эта страница — звуковой спутник той статьи: здесь можно послушать то, о чём там рассказано словами.

План, который из этого вырос, выглядит самонадеянно даже сейчас: пройти путь целиком, от обычного словаря до голосового ассистента, с которым можно будет поговорить по-крымскотатарски. Словарь и перевод между кириллицей и латиницей уже работают. Речь оказалась следующим и самым тяжёлым этапом — и она пошла раньше переводчика по двум причинам. Люди, чью живую речь ещё можно записать, не молодеют: это единственная часть задачи, которую нельзя отложить. А распознавание и синтез раскручивают друг друга — старые записи становятся текстом, текст вместе со звуком становится материалом для голоса, голос делает аудиокниги, их слушают, речи становится больше.

Что есть по итогам этого этапа. Распознавание: модель, с которой я начинал, ошибалась в 34,6 % слов; после дообучения — 20,1 %; после аккуратной настройки того, как модель подбирает слова при расшифровке, — 17,0 %. Вдвое меньше ошибок, и весь довесок к модели весит 126 мегабайт. Синтез: голос прочитал целую книгу — роман Şamil Alâdin «Merdiven», не отрывок и не одну главу для демонстрации, а все 16 глав — 15 449 слов, 1 час 58 минут звучания, с проверкой таймингов по каждому слову в каждой главе. Всё это — на одной домашней видеокарте, вечерами и ночами, без студии с дикторами и без серверной фермы.

Отдельная история — звук къ. Готовый турецкий голос читал qara как «кара»: в турецком нашего /q/ просто нет. Помогла не добавка данных, а смена фундамента: я взял многоязычную основу, обученную в том числе на казахском, уйгурском и башкирском — языках, где этот звук есть и записывается собственной буквой, — и переписал наши къ, гъ, нъ в знакомые ей ҡ, ғ, ң. Правильное произношение появилось ещё до дообучения. Ниже это слышно на словах, которые мы произносим каждый день.

English · Английский

The first article of the series is out on ana-yurt.com, and it is about where all of this started: Crimean Tatar has almost no language technology at all. Not «little» — almost none. No usable machine translation, no speech recognition, no synthesis to simply listen to a text. Meanwhile the language sits on the endangered lists. This page is the audio companion to that article: what is described there in words can be heard here.

The plan that grew out of it still sounds presumptuous: walk the whole road, from a plain dictionary to a voice assistant you can actually talk to in Crimean Tatar. The dictionary and the Cyrillic-to-Latin conversion already work. Speech turned out to be the next stage, and the hardest one — and it came before translation for two reasons. The people whose living speech can still be recorded are not getting younger; that is the one part of the job that cannot wait. And recognition and synthesis pull each other up: old recordings become text, text with audio becomes training material for a voice, the voice makes audiobooks, people listen, and there is more speech to learn from.

Where this stage ended up. Recognition: the model I started with got 34.6 % of words wrong; after fine-tuning, 20.1 %; after carefully tuning how the model picks words while decoding, 17.0 % — half the errors it began with, and the whole add-on I trained weighs 126 MB. Synthesis: the voice read an entire book — Şamil Alâdin’s novel «Merdiven», not an excerpt and not a single showcase chapter, but all 16 chapters — 15,444 words, 1 hour 58 minutes, with word-level timings verified in every chapter. All of it on one consumer GPU, in the evenings and at night, with no recording studio, no hired narrators and no server farm.

The sound /q/ deserves its own note. An off-the-shelf Turkish voice read qara as «kara» — Turkish simply does not have our /q/. What fixed it was not more data but a different foundation: a multilingual base trained on Kazakh, Uyghur and Bashkir, languages where the sound exists and has a letter of its own, plus rewriting our къ, гъ, нъ into the ҡ, ғ, ң it already knows. The pronunciation was right before any fine-tuning at all. You can hear it below, in words we say every day.

Аудио / Audio

Всё, что ниже, — синтез, если не сказано иначе. Голос — Sevil, права на демонстрацию подтверждены. Everything below is synthesis unless stated otherwise; the voice is Sevil, cleared for demo use.

«Мердивен», фрагмент главы — Merdiven, chapter fragment

Голос Sevil. Отрывок из тех самых 1 ч 58 мин. — A fragment of the 1 h 58 min reading.

Слова с къ, гъ, нъ — words with q, ğ, ñ

Тот самый звук, из-за которого пришлось менять основу модели. — The sound that forced a change of base model.

Диктор и модель / Human and model

Одни и те же три предложения: сначала живая запись, потом синтез. Два отдельных плеера — слушать лучше подряд, сверху вниз. — The same three sentences, first read by a person, then by the model. Two separate players; listen top to bottom.

Human — диктор

Живой человек, студийная запись из корпуса. — A person, recorded.

Model — модель

Тот же текст, синтез нашей моделью. — The same text, synthesised by our model.

С чего начиналось и что сейчас / How it started and how it is going

Первая модель, которую я выложил публично, — SpeechT5, декабрь 2025 года: крымскотатарская латиница переписывалась в английскую фонетику (ğ→gh, ş→sh, ñ→ng), звук выходил на 16 кГц. Тексты у двух записей разные — ту первую модель я проверял отдельными словами, дальше слов дело не шло. — The first model I put out publicly was SpeechT5, December 2025: Crimean Tatar Latin was rewritten into English phonetics (ğ→gh, ş→sh, ñ→ng) and the audio came out at 16 kHz. The two clips do not read the same text: that first model was only ever probed word by word, because words were as far as it went.

First attempt, December 2025 — первая модель

SpeechT5, шесть слов с къ, гъ, нъ — как это звучало в самом начале. — SpeechT5, six words with q, ğ, ñ: how it started.

Current model — сегодняшняя модель

Шесть фраз, сегодняшняя модель, тот же голос. — Six phrases, today's model, the same voice.

Читать дальше / Read the full story

Хотите помочь? / Want to help?

Больше всего проекту нужны носители языка: слушать, читать, подсказывать, где машина ошибается. Программировать не нужно — достаточно хорошо слышать родной язык. Пишите: [email protected].

The project needs native speakers more than anything else: listening, reading, pointing out where the machine gets it wrong. No programming required — hearing your own language well is enough. Write to [email protected].

Поддержать работу материально можно здесь — ko-fi.com/anayurt. Каждый вклад — это часы записей, которые успеют стать данными. / You can support the work at ko-fi.com/anayurt.