Сравнение преобразователей текста в речь для Raspberry Pi - eSpeak, Festival, Google TTS, Pico, PYTTSX3


Преобразователи текста в речь (Text-to-speech, TTS) – это программы синтеза речи, которые преобразуют записанный в электронном документе текст (например, в текстовом файле или на веб-странице) в человеческую речь. Они помогают людям с ослабленным зрением читать тексты с электронных носителей, также они могут быть использованы для улучшения восприятия текстовых сообщений. Кроме этого, их еще можно использовать для создания устройств для слабовидящих людей, например, "умных" тростей, которые помогают им ориентироваться в окружающем пространстве, озвучивая им названия улиц, названия зданий и т.д.

Наиболее популярные преобразователи текста в речь для Raspberry Pi

В данной статье мы попытаемся сравнить наиболее популярные свободно распространяемые преобразователи текста в речь (Text-to-Speech Converters), которые можно установить на плату Raspberry Pi – eSpeak, Festival, Google TTS, Pico и PYTTSX3. Ранее программу eSpeak мы использовали на нашем сайте в проекте говорящего будильника на Raspberry Pi в стиле "железного человека". Также можете посмотреть проект преобразователя текста в речь на основе платы Arduino.

Необходимые компоненты

  1. Плата Raspberry Pi (купить на AliExpress) с установленной Raspbian Buster.
  2. Громкоговоритель (колонка).
  3. Aux кабель.

Установка необходимых пакетов на Raspberry Pi

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

Затем установим утилиты для работы со звуком под названием alsa. Этот пакет содержит различные инструменты для настройки аудио устройств при помощи ALSA (Advanced Linux Sound Architecture). Установить этот пакет можно с помощью следующей команды:

Далее установим аудио/видео плеер MPlayer:

Примечание: не забудьте выбрать разъем 3.5 mm в качестве аудио выхода. Для этого введите команду ‘sudo raspi-config’, откроется панель настроек, в ней выберите "System Options", "Audio", "Force 3.5mm ('headphone') jack" и затем "Finish".

После этого поочередно рассмотрим наиболее популярные программы преобразования текста в речь для платы Raspberry Pi:

  1. eSpeak Text-to-Speech.
  2. Festival Text-to-Speech.
  3. Google Text-to-Speech.
  4. Pico Text-to-Speech.
  5. PYTTSX3.

1. eSpeak

eSpeak – это компактная программа синтезирования речи на английском языке с открытым исходным кодом, доступная для операционных систем Linux и Windows. Это современная и простая в использовании (по сравнению с другими аналогичными продуктами) программа. Но некоторые недостатки у нее все же присутствуют. Установить eSpeak можно с помощью следующей команды:

Затем можно протестировать ее работу с помощью команды:

Изменение настроек eSpeak

Выше был рассмотрен простейший пример использования eSpeak. В этой программе можно изменить настройки голоса, уровня звука, скорости, акцента и задержки между словами.

Можно протестировать работу eSpeak с: женским голосом, акценте (выделении) на заглавных буквах (-k), медленной речи (-s) с низким уровнем звука (-a). Для ее теста можно использовать следующую команду:

Тестирование работы eSpeak с различными настройками

В этой команде:

eSpeak: запуск программы eSpeak.

-ven+f2: указание на то, какой язык используется. ‘en’ обозначает английский язык, а f2 – женский голос 2. Вы можете выбрать между различными мужскими и женскими голосами: +m1,+m2,+m3,+m4,+m5,+m6,+m7, and +f1,+f2,+f3,+f4.

-s150: указывает скорость звука. По умолчанию – 175.

-a 200: указывает уровень (громкость) звука. Может изменяться в диапазоне от 0 до 200.

-g10: указывает на величину паузы между словами. “g” в данном случае – это сокращение от английского словосочетания “word gap”.

2. Festival

Festival – это еще один открытый в использовании инструмент для преобразования текста в речь. Он разработан центром исследования технологий речи в Великобритании (Centre for Speech Technology Research in the UK) и предлагает фреймворк (framework) для построения систем синтеза речи. Festival поддерживает британский английский (British English), американский английский (American English) и испанский языки. Воспроизводимый им голос похож на "грубый" голос робота, но качество звука у него лучше чем в eSpeak.

Для установки Festival используйте команду:

Протестировать работу Festival можно с помощью команды:

Тестирование работы Festival

3. Google Text to Speech

Движок Google Text to Speech не может работать в офлайн режиме в отличие от рассмотренных программ Festival и eSpeak. Во время своей работы он передает текст на серверы Google, на которых формируется голосовой файл. Этот файл затем возвращается на плату Raspberry Pi и воспроизводится с помощью MPlayer. Google Text-to-Speech имеет наилучшее качество звука среди всех известных инструментов преобразования текста в речь, но его недостаток заключается в том, что он требует интернет соединения для своей работы.

Для его тестирования сначала создайте файл speech.sh с помощью команды:

Добавьте следующие строчки в этот файл и затем сохраните его с помощью CTRL+X > Y.

После этого установите необходимые разрешения для вашего скрипта с помощью команды:

И, наконец, протестируйте работу инструмента Google Text to Speech с помощью команды:

4. Pico Text to Speech

Сервис Pico Text-to-Speech (TTS) использует инструмент TTS binary от компании SVOX для воспроизведения текста. Он требует установки в систему библиотеки pico TTS. На операционной системе Debian это можно сделать с помощью команды sudo apt-get install libttspico-utils. В Debian Buster этого пакета (библиотеки) нет, но вы можете скачать и установить эти пакеты вручную с использованием следующих команд:

Протестировать работу Pico text-to-speech можно с помощью команды:

В текущий момент Pico TTS поддерживает британский английский (British English), американский английский (American English), испанский, голландский, французский и итальянский языки. Языковые коды для использования этих языков следующие: en-GB, en-US, es-ES, de-DE, fr-FR и it-IT. Для воспроизведения текста на итальянском языке можно использовать команду:

Тестирование работы Pico TTS5. PYTTSX3

pyttsx3 – это библиотека преобразования текста в речь, написанная на языке Python. Она может работать в офлайн режиме и совместима с Python 2 и 3. Звук, воспроизводимый с помощью PYTTSX, недостаточно чистый. Для установки PYTTSX3 используйте следующую команду:

Можно использовать следующий фрагмент кода для тестирования PYTTSX3 с настройками по умолчанию.

Тестирование работы PYTTSX

Заключение

В данной статье мы рассмотрели установку и тестирование пяти приложений для преобразования текста в речь на Raspberry Pi. В качестве вывода из результата сравнения этих систем можно отметить следующее:

  • Google Text to Speech имеет наилучшее качество звука, но требует интернет соединения для своей работы. Все остальные рассмотренные программы поддерживают работу в офлайн режиме;
  • Pico TTS обеспечивает очень хорошее качество звука и поддерживает большое количество языков;
  • Festival также обеспечивает хорошее качество звука;
  • eSpeak прост в использовании и имеет много настроек, позволяющих настроить его работу в необходимом режиме, но качество звука у него не очень хорошее.

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
887 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *