Найти тему
SoftSAR

Синтез речи с помощью Python

Раннее в статье мы писали о распознавании речи с помощью Python. Программы использующие распознавания речи нашли широкое применение во многих сферах деятельности, например, голосовые помощники (ассистенты), голосовой ввод сообщений, управление голосом. В данной статье мы рассмотрим другой аспект этого вопроса, а именно синтез речи, т.е. преобразования текста в речь. Программы преобразования текста в речь, также имеют широкое применение, например, голосовые помощники, озвучка меню, озвучка книг и др.

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

Чтобы компьютер заговорил, требуется:

  • голосовой движок (синтезатор речи) с поддержкой нужного нам языка,
  • голоса озвучки.

Используйте модуль gTTS для преобразования текста в речь в Python

Google создал API под названием Google Text-To-Speech, который они используют для чтения текста и вывода звука. Этот API интегрирован с модулем Python под названием gtts, который может преобразовывать текст в речь, выполнять манипуляции со звуком, среди прочего, путем сохранения звука в объекте байтового размера и даже сохранять окончательный результат.

Устанавливаем необходимые библиотеки через командную строку:

pip install gTTS
pip install playsound

Мы будем использовать функцию gTTS для создания объекта, который будет читать текст и преобразовывать его в аудио объект. С этой функцией мы можем использовать множество параметров. Мы можем уменьшить скорость вывода, используя аргумент slow. Google API поддерживает разные языки, и мы можем указать поддерживаемые языки с помощью параметра lang.

В приведенном выше коде мы создаем объект, который читает введенный пользователем текст. Мы сохраняем этот объект, содержащий звук речи, с помощью функции save(), а затем воспроизводим его с помощью функции playsound().

В приведенном ниже коде мы импортировали API и используем функцию gTTS. Функция gTTS() принимает три параметра:

  • Первый аргумент – это текстовое значение, которое мы хотим преобразовать в речь.
  • Второй – указанный язык. Он поддерживает множество языков. Мы можем преобразовать текст в аудиофайл.
  • Третий аргумент представляет скорость речи. Мы передали значение slow как false; это означает, что речь будет идти с нормальной скоростью.

Обратите внимание, что, поскольку этот модуль использует API Google для преобразования текста в речь, ему потребуется активное подключение к Интернету.

В этой статье мы рассмотрели синтез речи с помощью библиотеки Python gTTS.

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am

Наука
7 млн интересуются