Обзор провайдеров TTS
Почему TTS меняет подход к изучению шахмат
Заголовок раздела «Почему TTS меняет подход к изучению шахмат»Когда вы разбираете прокомментированную партию, ваши глаза выполняют двойную работу. Вы пытаетесь одновременно следить за фигурами на доске и читать комментарии. Взгляд мечется между доской и панелью аннотаций, и каждый раз, когда это происходит, вы на долю секунды теряете позицию. Приходится заново находить фигуры, заново прослеживать варианты, заново выстраивать картину в голове.
Синтез речи полностью решает эту проблему.
С включённым TTS вы пролистываете партию, а комментарии произносятся вслух. Ваши глаза остаются на доске. Вы видите, как конь встаёт на f3, а голос объясняет, почему это сильный развивающий ход. Вы наблюдаете, как меняется пешечная структура, а комментарий раскрывает стоящую за этим стратегическую идею. Доска и слова приходят одновременно — так, как если бы тренер сидел напротив вас и объяснял.
Это особенно полезно для:
- Изучения дебютов — слушайте идеи каждого хода, наблюдая за развитием позиции
- Разбора партий — пролистывайте свои прокомментированные партии и естественно усваивайте уроки
- Практики эндшпилей — сосредоточьтесь на ключевых полях, пока комментарий направляет вас
- Языкового погружения — изучайте шахматы на французском, немецком, испанском, русском, японском, китайском или корейском языке с корректным переводом всех шахматных терминов. Слышьте «Cavalier f3, echec» вместо «Knight f3, check». Учите игру на том языке, на котором думаете.
- Доступности — для игроков, которым проще слушать, чем читать, или которые хотят заниматься вдали от рабочего стола
Попробовав однажды, вы почувствуете, что возврат к немым аннотациям — всё равно что смотреть фильм без звука.
Выбор провайдера
Заголовок раздела «Выбор провайдера»En Parlant~ поставляется с пятью провайдерами TTS — от облачных API со студийным качеством голоса до полностью локальных решений, не требующих интернета. Для начала достаточно одного. Ниже они перечислены от лучшего к худшему качеству голоса.
ElevenLabs
Заголовок раздела «ElevenLabs»Лучшее доступное качество голоса. ElevenLabs создаёт выразительную, человекоподобную речь с настоящим характером — одни голоса звучат как дикторы аудиокниг, другие — как ведущие радиоэфира. Десятки уникальных голосов на выбор. Поддержка 34+ языков, включая отличное произношение CJK (японский, китайский, корейский), а также арабский, хинди и все основные европейские языки.
Бесплатный тариф даёт 10 000 символов в месяц (достаточно для 2–5 прокомментированных партий). Платные тарифы начинаются от $5/мес. за 30 000 символов. Настройка проста: создайте аккаунт, скопируйте API-ключ, вставьте его в En Parlant~.
Требуется интернет. Лучший вариант для ценителей качества голоса.
Руководство по настройке ElevenLabs
Google Cloud TTS
Заголовок раздела «Google Cloud TTS»Лучший баланс качества, языковой поддержки и стоимости. Нейронные голоса WaveNet от Google звучат естественно и чётко на 30+ языках — включая CJK, арабский, хинди, бенгальский, филиппинский, вьетнамский и все основные европейские языки. Бесплатный лимит щедрый — один миллион символов в месяц покрывает сотни прокомментированных партий.
Настройка занимает около 5 минут: создайте аккаунт Google Cloud, включите Text-to-Speech API, сгенерируйте API-ключ. Плата не взимается, пока вы не превысите бесплатный лимит (при шахматных аннотациях это очень сложно сделать).
Требуется интернет. Лучший вариант для большинства пользователей.
Руководство по настройке Google Cloud
KittenTTS
Заголовок раздела «KittenTTS»Высококачественный локальный ИИ, работающий полностью на вашем компьютере. Использует легковесную нейронную модель ~25 МБ с 8 выразительными голосами (4 мужских, 4 женских). Качество удивительно хорошее — естественная интонация, чёткое произношение, подлинная выразительность.
Компромисс — аппаратные требования: KittenTTS использует PyTorch для CPU-инференса, поэтому нужен современный многоядерный процессор. На 8-ядерной машине всё звучит отлично; на старом ноутбуке возможны задержки. Пока поддерживается только английский язык.
При первом озвучивании каждой аннотации возникает небольшая задержка генерации (1–2 секунды на быстром CPU, дольше на медленном оборудовании). После этого аудио кэшируется в памяти и воспроизводится мгновенно — перемотка назад и вперёд по уже озвученным ходам происходит без задержек. Также можно предварительно закэшировать всю партию в фоне через настройки, чтобы каждая аннотация была готова до начала занятий.
Интернет не требуется. API-ключи не нужны. Лучшее локальное качество.
Руководство по настройке KittenTTS
OpenTTS
Заголовок раздела «OpenTTS»Сервер TTS с открытым исходным кодом, работающий на вашей машине через Docker. Ничего не покидает ваш компьютер. Включает несколько движков TTS (Larynx, Festival, eSpeak, Coqui-TTS), предоставляя 75+ голосов только для английского языка.
Компромисс — качество голоса: это более старые нейронные и правиловые движки, поэтому звук более роботизированный, чем у ElevenLabs или Google. Лучше всего работает с европейскими языками (английский, немецкий, французский, испанский, русский, нидерландский, шведский, итальянский и другие) — CJK не поддерживается. Честно говоря, если вы готовы потрудиться с настройкой локальной модели, KittenTTS даст вам лучшее качество с меньшими хлопотами. Если спрос на OpenTTS не будет значительным, мы, вероятно, пометим его как устаревший в будущем релизе.
Интернет не требуется. API-ключи не нужны. Лучший вариант для максимальной конфиденциальности с множеством голосов.
Руководство по настройке OpenTTS
System TTS
Заголовок раздела «System TTS»Встроенный синтез речи вашей операционной системы. Ничего не нужно устанавливать, никаких API-ключей, никаких серверов. Выберите — и готово. Качество голоса базовое — вы услышите характерный роботизированный тон системного TTS — но это работает мгновенно и без какой-либо настройки.
На Linux это обычно eSpeak или speech-dispatcher; на macOS — системный голос; на Windows — SAPI. Языковая поддержка полностью зависит от установленных в вашей операционной системе голосовых пакетов.
Интернет не требуется. Лучший вариант для быстрого тестирования.
Руководство по настройке System TTS
Сравнение провайдеров
Заголовок раздела «Сравнение провайдеров»| Провайдер | Тип | Качество | Настройка | Языки |
|---|---|---|---|---|
| ElevenLabs | Облачный API | Исключительное | API-ключ | 34+ (вкл. CJK) |
| Google Cloud | Облачный API | Очень хорошее (WaveNet) | API-ключ | 30+ (вкл. CJK) |
| KittenTTS | Локальный нейронный ИИ | Хорошее | Python + venv | Только английский |
| OpenTTS | Локальный Docker | Удовлетворительное | Docker | Только европейские |
| System (OS Native) | Встроенный в ОС | Базовое | Не требуется | Зависит от ОС |
Примечание об оборудовании: Локальные провайдеры (KittenTTS и OpenTTS) выполняют нейронный инференс на вашем CPU. Им нужен современный многоядерный процессор (рекомендуется 8+ ядер), чтобы генерировать речь без заметных задержек. Представьте, что вы запускаете ещё один шахматный движок на своей машине. Если ваш компьютер старый или маломощный, используйте один из облачных провайдеров.
Наша рекомендация
Заголовок раздела «Наша рекомендация»Начните с ElevenLabs, если хотите максимально богатое качество голоса — бесплатного тарифа хватит, чтобы попробовать. Для лучшего баланса качества и бесплатного использования Google Cloud покрывает сотни партий в месяц. Для высококачественного локального TTS без облачной зависимости KittenTTS — отличный выбор при наличии современного CPU. Для тестирования без настройки System TTS работает мгновенно. Для максимальной конфиденциальности с множеством голосов OpenTTS запускает всё локально через Docker.
Справочник по настройкам
Заголовок раздела «Справочник по настройкам»Все настройки TTS находятся в Настройки > Звук:
| Настройка | Описание |
|---|---|
| Text-to-Speech | Главный переключатель вкл./выкл. для всех функций TTS |
| Auto-Narrate on Move | Автоматическое озвучивание аннотаций при переходе между ходами |
| TTS Provider | Переключение между пятью провайдерами |
| TTS Voice | Выбор голоса, специфичный для провайдера |
| TTS Language | Язык озвучивания — шахматные термины переводятся автоматически |
| TTS Volume | Громкость озвучивания |
| TTS Speed | Скорость воспроизведения (0.5x до 2x) — регулируется без повторной генерации аудио |
| ElevenLabs API Key | Ваш API-ключ ElevenLabs (отображается только при использовании ElevenLabs) |
| Google Cloud API Key | Ваш API-ключ Google Cloud (отображается только при использовании Google) |
| KittenTTS CPU Threads | Потоки CPU для инференса (0 = авто / использовать все ядра) |
| TTS Audio Cache | Очистка кэша аудио для принудительной повторной генерации |
Поддерживаемые языки
Заголовок раздела «Поддерживаемые языки»Озвучивание TTS поддерживает множество языков с полностью переведённой шахматной терминологией. Вот несколько примеров:
| Язык | Шахматный пример |
|---|---|
| English | Knight f3, check. A strong developing move. |
| Francais | Cavalier f3, echec. Un coup de developpement fort. |
| Espanol | Caballo f3, jaque. Un fuerte movimiento. |
| Deutsch | Springer f3, Schach. Ein starker Entwicklungszug. |
| 日本語 | ナイト f3、チェック。強い展開の手。 |
| Русский | Конь f3, шах. Сильный развивающий ход. |
| 中文 | 马 f3,将军。一步控制中心的强力出子。 |
| 한국어 | 나이트 f3, 체크. 중앙을 지배하는 강력한 전개 수. |
Каждый шахматный термин — названия фигур, «шах», «мат», «рокировка», «берёт», аннотации качества ходов вроде «Блестящий ход» и «Грубая ошибка» — произносится на выбранном языке. Комментарии в ваших PGN-файлах озвучиваются как написаны, поэтому аннотируйте партии на том языке, который хотите слышать.
Шахматная предобработка текста
Заголовок раздела «Шахматная предобработка текста»Движок TTS не просто читает сырой текст — он понимает шахматную нотацию. Перед озвучиванием любого текста этап предобработки преобразует нотацию PGN в естественную речь:
| Записано в PGN | Произносится вслух |
|---|---|
Nf3 | ”Knight f3” |
Bxe6+ | ”Bishop takes e6, check” |
O-O-O | ”castles queenside” |
e8=Q# | ”e8 promotes to Queen, checkmate” |
Rae1 | ”Rook a e1” (уточнение) |
5.Qxd8+ (в комментариях) | “5, Queen takes d8, check” |
en prise | ”on preez” (французское произношение) |
Ra8 is hanging | ”Rook on a8 is hanging” |
R vs R | ”Rook versus Rook” |
6...Bf5 (точки номера хода) | “6, Bishop f5” (естественная пауза, без «dot») |
Комментарии очищаются перед озвучиванием: теги [%eval], [%cal], [%csl] удаляются. Начальные слова-оценки, дублирующие символ NAG, убираются (так что ?? {BLUNDER. The rook hangs} не заикается: «Blunder. Blunder.»).
Кэширование
Заголовок раздела «Кэширование»Каждое озвучивание кэшируется в памяти после первой генерации. Перемотка назад и вперёд по партии воспроизводит аудио мгновенно из кэша — без API-вызовов, без задержек повторной генерации. Также можно предварительно закэшировать всё дерево партии в фоне, чтобы при воспроизведении не было ни одной паузы.
Ключ кэша формируется как provider:voiceId:lang:text, поэтому смена голоса или провайдера создаёт отдельные записи в кэше. Изменение скорости воспроизведения не инвалидирует кэш — скорость применяется на стороне клиента к аудиоэлементу.
Кнопка Clear Audio Cache в настройках позволяет принудительно перегенерировать аудио после редактирования аннотаций.
Советы для лучшего опыта
Заголовок раздела «Советы для лучшего опыта»-
Используйте Auto-Narrate. Включите «Auto-Narrate on Move» и просто используйте стрелки клавиатуры для перемещения по партии. Комментарии звучат естественно по мере хода, словно тренер стоит за вашим плечом.
-
Аннотируйте собственные партии. TTS по-настоящему раскрывается, когда вы слушаете комментарии к своим партиям. Прокомментируйте свои партии, а затем пролистайте их с озвучиванием. Услышать «Взятие пешки выглядит заманчиво, но весь ваш королевский фланг ещё спит», глядя на позицию, — это совсем другое ощущение, чем просто прочитать.
-
Попробуйте разные скорости. Одни игроки предпочитают 1x для вдумчивого анализа, другие — 1.3x для быстрого повторения. Ползунок скорости изменяет воспроизведение в реальном времени без дополнительного расхода API-символов.
-
Используйте значок динамика. У каждого комментария в списке ходов есть маленький значок динамика. Нажмите на него, чтобы прослушать конкретную аннотацию.
-
Переключайте языки для изучения шахматной терминологии. Если вы изучаете шахматы на втором языке, установите язык TTS соответственно. Вы естественным образом освоите такие термины, как «Cavalier» (конь), «echec» (шах) и «mat» (мат), просто слушая.
Как писать аннотации, удобные для TTS
Заголовок раздела «Как писать аннотации, удобные для TTS»Эти рекомендации обеспечат наилучшее озвучивание ваших PGN-аннотаций.
SAN в комментариях
Заголовок раздела «SAN в комментариях»Используйте стандартную нотацию SAN. Препроцессор автоматически развернёт её:
"After 7.Nf3, White controls e5"превращается в “After 7, Knight f3, White controls e5”"The Bg5 pins the knight"превращается в “The Bishop g5 pins the knight”
Символы аннотаций
Заголовок раздела «Символы аннотаций»Символ NAG (!, ??, !? и т. д.) автоматически генерирует произносимые слова-оценки. Не дублируйте их в комментарии:
- Плохо:
?? {BLUNDER. A terrible move...}— TTS произнесёт “Blunder. Blunder. A terrible move” - Хорошо:
?? {A terrible move...}— TTS произнесёт “Blunder. A terrible move”
Точки в номерах ходов
Заголовок раздела «Точки в номерах ходов»Стандартная нотация PGN работает: 6...Bf5. Препроцессор преобразует точки в запятые для естественных пауз вместо «dot dot dot».
Точки для ритмики
Заголовок раздела «Точки для ритмики»Точки создают естественные TTS-паузы. Используйте их между отдельными идеями:
{Doubled isolated e-pawns. The f-file is ripped open. The position is strategically won.}Стрелки и круги
Заголовок раздела «Стрелки и круги»Теги [%cal ...] и [%csl ...] автоматически удаляются из аудио. Свободно используйте их для визуальных аннотаций — на озвучивание они не влияют.
Лицензирование аудио
Заголовок раздела «Лицензирование аудио»Примечание о распространении для тех, кто строит на базе En Parlant~:
- ElevenLabs — вы сохраняете все права на сгенерированное аудио (ElevenLabs Terms of Use, раздел c(ii)). Можете свободно его распространять.
- Google Cloud — вы сохраняете все права интеллектуальной собственности на сгенерированное аудио. Без ограничений.
- KittenTTS, OpenTTS, System TTS — без ограничений на распространение сгенерированного аудио.
Об этой функции
Заголовок раздела «Об этой функции»En Croissant — это инструмент для изучения шахмат с открытым исходным кодом, созданный Francisco Salgueiro. Francisco создал нечто по-настоящему особенное — бесплатную, мощную, поддерживаемую сообществом платформу для изучения шахмат — и выпустил её под лицензией GPL-3.0, чтобы любой мог использовать, улучшать и делиться ею. Эта функция TTS существует благодаря его щедрости. Мы благодарны за созданный им фундамент и гордимся возможностью внести свой вклад.
TTS-плагин разработан Darrell из Red Shed при помощи Claude Code. Пять провайдеров, мультиязычная поддержка, переведённая шахматная терминология на многих языках, локальный ИИ-инференс, управление зависимостями — собрано из исходников, протестировано вручную и добавлено с заботой.
В этом красота открытого исходного кода. Кто-то создаёт что-то великое. Кто-то другой дополняет. Выигрывают все.
Свяжитесь с нами
Заголовок раздела «Свяжитесь с нами»Нам интересно узнать, как TTS работает для вас. Замечания, предложения и отзывы всегда приветствуются.
- Хотите язык, который мы ещё не поддерживаем? Сообщите нам — мы можем быстро добавить новые языки.
- Нашли ошибку? Расскажите нам, и мы быстро её исправим.
- Есть идея другого провайдера TTS? Мы с удовольствием добавим его.
- Просто хотите сказать, что всё работает? Это тоже приятно слышать.
Откройте issue на GitHub или напишите напрямую на darrell@redshed.ai.