Как заставить питона говорить


Как я могу заставить Python сказать какой-то текст?

Я мог бы использовать фестиваль с подпроцессом, но я не смогу его контролировать (или, возможно, в интерактивном режиме, но он не будет чистым).

есть ли библиотека Python TTS? Как API для фестиваля, eSpeak,... ?

11 55

11 ответов:

обратите внимание, что это работает только с python 2.x

вы должны попробовать использовать пакет PyTTSx, так как PyTTS устарел. PyTTSx работает с последней версией python.

http://pypi.python.org/pypi/pyttsx/1.0 - > пакет

надеюсь, это поможет

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

попробуйте ввести в терминале следующее:

$ say 'hello world' 

и будет голос с mac, который будет говорить это. От python такая вещь относительно проста:

import os
os.system("echo 'hello world'")
os.system("say 'hello world'") 

на python-espeak пакет доступен в Debian, Ubuntu, Redhat и других дистрибутивах Linux. Он имеет последние обновления, и работает отлично.

from espeak import espeak
espeak.synth("Hello world.")

Джонатан лидеры отмечает, что он также работает на Windows, и вы можете установить голоса mbrola, а также. Смотрите веб-сайт espeak по адресуhttp://espeak.sourceforge.net

Как услышать голос ПК на windows

from win32com.client import Dispatch

speak = Dispatch("SAPI.SpVoice")

speak.Speak("Ciao")

использование Google text-to-speech Api для создания mp3 и вот он

после установки модуля gtts в cmd: типун установить ГТЦ

from gtts import gTTS
import os    

tts = gTTS(text="This is the pc speaking", lang='en')
tts.save("pcvoice.mp3")
# to start the file from python
os.system("start pcvoice.mp3")

простой Google привел меня к pyTTS и несколько документы об этом. Однако он выглядит неподдерживаемым и специфичным для речевого движка Microsoft.

по крайней мере, на Mac OS X, вы можете использовать subprocess на say команда, которая довольно забавна для общения с вашими коллегами, но может быть не очень полезна для ваших нужд.

похоже, что у фестиваля тоже есть несколько публичных API:

фестиваль предлагает BSD интерфейс на основе сокетов. Это позволяет Festival работать как сервер и разрешить клиентским программам доступ к нему. В основном сервер предлагает новый интерпретатор команд для каждого клиента, который присоединяется к нему. Сервер разветвляется для каждого клиента, но это намного быстрее, чем ждать начала фестивального процесса с нуля. Также сервер может работать на более крупной машине, предлагая гораздо более быстрый синтез.линки

есть еще полнофункциональный C++ API, из которого вы могли бы сделать модуль Python (это весело!). Фестиваль также предлагает урезанный C API-продолжайте прокрутку в этом документе - который вы можете бросить ctypes at для одноразового использования.

возможно, вы определили дыру на рынке?

есть несколько способов заставить Python говорить как в Python3, так и в Python2, два замечательных метода:

  • ОС

если вы находитесь на mac, вы будете иметь модуль ОС, встроенный в ваш компьютер. Вы можете импортировать модуль ОС с помощью:

import os

затем вы можете использовать ОС для запуска команд терминала с помощью ОС.системная команда:

os.system("Your terminal")

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

os.system("say 'some text'")

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

os.system("say " + myVariable)

второй способ получить Python, чтобы сказать это, чтобы использовать

  • модуль pyttsx

вам придется установить это с помощью

pip isntall pyttsx3

или для Python3

pip3 install pyttsx3

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

import pyttsx3
engine = pyttsx3.init()

engine.say("Your Text")

engine.runAndWait()

надеюсь, это поможет! :)

там не может быть ничего "Python specific", но рабочие столы KDE и GNOME предлагают text-to-speech как часть их поддержки доступности, а также предлагают привязки библиотеки python. Возможно, можно использовать привязки python для управления настольными библиотеками для преобразования текста в речь.

Если используется реализация Jython Python на JVM, то FreeTTS система может быть полезной.

наконец, OSX и Windows родные API для преобразования текста в речь. Возможно, их можно использовать из python через ctypes или другие механизмы, такие как COM.

можно использовать озвучки использование python для преобразования текста в речь.
Вот пример кода

    from subprocess import call
    speech="Hello World!"
    call(["espeak",speech])

P. S : Если озвучки не установлен на вашей системе linux, то вам нужно установить его в первую очередь.
Откройте терминал (с помощью ctrl + alt + T) и введите

    sudo apt install espeak

Если вы используете python 3 и windows 10, лучшее решение, которое я нашел, чтобы работать от Джованни Джанни. Это играло для меня в мужской голос:

import win32com.client as wincl
speak = wincl.Dispatch("SAPI.SpVoice")
speak.Speak("This is the pc voice speaking")

Я нашел это видео на youtube, так что если вы действительно хотите, вы можете получить кого-то вы знаете, и сделать свой собственный голос DIY tts.

Это то, что вы ищете. Полное решение TTS для Mac. Вы можете использовать этот автономный или совместно расположенный сервер Mac для веб-приложений:

http://wolfpaulus.com/jounal/mac/ttsserver/

PYTTSX3!

THE COMPLETE SOLUTION TO ALL YOU PYTHON TEXT-TO-SPEECH NEEDS

что:

Pyttsx3 - это модуль Python, который является клоном pyttsx модуль для Python 2.x, за исключением модифицированных, чтобы отлично работать в последних версиях Python 3!

почему:

это 100% MULTI-ПЛАТФОРМЫи РАБОТАЕТ В АВТОНОМНОМ РЕЖИМЕиАКТИВНО / ВСЕ ЕЩЕ РАЗРАБАТЫВАЕТСЯиРАБОТАЕТ С ЛЮБЫМ PYTHON Версия

как:

его можно легко установить с pip install pyttsx3 и использование такое же, как pyttsx:

import pyttsx3;
engine = pyttsx3.init();
engine.say("I will speak this text");
engine.runAndWait();

вывод:

он работает легко и безупречно, поэтому я думаю, что это лучшее решение