Как озвучить текст python

от admin

# Синтез речи

Познакомимся, как использовать Python для преобразования текста в речь с использованием кроссплатформенной библиотеки pyttsx3 . Этот пакет работает в Windows, Mac и Linux. Он использует родные драйверы речи, когда они доступны, и работает в оффлайн режиме.

Использует разные системы синтеза речи в зависимости от текущей ОС:

  • в Windows — SAPI5,
  • в Mac OS X — nsss,
  • в Linux и на других платформах — eSpeak.

Есть функции, которые здесь не рассматриваются, такие как система событий. Вы можете подключить движок к определенным событиям:

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

Всегда обращайтесь к официальной документации для получения наиболее точной, полной и актуальной информации https://pyttsx3.readthedocs.io/en/latest/

# Установка пакетов в Windows

Используйте pip для установки пакета. В Windows, вам понадобится дополнительный пакет pypiwin32 , который понадобится для доступа к собственному речевому API Windows.

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

Для первой программой озвучивания текста используем код:

В примере программы даны две фразы на английском и на русском языке. Существует голосовой набор по умолчанию, поэтому вам не нужно выбирать голос. В зависимости от версии windows будет озвучена соответствующая фраза. Например для английской версии windows услышим: "I can speak!"

# Доступные синтезаторы по умолчанию

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

У каждого голоса есть несколько параметров, с которыми можно работать:

  • id (идентификатор в операционной системе),
  • name (имя),
  • languages (поддерживаемые языки),
  • gender (пол),
  • age (возраст).

У активного движка есть стандартный параметр ‘voices’, где содержится список всех доступных этому движку голосов. Получить список доступных голосов можно так:

Результат будет примерно таким:

Как видите, в Windows для большинства установленных голосов MS SAPI заполнены только «Имя» и ID.

# Установка дополнительных голосов в Windows

При желании можно установить дополнительные языковые пакеты согласно инструкции https://support.microsoft.com/en-us/help/14236/language-packs#lptabs=win10

Для этого выполните указанные ниже действия.

Нажмите кнопку Пуск , затем выберите Параметры > Время и язык > Язык.

В разделе Предпочитаемые языки выберите Добавить язык.

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

В разделе Установка языковых компонентов выберите компоненты, которые вы хотите использовать на языке.

tts_language_install

ВНИМАНИЕ: отключите первый пакет: "Install language pack and set as my Windows display language""Установите языковой пакет и установите мой язык отображения Windows"

tts_language_install_uncheck

Иначе переустановиться язык отображения операционной системы.

Нажмите Установить.

После установки нового языкового пакета перезагрузка не требуется. Запустив код проверки установленных языков. Новый язык должен отобразиться в списке.

Не все языковые пакеты поддерживают синтез речи. Для этого опция Speech должны быть в описании установки.

# Выбор голоса

Установить голос можно методом setProperty() . Например, используя голосовые идентификаторы, найденные ранее, вы можете настроить голос. В примере показано, как настроить один голос, чтобы сказать что-то, а затем использовать другой голос из другого языка, чтобы сказать что-то другое.

В Windows идентификатором служит адрес записи в системном реестре:

# Как озвучить системное время в Windows

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

Привер риложения которое каждую минуту проговаривает текущее время по системным часам. Точнее, оно сообщает время при каждой смене минуты. Например, если вы запустите скрипт в 14:59:59, программа заговорит через секунду.

Программа будет отслеживать и называть время, пока вы не остановите ее сочетанием клавиш Ctrl+C в Windows.

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

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

# Упражнения tkinter

  1. Напишите программу часы, которая показывает текущее время и имеет кнорку, при нажатии на которую можно ушлышать текуще время.
  2. Внесите измеения с программу что бы при произненсении времени программа корректно склоняла слова: "часы" и "минуты".
  3. Добавьте с помощью радиокнопки выбор языка озвучки часов.

# Озвучиваем текст из файла

Не будем довольствоваться текстами в коде программы — пора научиться брать их извне. Тем более, это очень просто. В папке, где хранится только что рассмотренный нами скрипт, создайте файл test.txt с текстом на русском языке и в кодировке UTF-8. Теперь добавьте в конец кода такой блок:

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

# Упражнения tkinter

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

# Модуль Google TTS — голоса из интернета

Google предлагает онлайн-озвучку текста с записью результата в mp3-файл. Это не для каждой задачи:

  • постоянно нужен быстрый интернет;
  • нельзя воспроизвести аудио средствами самого gtts;
  • скорость обработки текста ниже, чем у офлайн-синтезаторов.

Что касается голосов, английский и французский звучат очень реалистично. Русский голос Гугла — девушка, которая немного картавит и вдобавок произносит «ц» как «ч». По этой причине ей лучше не доверять чтение аудиокниг, имен и топонимов.

Читать:
Как убрать эскизы в ворде

Еще один нюанс. Когда будете экспериментировать с кодом, не называйте файл «gtts.py» — он не будет работать! Выберите любое другое имя, например use_gtts.py.

Для работы необходимо установить пакет:

Простейший код, который сохраняет текст на русском в аудиофайл:

После запуска этого кода в директории, где лежит скрипт, появится запись. Для воспроизведения в питоне придется использовать pygame или pyglet.

Python Text To Speech

Hello friends, It’s been a long time publishing a tech story.

Thank you all for your wonderful support until now.

Converting a text to speech is tedious in other programming languages, Except the big guy with the small name python. When I look into python I had blown out.

In this story, I will show you how to make a text to speak via programming on python,

First, you guys need to install python and set the environment variable path for python and pip.

pip is a python package installer. Here, packages mean the external contributed libraries, which can be used in our code.

Open a new file you name it whatever, but make sure the extension is .py

Now we have to install some packages via pip,

Open your terminal and run the command below,

After installing that, Make sure that you install pyAudio package,

Here we going to start writing the code. Before typing the code I usually make a mindmap for better understanding.

  1. First import the package pyttsx3.
  2. Initialize the speech engine.
  3. Select voice for your engine.
  4. Finally, let the code speak for you.

That’s it the coding part is done. I know its soo easy when compared with other programming languages. Yet It’s done.

Простейший голосовой помощник на Python

Для создания голосового помощника не нужно обладать большими знаниями в программировании, главное понимать каким функционалом он должен владеть. Многие компании создают их на первой линии связи с клиентом для удобства, оптимизации рабочих процессов и наилучшей классификации звонков. В данной статье представлена программа, которая может стать основой для Вашего собственного чат-бота, а если точнее – голосового помощника для распознавания голоса и последующего выполнения команд. С ее помощью мы сможем понять принцип работы наиболее часто встречаемых голосовых помощников.

Для начала объявим необходимые нам библиотеки:

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

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

В лог файл мы записываем время сообщения, автора (бот или пользователь) и собственно сам сказанный текст.

Выводим первое сообщение за авторством бота: Привет! Чем я могу вам помочь?

А с помощью такой процедуры в Jupyter Notebook мы можем озвучить через устройство воспроизведения, настроенное по умолчанию, сказанные слова:

Как озвучивать текст мы рассмотрели выше, но как же мы свой голос сможем превратить в текст? Тут нам поможет распознавание речи от Google и некоторые манипуляции с микрофоном.

Что может сделать наш помощник кроме того, чтобы нас слушать? Все ограничено нашей фантазией! Рассмотрим несколько интересный примеров.

Начнем с простого, пусть при команде открыть сайт – он откроет сайт (не ожидали?).

Иногда полезно послушать свои слова, да чужими устами. Пусть бот еще умеет и повторять за нами:

Пусть еще и собеседником будет, но начнем мы пока только со знакомства:

Мы также можем попросить голосового помощника назвать случайное число в выбранных нами пределах в формате: Назови случайное число от (1ое число) до (2ое число).

Для того, чтобы завершить программу, достаточно только попрощаться с ботом:

А чтобы все это работало беспрерывно, мы создаем бесконечный цикл.

Проведем тестовый диалог:

В созданной папке-сессии хранятся все файлы-аудиозаписи нашего голоса и текстовый лог-файл:

В текстовый лог-файл записывается:

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

Как озвучить текст python

There are several APIs available to convert text to speech in Python. One of such APIs is the Google Text to Speech API commonly known as the gTTS API. gTTS is a very easy to use tool which converts the text entered, into audio which can be saved as a mp3 file.

The gTTS API supports several languages including English, Hindi, Tamil, French, German and many more. The speech can be delivered in any one of the two available audio speeds, fast or slow. However, as of the latest update, it is not possible to change the voice of the generated audio.

Installation

To install the gTTS API, open terminal and write

This works for any platform.
Now we are all set to write a sample program that converts text to speech.

Похожие статьи