Подготовка к будущему
Есть несколько игр, которые я хочу перевести, но пока без названий. Поскольку многое мне придется делать одному, я решил заняться подготовительной работой по автоматизации процесса.
При генерации через TTS есть 3 основных проблемы
1) Не правильная интонация (уход в вопрос там где этого не должно быть)
2) Не правильное ударение
3) Сбитый тембер голоса TTS
1 и 3 довольно просто определить с помощью нейронной сети и проверки уровня тональности, как показала практика. Однако, второе оказалось более сложной задачей.
Основная проблема в том, что на данный момент нет нейронных сетей, которые выполняют транскрибацию (перевод голоса в текст) и одновременно проверяют ударение. Перевод в текст с последующей постановкой ударения нам не подходит. Даже не каждая нейронная сеть умеет определять тайминг слов, а про определение букв я вообще молчу. Поэтому мне эта задача показалась интересной. (спойлер: я её решил)
Подготовка:
Лучшим вариантом для транскрибации с определением тайминга слов оказался Whisper с моделью Large v3. Однако и тут всё оказалось не так просто. Whisper иногда переносит последнюю букву в следующее слово.

На этом примере хорошо видно, как буква "Г" переместилась в слово "Тиньков", а последнюю букву "В" вообще отрезало. Это происходит из-за того, что Whisper работает так, что ему не нужна вся буква, достаточно её части.