Используя Pyttsx3, вы можете настраивать и контролировать различные аспекты речевого вывода, такие как выбор голоса, скорость речи, громкость и многое другое. Он поддерживает несколько механизмов TTS, включая SAPI5 в Windows, NSSpeechSynthesizer в macOS и eSpeak в Linux. Pyttsx3 – популярный выбор среди разработчиков, которые хотят включить возможности синтеза речи в свои приложения Python, включая чат-ботов, голосовых помощников и инструменты специальных возможностей.
Теперь давайте рассмотрим некоторые методы, предоставляемые Pyttsx3, вместе с примерами кода:
- Установка.
Прежде чем мы углубимся в примеры кода, убедитесь, что у вас установлен Pyttsx3. Вы можете установить его с помощью pip, установщика пакетов Python, выполнив следующую команду в терминале или командной строке:
pip install pyttsx3
- Базовое преобразование текста в речь.
Следующий фрагмент кода демонстрирует базовый пример преобразования текста в речь с помощью Pyttsx3:
import pyttsx3
# Create a TTS engine instance
engine = pyttsx3.init()
# Set the text to be spoken
text = "Hello, how are you?"
# Convert text to speech
engine.say(text)
# Play the speech
engine.runAndWait()
- Изменение скорости речи.
Вы можете настроить скорость речи, чтобы контролировать, насколько быстро или медленно произносится текст. Скорость речи по умолчанию обычно составляет 200 слов в минуту. Вот пример изменения скорости речи с помощью Pyttsx3:
import pyttsx3
engine = pyttsx3.init()
engine.setProperty('rate', 150) # Set the speech rate to 150 words per minute
text = "This is an example of adjusting the speech rate."
engine.say(text)
engine.runAndWait()
- Изменение голоса.
Pyttsx3 предоставляет возможность выбирать разные голоса для вывода речи. Вы можете перечислить все доступные голоса и выбрать конкретный голос, используя методsetProperty(). Вот пример:
import pyttsx3
engine = pyttsx3.init()
# List all available voices
voices = engine.getProperty('voices')
for voice in voices:
print("Voice:", voice.name)
# Set a specific voice
engine.setProperty('voice', voices[1].id) # Select the second voice from the list
text = "This is an example of changing the voice."
engine.say(text)
engine.runAndWait()
- Регулировка громкости.
Вы можете регулировать громкость речевого вывода с помощью методаsetProperty(). Значение объема находится в диапазоне от 0,0 до 1,0. Вот пример:
import pyttsx3
engine = pyttsx3.init()
engine.setProperty('volume', 0.7) # Set the volume to 70% (0.7)
text = "This is an example of adjusting the volume."
engine.say(text)
engine.runAndWait()
Это всего лишь несколько примеров того, что вы можете сделать с Pyttsx3. Библиотека предоставляет дополнительные функции и методы для более расширенного использования, такие как синтез речи на основе событий и сохранение речевого вывода в аудиофайлы.