AppleScript用中文说出所选文本

时间:2014-03-21 02:11:40

标签: applescript text-to-speech

问题

我想生成一个AppleScript,其功能相当于“Start Speaking”,它存在于我的Mavericks 10.9.2系统的上下文菜单中。目前,如果我选择英语选择,操作系统将会说英语。

Start Speaking

我想创建一个AppleScript,它可以生成音频文本到语音转换服务但使用普通话。我最初怀疑我的语言区域可能与OSX以特定语言响应有关,但我不再确定(因为我的系统上的区域设置改变没有效果)。我调查了这个问题,发现需要设置以下首选项才能启用text to speech functionality。启用后,我可以在Safari和其他一些应用程序中选择文本以使用Start Speaking Service。我对以下方法感兴趣:

  1. 使用默认值(我可以使用默认值来让OSX识别 选中的汉字?)
  2. 使用其他一些可以帮助我完成的内部设置 文字转语音(中文)
  3. 使用将所选文本添加到查询的外部链接 然后可以通过Safari打开到翻译网站的字符串 (我更倾向于使用translate.google.com这个选项)
  4. 数字(3)三似乎很有希望,如果有人能为上述任何方法提供实际用例,我将不胜感激。

    NB

    我已经尝试了一些项目,包括使用说话文本设置Automator服务,使用AppleScript打开带有uri编码数据的Web位置。

    on run {input, parameters}
    
        set targetURI to urlEncode(input)
    
        open location "http://translate.google.com/#zh-CN/en/" & targetURI --input
    end run
    
    on urlEncode(str)
    
        local str
    
        try
            return (do shell script "/bin/echo " & quoted form of str & ¬
                " | perl -MURI::Escape -lne 'print uri_escape($_)'")
        on error eMsg number eNum
            error "Can't urlEncode: " & eMsg number eNum
        end try
    
    end urlEncode
    

    更新

    在合并以下说明后,我能够使用内置语音>在Safari / Notes中启动Speaking上下文菜单以完成所需的功能。完全信任并感谢您获得适当解决方案的信息。

    1. 导航至系统偏好设置>听写与语音
    2. 选择文字转语音标签
    3. 选择系统语音弹出按钮
    4. 选择自定义...
    5. 搜索“下巴”(没有引号)
    6. 选择可用的中文声音(Sin-ji说广东话, 婷婷讲北京普通话,梅佳说台语 国语)
    7. 将系统语音更改为您想要的适当中文方言
    8. 在Safari和其他地方,使用突出显示的默认上下文菜单 中文文本和系统将用现在的中文方言说话 所选

1 个答案:

答案 0 :(得分:1)

您只需打开automator并创建新服务即可。将automator服务设置为“service from any application”。然后添加“说出文字”动作。在声音列表中选择您想要听的任何语言。希望你有一个说中文的声音。保存它。

现在,当您突出显示某些文字时,右键单击它,转到服务菜单,然后选择您的自动取款服务。