OS X 的say命令对某些任务很有用(例如 Skype 的“联系人上线时通知我”),但它会错误地发音一些姓名。有没有办法教say一个单词的不同发音?
例如,尝试:
say "Hi, Joel Spolsky"
Run Code Online (Sandbox Code Playgroud)
'ol' 听起来像 'ball' 而不是 'old'。我想添加一个例外,说“像这样发音 Spolsky”,而不是尝试教授新的语言规则。我敢打赌有一种方法,因为它可以像 Apple 想要的那样发音“iphone”。
更新- 经过一些研究,这是我学到的:
dtrace在运行say,我发现在/System/Library/PrivateFrameworks/SpeechDictionary.framework/Resources打开了一些有趣的文件。这大概就是语音词典了,但是除了同音字是XML,都是二进制的。向同音词添加条目没有任何作用 - 它可能用于语音到文本。它们也是由 Apple 签名的代码 - 更改它们可能会阻止某些程序运行。
我的猜测是:
say是语音合成管理器之上的一个轻量级代码。Apple 开发人员很容易添加一个命令行选项来获取语音字典 plist 的路径以进行备用音素映射,但他们没有。编写一个更好的say.say是 JRobert 建议的方式。 这是我的快速实施,使用道格哈里斯的拼写建议:
#!/bin/sh
echo $@ | tr …Run Code Online (Sandbox Code Playgroud) 我在运行 OS X 的 Mac mini 上运行XBMC,我想让我们的 DVD(以及最终的录像带)可以访问,以便我们五岁的孩子可以自己开始看电影。
我首先尝试复制 DVD 的数据内容,但 XBMC 在遇到这些文件夹时并没有做任何魔术。它是可播放的,但更像是选择文件名,而不是选择电影。
接下来我将尝试一个直接的 .ISO 文件,但我希望其他人已经走这条路并有一些提示。我对 Linux 工具最满意,但如果在 Windows 或 OS X 上有更好的程序,我会检查一下。