Текст Python для речи на Macintosh

Существуют ли библиотеки на Python, которые делают или позволяют преобразовать текст в речь с помощью встроенного в текстовый движок Mac Lion? Я сделал google, но большинство из них основаны на Windows. Я попробовал pyttx. Я попытался запустить

import pyttsx engine = pyttsx.init() engine.say('Sally sells seashells by the seashore.') engine.say('The quick brown fox jumped over the lazy dog.') engine.runAndWait() 

Но я получаю эти ошибки

 File "/Users/manabchetia/Documents/Codes/Speech.py", line 2, in <module> engine = pyttsx.init() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyttsx-1.0.egg/pyttsx/__init__.py", line 39, in init eng = Engine(driverName, debug) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyttsx-1.0.egg/pyttsx/engine.py", line 45, in __init__ self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyttsx-1.0.egg/pyttsx/driver.py", line 64, in __init__ self._module = __import__(name, globals(), locals(), [driverName]) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyttsx-1.0.egg/pyttsx/drivers/nsss.py", line 18, in <module> ImportError: No module named Foundation 

Как решить эти ошибки?

3 Solutions collect form web for “Текст Python для речи на Macintosh”

Не было бы намного проще сделать это?

 from os import system system('say Hello world!') 

Вы можете ввести man say чтобы увидеть другие вещи, которые вы можете сделать с помощью команды say .

Однако, если вы хотите получить более продвинутые функции, импорт AppKit также будет возможен, хотя некоторые знания Cocoa / Objective C необходимы.

 from AppKit import NSSpeechSynthesizer speechSynthesizer = NSSpeechSynthesizer.alloc().initWithVoice_("com.apple.speech.synthesis.voice.Bruce") speechSynthesizer.startSpeakingString_('Hi! Nice to meet you!') 

Если вы хотите увидеть больше вещей, которые вы можете сделать с помощью NSSpeechSynthesizer, взгляните на документацию Apple: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSSpeechSynthesizer_Class/Reference/Reference .html

Если вы ориентируетесь на Mac OS X как на свою платформу – PyObjC и NSSpeechSynthesizer – ваш лучший выбор.

Вот вам быстрый пример

 #!/usr/bin/env python from AppKit import NSSpeechSynthesizer import time import sys if len(sys.argv) < 2: text = raw_input('type text to speak> ') else: text = sys.argv[1] nssp = NSSpeechSynthesizer ve = nssp.alloc().init() for voice in nssp.availableVoices(): ve.setVoice_(voice) print voice ve.startSpeakingString_(text) while not ve.isSpeaking(): time.sleep(0.1) while ve.isSpeaking(): time.sleep(0.1) 

Обратите внимание, что модуль AppKit является частью моста PyObjC и должен быть уже установлен на вашем Mac. Не нужно устанавливать его, если вы используете OS python (/ usr / bin / python)

Это может сработать:

 import subprocess subprocess.call(["say","Hello World! (MESSAGE)"]) 
Python - лучший язык программирования в мире.