如何从Objective-C安装OS X TTS语音

时间:2014-03-25 07:13:25

标签: objective-c macos speech

OS X Lion带来了一些来自Nuance的精彩声音。我想从我的软件中使用它们,但是,目前它们要求用户手动转到系统偏好设置,听写和语音,系统语音 - >自定义,然后从Apple下载声音。我想从Objective-C中调用一些东西,以便在背景中自动下载缺少的声音(比如中文声音)。怎么办呢?

顺便提一下,可以使用

找到系统上的可用语音
[NSSpeechSynthesizer availableVoices]

但所有可能的声音(到目前为止)只能在“听写和语音”对话框中找到。以下是手动完成的方法:

enter image description here

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:5)

我非常怀疑有任何可行的方法可以做到这一点。

您应该将用户指向一个帮助页面来解释该过程(如果可能的话,最好是苹果网站上的帮助页面,因为如果流程发生变化,他们会保持更新)。

您将需要root访问才能执行此操作,这是从App Store应用程序中禁止的。它几乎肯定需要与软件更新过程相结合,这个过程非常复杂,完全没有记录,并且随时都可能发生变化。

或者,请联系细微差别以获得自行分发声音的许可。他们都出售。如果只安装在用户可以免费获得它们的mac上,你甚至可以获得折扣价。

答案 1 :(得分:1)

您可以使用this AppleScript以编程方式安装TTS语音,但MacOS随附所有语音!

但并非所有人都在" Dictation&语音 - >系统语音"。

原因是它们非常简单(紧凑)版本,MacOS只显示完整版本的声音,如:" Alex"。

<强>示例:

我的配置: enter image description here

你可以看到我只有英语声音,但下一个例子与西班牙文本完美配合。

Swift示例:

var voice:NSSpeechSynthesizer = NSSpeechSynthesizer(voice: "com.apple.speech.synthesis.voice.diego")
voice.startSpeakingString("España y los españoles")

终端示例:

say -v monica "En España a los españoles les encanta paella"

答案 2 :(得分:0)

如何获取下载列表是个谜......但是......

使用wireshark,可以确定语音位置。确实从Apple下载了一个pkg。是否需要凭证等是一个单独的问题。

enter image description here

以下是其他示例网址:

/content/downloads/10/29/041-5265/kKRs5z32DcbrGdV4TZvY9hcqy8tcpkbX43/MLV_en_AU_karen.pkg

下载后,可以运行安装程序进行安装。

更新。我可以使用http从Windows下载pkg。另外,这个其他链接

http://swcdn.apple.com/content/downloads/59/49/041-4469/WNshMBxxbxx5qXv27Mrvxm7yKcSRM75sVw/041-4469.English.dist

提供有关041-4469的信息,包括包名。