Руководство по использованию библиотеки pyttsx3 для генерации речи в Python

Руководство по использованию библиотеки pyttsx3 для генерации речи в Python

13 мая 2023 г.

Pyttsx3 - это простая и удобная библиотека Python для синтеза речи. Она позволяет создавать приложения, которые могут генерировать голосовые уведомления, речевые ответы и даже проговаривать текст.

В этом уроке мы рассмотрим, как использовать Pyttsx3 для создания простых приложений с синтезом речи.

 

Шаг 1: Установка Pyttsx3

 

Перед тем, как начать работу с Pyttsx3, необходимо установить библиотеку. Это можно сделать с помощью pip - менеджера пакетов для Python. Откройте терминал и введите следующую команду:

pip install pyttsx3

 

Шаг 2: Создание простого приложения

 

После установки Pyttsx3 мы можем начать создавать наше первое приложение. Для этого создадим новый файл main.py.

import pyttsx3

Создаем объект класса TTS (text-to-speech)
engine = pyttsx3.init()
Устанавливаем настройки голоса
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)
Генерируем речь

engine.say("Привет, мир!")
engine.runAndWait()

В этом примере мы создаем объект engine класса pyttsx3.init(), который будет использоваться для генерации речи. Затем мы устанавливаем настройки голоса, выбирая первый доступный голос из списка. Наконец, мы используем метод say() для генерации речи и метод runAndWait() для проигрывания речи.

Вы можете запустить этот пример, чтобы услышать голосовое приветствие.

 

Шаг 3: Изменение настроек голоса

 

Pyttsx3 позволяет настраивать различные параметры голоса, такие как скорость речи и высота голоса. Чтобы изменить эти параметры, мы можем использовать метод setProperty(). Вот пример:

# Изменяем скорость речи
engine.setProperty('rate', 150)
Изменяем высоту голоса

engine.setProperty('pitch', 50)

Этот код устанавливает скорость речи на 150 слов в минуту и высоту голоса на 50.

 

Шаг 4: Генерация речи из текста

 

Pyttsx3 также позволяет генерировать речь из текста. Вот пример:

text = "Это текст, который мы хотим проговорить."
engine.say(text)
engine.runAndWait()

В этом примере мы используем метод say() для генерации речи из

 

Шаг 5: Произношение текста

 

Теперь мы готовы к тому, чтобы наконец произнести текст. Для этого создадим экземпляр класса Engine и вызовем его метод say():

import pyttsx3
engine = pyttsx3.init()
engine.say("Привет, мир!")
engine.runAndWait()

При вызове метода say() наш движок произнесет переданный ему текст. Метод runAndWait() позволяет дождаться окончания произнесения текста перед выходом из программы.

 

Шаг 6: Изменение настроек произношения

 

Библиотека pyttsx3 позволяет изменять настройки произношения текста. Например, можно изменить скорость речи, громкость и тон голоса.

Для изменения настроек нужно создать экземпляр класса Engine и вызвать его метод setProperty() с нужными параметрами:

import pyttsx3
engine = pyttsx3.init()
engine.setProperty('rate', 150)   # установим скорость речи
engine.setProperty('volume', 0.8) # установим громкость
engine.setProperty('voice', 'ru') # установим русский голос
engine.say("Привет, мир!")
engine.runAndWait()

Значение параметра rate определяет скорость речи, где 100 - нормальная скорость. Значение параметра volume указывает громкость речи, где 1 - максимальная громкость. Значение параметра voice определяет голос, на котором будет произнесен текст.

 

Шаг 7: Получение списка доступных голосов

 

Для того чтобы узнать, какие голоса доступны для использования, можно воспользоваться методом getProperty():

import pyttsx3
engine = pyttsx3.init()
получим список доступных голосов
voices = engine.getProperty('voices')
выведем информацию о каждом голосе
for voice in voices:
	print("Name:", voice.name)
	print("ID:", voice.id)
	print("Languages:", voice.languages)
	print("Gender:", voice.gender)
	print("Age:", voice.age)

Метод getProperty('voices') возвращает список объектов типа pyttsx3.voice.Voice, каждый из которых представляет собой голос, доступный для использования.

Заключение

В этом уроке мы рассмотрели библиотеку pyttsx3, которая позволяет произносить текст с помощью компьютера. Мы научились создавать экземпляр класса Engine, настраивать его и произносить текст.

Кроме того, мы рассмотрели возможность использования различных


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE