AppleScript以中文说出所选文本

AppleScript以中文说出所选文本,applescript,text-to-speech,Applescript,Text To Speech,问题 我想生成一个AppleScript,它执行“开始说话”的等效功能,它存在于我的Mavericks 10.9.2系统的上下文菜单中。目前,如果我选择英语选项,操作系统将讲英语 我想创建一个AppleScript,它可以生成语音文本转换服务,但使用普通话。我最初怀疑我的语言环境可能与OSX以特定语言响应有关,但我不再确定(因为在我的系统上更改语言环境没有任何效果)。我研究了这个问题,发现需要设置以下首选项才能启用。启用后,我可以在Safari和其他一些应用程序中选择文本以使用开始讲话服务。我

问题

我想生成一个AppleScript,它执行“开始说话”的等效功能,它存在于我的Mavericks 10.9.2系统的上下文菜单中。目前,如果我选择英语选项,操作系统将讲英语

我想创建一个AppleScript,它可以生成语音文本转换服务,但使用普通话。我最初怀疑我的语言环境可能与OSX以特定语言响应有关,但我不再确定(因为在我的系统上更改语言环境没有任何效果)。我研究了这个问题,发现需要设置以下首选项才能启用。启用后,我可以在Safari和其他一些应用程序中选择文本以使用开始讲话服务。我对以下方法感兴趣:

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

    NB

    我已经尝试了一些项目,包括使用speak文本和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中的内置Speech>Start Speaking上下文菜单来完成所需的功能。感谢您提供的信息,使我找到了一个合适的解决方案

  • 导航至系统首选项>听写和语音
  • 选择“文字到语音”选项卡
  • 选择系统语音弹出按钮
  • 选择自定义
  • 搜索“chin”(无引号)
  • 选择可用的中文语音(Sin ji说广东话, 婷婷说北京话,梅佳说台语 (普通话)
  • 将系统语音更改为所需的适当汉语方言
  • 在Safari和其他地方,在突出显示的屏幕上使用默认上下文菜单 中文文本和系统将使用当前的汉语方言 精选

  • 您只需要打开automator并创建一个新服务。将自动机服务设置为“服务从任何应用程序接收文本”。然后添加一个“讲文本”操作。在语音列表中,选择您想听的任何语言。希望你有说中文的声音。保存它


    现在,当您突出显示某些文本时,右键单击它,进入“服务”菜单,然后选择您的自动售货机服务。

    有一个中文语音选项。我刚在10.9登记。进入系统首选项->听写和语音->文本到语音选项卡->系统语音弹出按钮->自定义,我看到3个中文语音。当然其中一个会为你工作。如果您选中其中一个或所有选项,它们将被下载并添加到您的语音选项中。然后按照我上面描述的做。