Гид по технологиям

Установка и использование eSpeak на Ubuntu 20.04

8 min read Linux TTS Обновлено 24 Nov 2025
Установка eSpeak на Ubuntu 20.04
Установка eSpeak на Ubuntu 20.04

Показ интерфейса eSpeak

eSpeak — это программный синтезатор речи для английского и других языков. eSpeak — свободное программное обеспечение с открытым исходным кодом (FOSS), которое можно запустить на большинстве платформ, включая Linux, Windows и macOS. eSpeak был разработан Полом «Джо» Хейзелдином (Paul “Joe” Hazeldine) на базе кода проекта eCAVE, который, в свою очередь, произошёл от X-SPEAK 1.0 Билла Берри в 1995 году. На момент написания статья указывает на длительную историю проекта и активную поддержку сообщества.

eSpeak переносим и лёгок по ресурсам: он не требует много CPU и может запускаться на недорогом железе. Программа компактна и подходит для серверных и настольных задач с преобразованием текста в речь.

Коротко о версии: в тексте упоминается версия 1.48.03 как последняя на момент написания; с тех пор релизы могут выходить регулярно.

Кому пригодится эта инструкция

  • Системным администраторам, которым нужно добавить TTS на сервер или рабочую станцию.
  • Разработчикам, желающим встроить локальный синтез речи в скрипты и приложения.
  • Специалистам по доступности, которые тестируют голосовую прокачку интерфейсов.

Important: Если ваша система на базе Ubuntu (например, Linux Mint или Elementary), eSpeak может быть уже предустановлен. Если нет — следуйте этой инструкции.

Требования

  • Ubuntu 12.04 или новее (в статье фокус на Ubuntu 20.04). Достаточно любой поддерживаемой редакции Ubuntu или производной.
  • Доступ администратора (sudo) и рабочее интернет-соединение для загрузки пакетов.
  • Понимание базовых команд терминала.

Подготовка системы

Перед установкой рекомендуется синхронизировать списки пакетов и обновить систему. Откройте терминал и выполните:

sudo apt-get update

Эта команда обновляет локальный список пакетов и должна запускаться перед установкой пакета из репозиториев.

Затем выполните полное обновление пакетов:

sudo apt-get -y upgrade

Если при обновлении возникнут ошибки зависимости, используйте:

sudo apt-get -f install

Эта команда попытается исправить зависимости и продолжить установку.

Sample output показан в статье и помогает понять, какие строки ожидать от apt.

Установка eSpeak

По умолчанию eSpeak доступен в репозиториях Ubuntu. Установите пакет командой:

sudo apt-get install espeak -y

После установки движок eSpeak станет доступен в системе как команда espeak.

Проверьте установленную версию:

espeak --version

По умолчанию espeak устанавливается системно с префиксом /usr, то есть доступен всем пользователям. Если нужно ограничить использование пакета конкретным пользователем, при сборке можно указывать префикс (например, –prefix=/home/username/), но типичная установка через apt ставит пакет глобально.

Вывод установки eSpeak

Преобразование текста в звук: базовые примеры

Команда espeak позволяет произносить текст прямо из аргумента командной строки или из файла и записывать выход в файл.

Пример: проговорим фразу и запишем в файл sample.mp4:

espeak "Hi this is a sample" -w sample.mp4 -g 60 -p 70 -s 100 -v en-us

Краткое объяснение параметров (в контексте примера):

  • -w <файл> — указать имя выходного аудиофайла.
  • -g <число> — параметр, влияющий на паузу между словами в определённой тональности/разметке (в примере используется 60).
  • -p <число> — параметр, влияющий на высоту (pitch) голоса в данном примере 70.
  • -s <число> — скорость речи; в примере задано 100.
  • -v <имя> — выбор голоса/варианта (в примере en-us для американского варианта английского).

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

После создания файла вы можете воспроизвести его любым проигрывателем (mplayer, vlc и т. п.).

Дополнительные способы ввода/вывода:

  • Читать текст из файла:
cat file.txt | espeak
  • Сохранение в другие форматы: espeak напрямую создаёт WAV/RAW. Для MP3/OGG можно использовать конвертацию через ffmpeg/sox, например:
espeak "Пример" -w out.wav
ffmpeg -i out.wav -codec:a libmp3lame out.mp3
  • Прослушивание локально: убедитесь, что у вас правильно настроены ALSA/PulseAudio/Jack — в противном случае звук может не воспроизводиться.

Для просмотра всех опций используйте:

espeak --help

Sample output с опциями показан в статье.

Ошибки и их устранение (трипшутинг)

Ниже перечислены распространённые проблемы и способы их решения.

  1. Ошибки зависимостей при apt-get
  • Симптом: команда apt-get выдаёт ошибки о зависимостях или прерывает установку.
  • Решение:
sudo apt-get -f install
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get -y upgrade
  1. Нет звука при воспроизведении
  • Проверьте, слышно ли системные звуки.
  • Убедитесь, что PulseAudio/ALSA работает. Для теста можно воспроизвести простой WAV:
aplay out.wav
  • Если espeak создаёт файл, но плеер его не воспроизводит — проверьте кодек и попробуйте перекодировать с помощью ffmpeg.
  1. Права доступа
  • Если espeak установлен системно, любой пользователь с правом на запуск команд может использовать его. Если возникли проблемы с правами, проверьте, не были ли изменены разрешения в /usr/bin/espeak или каталоге с голосовыми данными.
  1. Ошибки «пакет требуется другими пакетами» при удалении
  • Если при попытке удалить espeak apt выдаёт, что пакет требуется другими пакетами, используйте аккуратные команды удаления и проверьте, какие пакеты зависят от espeak. Иногда вместо удаления предпочитают оставить движок и сменить дефолтный голос.
sudo apt-get remove espeak

Если требуются более радикальные меры, изучите список зависимых пакетов через apt-cache rdepends espeak.

Удаление eSpeak

Чтобы удалить eSpeak:

sudo apt-get remove espeak

Если система запросит подтверждение, введите y и нажмите Enter. Команда удалит пакет espeak; зависимости могут остаться, если они нужны другим пакетам.

Если apt запрещает удаление из-за зависимостей, изучите, какие пакеты требуют espeak, и решите, безопасно ли их удалить. Другая опция — оставить движок установленным и сменить «дефолтный» голос на другой.

GUI: Gespeaker (Gspeak) — графический интерфейс для espeak

Gespeaker — популярный графический интерфейс для Linux, написанный на Python и использующий eSpeak в качестве движка синтеза речи. Он предоставляет удобный интерфейс для выбора голоса, настройки скорости и высоты, истории и других опций.

Установка:

sudo apt-get install gespeaker -y

Запуск: ищите Gespeaker (или Gespeaker/gespeaker) в меню рабочего стола или в Unity Dash. Интерфейс содержит вкладки для основных настроек, выбора голоса и истории.

Интерфейс Gespeaker

Основные вкладки:

  • Базовые настройки — параметры скорости, высоты и общие параметры звука.
  • Голоса — выбор доступных голосов и языков.
  • История — сохранённые тексты для повторного воспроизведения.
  • Восстановление — возвращение к ранее сохранённым настройкам.

Подробнее о Gespeaker можно прочитать в секции «Справка» приложения.

Удаление Gespeaker

Если Gespeaker не нужен, удалите его, чтобы освободить место:

sudo apt-get autoremove gespeaker -y

Можно также удалить через Центр приложений Ubuntu — найдите «gespeaker» и удалите пакет через интерфейс.

Удаление Gespeaker

Альтернативы и сопоставление

Если eSpeak не подходит вам по голосу или функционалу, рассмотрите альтернативы:

  • espeak-ng — современный форк eSpeak с активным развитием и улучшенной поддержкой языков.
  • Festival — более «натуральные» голоса и скриптовый API.
  • Pico TTS — компактный локальный движок (часто встраивается в устройства).
  • MaryTTS — Java-основанный сервер TTS с гибкой архитектурой.
  • Flite — лёгкий синтезатор для встраиваемых систем.

Ключевой выбор определяется требованиями: качество голоса, латентность, размер установки, оффлайн-работа и лицензия.

Fact box:

  • Поддержка платформ: Linux, Windows, macOS.
  • Тип: локальный оффлайн TTS (не облачный).
  • Формат установки: пакет apt в Ubuntu; также доступно исходное дерево для сборки.

Интеграция в скрипты и приложения — мини-методология

  1. Установите eSpeak и проверьте, что команда espeak доступна.
  2. Протестируйте голос и параметры вручную, чтобы подобрать нужные -v, -s, -p.
  3. В скрипте вызовите espeak и сохраняйте вывод в WAV, если требуется дальнейшая постобработка.
  4. Для распространения в приложении следите за зависимостями (apt/dpkg) и тестируйте на чистой виртуальной машине.

Пример bash-скрипта для пакетной генерации аудиофайлов из набора текстовых файлов:

#!/bin/bash
mkdir -p audio_out
for f in texts/*.txt; do
  base=$(basename "$f" .txt)
  espeak -f "$f" -w "audio_out/${base}.wav" -v en-us
done

Контроль качества и критерии приёмки

Критерии приёмки для интеграции eSpeak в проект:

  • Синтез речи корректно запускается из сервиса/скрипта и не падает (нет ошибок запуска).
  • Файлы аудио генерируются без искажений и воспроизводятся в целевой среде.
  • Скорость и высота речи соответствуют требованиям доступности (настроены флаги).
  • Задержка генерации не мешает работе приложения (SLA/порог ощущаемой задержки).

Роли и чек-лист

Sysadmin:

  • Проверить наличие пакета в репозиториях.
  • Убедиться в совместимости со звуковой подсистемой сервера.
  • Настроить права и обновления пакета.

Разработчик:

  • Автоматизировать установку и тесты в CI.
  • Выбрать формат вывода (WAV → MP3) и добавить конвертацию.
  • Обработать ошибки и логировать вызовы espeak.

Специалист по доступности:

  • Тестировать читаемость и интонации на разных голосах.
  • Составить стандартные профили скоростей для экранных читалок.

Пользователь:

  • Проверить голос в приложении.
  • Настроить голос в Gespeaker (при необходимости).

Безопасность и приватность

eSpeak работает локально, поэтому текстовые данные не отправляются в облако по умолчанию. Если ваша система передаёт тексты в облачный сервис для более «натурального» синтеза, оформите соответствующие соглашения о конфиденциальности и убедитесь в соответствии требованиям GDPR/локального законодательства. Для чувствительных данных предпочтительно оставаться на локальных движках (espeak, espeak-ng, Festival).

Советы по оптимизации и миграции

  • Если вам нужны современные голоса и улучшенная поддержка языков, рассмотрите миграцию на espeak-ng.
  • Для масштабирования синтеза речи на сервере разверните очередь задач (например, RabbitMQ) и ограничьте конвейер кодированием/параллельностью, чтобы не перегружать CPU.

Часто встречающиеся вопросы

Q: Можно ли использовать eSpeak в веб-приложении на сервере? A: Да, но запуск синтеза в процессе веб-запроса может увеличивать задержку. Рекомендуется генерировать аудио асинхронно и хранить кэшированные файлы.

Q: Как получить «более естественный» голос? A: Для более естественного звучания используйте облачные сервисы TTS или более продвинутые движки (MaryTTS, коммерческие провайдеры) или комбинируйте фильтрацию/постобработку аудио.

Q: Поддерживает ли espeak SSML? A: eSpeak поддерживает определённые расширения и разметку, но не полный стандарт SSML как у некоторых облачных провайдеров. Для сложной разметки лучше смотреть специализированные движки.

Примеры использования в реальных задачах

  • Генерация аудиокниг из текстовых файлов для демонстрации.
  • Оповещения сервера (в сочетании с TTS) для локальных панелей мониторинга.
  • Интеграция в образовательные приложения для произнесения слов и предложений.

Резюме

  • eSpeak — лёгкий и удобный для оффлайн-преобразования текста в речь инструмент, доступный в репозиториях Ubuntu.
  • Для базовой установки достаточно apt-get install espeak; для GUI можно использовать gespeaker.
  • Протестируйте параметры -v, -s, -p и используйте конвертацию через ffmpeg для получения нужного формата.
  • Рассмотрите espeak-ng или другие движки, если требуется более качественный голос.

Notes: Эта инструкция покрывает типичные сценарии установки, использования и удаления eSpeak и Gespeaker на Ubuntu 20.04. Тестируйте параметры под ваши требования и адаптируйте скрипты интеграции.

1-line glossary:

  • TTS — Text-to-Speech, технология преобразования текста в речь.
  • eSpeak — лёгкий оффлайн-синтезатор речи с открытым исходным кодом.
  • Gespeaker — графический интерфейс для управления eSpeak.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Stringify: Connect Flow для циклов освещения
Умный дом

Stringify: Connect Flow для циклов освещения

Как создать блок‑схему в LibreOffice Draw
Гайды

Как создать блок‑схему в LibreOffice Draw

Как слушать подкасты на колонках Sonos
Аудио

Как слушать подкасты на колонках Sonos

Удаление файлов с «слишком длинными» именами
Windows

Удаление файлов с «слишком длинными» именами

Переименование файлов в числа в Linux
Linux

Переименование файлов в числа в Linux

Удаление лишней установки Windows — пошагово
Windows

Удаление лишней установки Windows — пошагово