Преобразование текста в речь в Python

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

Благодаря развитию технологий за последние несколько десятилетий у нас есть много устройств, оснащенных функцией распознавания речи. Python имеет широкий спектр доступных модулей, которые могут работать с аудиообъектами. Некоторые модули могут преобразовывать письменный текст в аудио.

В этом руководстве мы обсудим, как преобразовать текст в речь с помощью Python.

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

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

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

Мы реализуем этот метод в следующем коде.

from gtts import gTTS
from playsound import playsound

s = gTTS("Sample Text")
s.save('sample.mp3')
playsound('sample.mp3')

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

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

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

Pyttsx3 - еще один модуль, который может выполнять такие преобразования и работать без подключения к Интернету. Сначала мы создадим объект, который ссылается на pyttsx3.Engine, используя конструктор init() из этого модуля. Затем функция say() добавляет сюда требуемый текст для произнесения в очереди. Затем мы используем функцию runAndWait() для воспроизведения команды из очереди.

Например,

import pyttsx3  
s = pyttsx3.init()  
data = "Sample Text"  
s.say(data)  
s.runAndWait()  

Мы можем установить такие свойства, как скорость воспроизведения окончательного вывода, используя метод setProperty(). Этот модуль совместим с Python 2 и Python 3.