Pyttsx3 как изменить голос
Перейти к содержимому

Pyttsx3 как изменить голос

  • автор:

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

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

Позвольте мне сначала объяснить некоторые сокращения и некоторые основные термины, которые мы собираемся использовать в этом посте.

Для тех, кто не знает, что означает TTS, это означает преобразование текста в речь.

Что мы хотим сделать, так это дать какой-то фрагмент текста нашей программе, и она преобразует этот текст в речь и прочитает ее нам.

Другими словами, это заставляет компьютер читать нам.

Сейчас есть разные способы сделать это TTS, но здесь мы обсудим библиотеку, которую я лично использовал и получил хорошие результаты.

Мы будем использовать pyttsx3 .

Что такое pyttsx3

pyttsx3 — это библиотека Python, которая позволяет преобразовывать текст в речь. Таким образом, мы предоставим ему наш текст, и он преобразует этот текст в аудио.

Это оболочка для нескольких механизмов преобразования текста в речь, в том числе механизма преобразования текста в речь (TTS) от Microsoft.

Самое интересное

Теперь давайте посмотрим, как мы используем эту библиотеку для TTS.

Первое и главное, что нам нужно сделать, это установить эту библиотеку, и мы можем сделать это с помощью pip , который поставляется вместе с установкой Python.

Синтаксис этой установки аналогичен всем установкам pip .

pip установить pyttsx3

Если в случае, если эта установка выдает ошибку cmd not found , попробуйте использовать pip3 вместо pip , например:

pip3 установить pyttsx3

После установки давайте проверим, успешно ли он был установлен, выполнив эту команду:

Он вернет список всех пакетов, установленных в нашем env. Если вы найдете pyttsx3 в этом списке, значит мы успешно установили pyttsx3 и готовы использовать его в нашем проекте.

После завершения установки нам нужно импортировать эту библиотеку в наш проект, а затем мы должны инициализировать механизм преобразования текста в речь. Этот движок является наиболее важной частью, и именно он будет выполнять TTS для нас.

Импорт pyttsx3 и инициализация механизма преобразования текста в речь:

.init() — это метод, который необходимо вызвать для инициализации движка.

Теперь, когда наш движок инициализирован, мы можем использовать его для TTS, вызвав метод say(text) .

Эта скорость и громкость произносимого текста будут использоваться по умолчанию, и мы можем изменить их следующими способами.

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

Итак, мы должны сделать это следующим образом:

* Во-первых, мы получим это свойство, используя getProperty(name) * Затем мы установим это свойство с помощью setProperty(name, value)

Мы установим скорость, а также объем двигателя.

Настройка скорости и громкости речи:

По умолчанию скорость равна 200, поэтому мы уменьшим ее до 100. rate — это скорость речи, а 200 для нас — это много. Поэтому мы снизили его.

Скорость — это просто скорость, с которой говорящий будет говорить пройденный текст.

После установки скорости мы изменим или установим громкость, сначала получив свойство громкости, а затем установив его.

Громкость по умолчанию равна 1, т.е. 100%, мы увеличим ее до 150%, добавив .50 к полученному значению при чтении свойства громкости.

Теперь, когда мы закончили настройку этих двух свойств, мы вызовем say() , и теперь речь будет иметь наш параметр, то есть скорость 1x и 1,50 . громкость.

engine.say(«Здравствуйте, это тест для pyttsx3»)

Теперь этот runAndWait важен для нас. Мы хотим запустить этот движок и продолжать работать, пока он не завершит TTS переданного текста.

Кроме того, изменяя громкость, мы также можем изменить голос, которым говорят. Теперь здесь 2 голоса. Один для женского голоса, другой для мужского.

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

Имейте в виду:

  • voices[0] — мужской голос.
  • voices[1] — женский голос.

Давайте изменим голос:

Нам нужно будет вызвать свойство id выбранного голоса, и тогда все готово.

Мы можем скопировать верхний код, и на этот раз голос будет женским, а не мужским по умолчанию.

После того, как мы закончили настройку параметров и тестирование TTS, теперь мы можем сохранить аудиофайл сгенерированного TTS.

Вместо вызова .say() мы вызовем, на этот раз, .save_to_file и передадим текст, а также имя выходного файла, в который мы хотим, чтобы наш звук TTS для сохранения.

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

engine.save_to_file(«Здравствуйте, это тест для pyttsx3.», «test.mp3»)

После запуска у нас будет файл с именем test.mp3 со сгенерированным TTS.

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

Заключительные слова

Видите, как легко сгенерировать TTS из текста или даже из файла, содержащего текст?

Мы можем использовать эти сгенерированные TTS для различных целей, и это зависит от вас.

Я знаю, теперь вы сможете легко выполнять эту TTS, и вы будете делать потрясающие проекты, используя это.

Теперь сделайте одно: подпишитесь на меня в Twitter, если вам нравится контент и вы хотите оставаться на связи.

Спасибо за чтение, наслаждайтесь контентом.

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

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

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) Изменяем высоту голоса 

Этот код устанавливает скорость речи на 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 , настраивать его и произносить текст.

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

Изменение голоса с помощью модуля PYTTSX в Python

При использовании модуля Pyttsx в Python, как изменить голосовой идентификатор, который используется при проигрывании текста?

Документация, предоставленная, иллюстрирует, как циклически проходить через все доступные голоса, но не дает понятного способа выбора конкретного.

Поделиться Источник 05 февраля 2015 в 12:39

3 ответа

import pyttsx engine = pyttsx.init() voices = engine.getProperty('voices') engine.setProperty('voice', voices[0].id) #change index to change voices engine.say('I\'m a little teapot. ') engine.runAndWait() 

Поделиться 07 июля 2015 в 00:18

Ух, вы должны использовать engine.setProperty(‘voice’, voice_id) (с voice_id , который является идентификатором голоса в вашей системе; вы можете получить список доступных голосов из engine.getProperty(‘voices’) ), как предложено в этом примере:

engine = pyttsx.init() voices = engine.getProperty('voices') for voice in voices: engine.setProperty('voice', voice.id) # changes the voice engine.say('The quick brown fox jumped over the lazy dog.') engine.runAndWait() 

Вам не нужно цикличать, вы можете установить идентификатор голоса без цикла for .
Просто сделайте это так:

engine = pyttsx.init() engine.setProperty('voice', voice_id) # use whatever voice_id you'd like engine.say('The quick brown fox jumped over the lazy dog.') 

Поделиться 05 февраля 2015 в 12:41

Вот пример использования модуля pyttsx3:

import pyttsx3 engine = pyttsx3.init('sapi5') voices = engine.getProperty('voices') engine.setProperty('voice', voices[1].id) def speak(audio): engine.say(audio) engine.runAndWait() speak('Hello World') 

Смотрите документы для получения дополнительной информации.

Вопросы с меткой [pyttsx3]

Не работает тестовый код pyttsx3 import pyttsx3 engine = pyttsx3.init() engine.say(«I will speak this text») engine.runAndWait() При установке pyttsx3 ошибок не было pypiwin32 и piwin32 установлны .

задан 12 янв 2020 в 14:45
5k показов

Быстрое распознавание речи в python

Сейчас я делаю голосового ассистента с помощью python и SpeechRecognition но каждый раз когда я говорю команду преображение этой команды в текст длится долго (5-15 сек.) и это очень не приятно. Есть .

задан 25 фев 2020 в 19:06
328 показов

pyttsx3 разные голоса

У меня есть интересный вопрос. Возможно ли использовать голоса знаменитостей в pyttsx3(ну, например голос Трампа) для озвучки текста?

задан 4 ноя 2020 в 15:50

Python и pyttsx3 как служба

есть задача: оффлайн синтезирование речи, с получением текста для синтеза от Flask и запуском всего этого в качестве службы. Работает так: Запускаем скрипт, открываем страницу localhost:8080, пишем .

задан 26 мар 2020 в 5:11
940 показов

Не могу установить модуль «pyttsx3»

Все перепробовал, но не хочет находить библиотеку. Уже и сносил pywin32, pypiwin32, pyttsx3 и менял но все равно пишет: >>> import pyttsx3 Traceback (most recent call last): File »
задан 25 фев 2020 в 19:19

Не могу использовать pyttsx3 на реальном хостинге

У меня есть код, который приветствует пользователя на странице с помощью модуля pyttsx3. На localhost работает очень хорошо, т.к библиотека TTS напрямую подключается к звуковому оборудованию, а на .

задан 25 июн 2020 в 7:52
237 показов

Помогите решить проблему с модулем pyttsx3

import pyttsx3 engine = pyttsx3.init() engine.say(«I will speak this text») engine.runAndWait() Всё прекрасно работает, но программа говорит только на английском языке. Когда ввожу в engine.say() .

задан 14 фев 2020 в 14:30

Помогите с модулем pyttsx3

Вроде бы я всё правильно скачал, но при написании кода мне выдаёт ошибку. import pyttsx3 engine = pyttsx3.init() engine.say(«I will speak this text») engine.runAndWait() И выдаёт такую ошибку: .

задан 13 фев 2020 в 16:48
2k показов

Вылетает ошибка ModuleNotFoundError: No module named ‘pyttsx3.drivers’

Вкратце: Создал файл main.py и через pip установил pyttsx3. Скомпилировал в Exe, причем после компиляции в exe вылетает стек ошибок: Traceback (most recent call last): File «main.py», line 2, in
задан 29 мар 2019 в 8:36
550 показов

pyttsx3 не хочет говорить

есть код, завершается без ошибок, но не выдает то, что должен произнести: import pyttsx3 engine = pyttsx3.init() engine.say(«добрый день сэр») engine.runAndWait() сообщений об ошибках нет.

задан 14 авг 2021 в 8:29
124 показа

pyttsx3 не выговаривает фразы

Уважаемые знатоки, cтолкнулся с одной проблемкой во время учебы разработки на питоне — написал простой голосовой помощник. работает отличныо, исполняет разные команды. Под конец, дабы сделать общение .

задан 21 апр 2021 в 16:02
514 показов

Как исправить эту ошибку pyttsx3?

Есть вот такой код: import pyttsx3 engine = pyttsx3.init() engine.say(‘Hello World’) engine.runAndWait() Пример очень простой и взят из документации pyttsx3. Но, к сожалению, выдаёт такую ошибку: .

задан 11 окт 2020 в 10:49
253 показа

Не распознаётся путь к файлу

Пишу программу для преобразования текста в речь. столкнулся с проблемой когда не распознаётся путь к файлу текста. import pyttsx3 from gtts import gTTS work = pyttsx3.init() file = open(«C:\.

задан 28 июн 2020 в 8:23
169 показов

Библиотека pywin32 и pypiwin32 не найдены

Захотел сделать голосового ассистента. Для его работы выбрал либу pyttsx3, для корректной работы которой необходима либа pywin32 и pypiwin32. Во время их установки в PyCharm последний сообщает что не .

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

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