当前位置: 首页 > 知识库问答 >
问题:

NSSpeech合成器在macOS上获得Siri语音

孟永望
2023-03-14

有没有办法获取语音合成器的Siri语音<代码>语音合成器。availableVoices()没有列出它们,但可能有未记录的技巧或其他什么?

我也尝试使用AVSpeech Synthesizer,即使很难,它应该在macOS 10.14上可用,我无法让它大声读出来...

我用了一个游乐场用NSHipster的以下代码测试了这个:

import Cocoa
import AVFoundation

let string = "Hello, World!"
let utterance = AVSpeechUtterance(string: string)

let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(utterance)

共有1个答案

邢项禹
2023-03-14

我不知道有什么诀窍可以让Siri语音可用,我恐怕不可能通过公共API让它工作。

  • nsspeechsynthesisavspeechsynthesis都使用SpeechSynthesis。框架(包含在应用程序服务.framework中)
  • 快速检查它,函数BuildDefaultVoiceList(bool)检查包标识符(通过PermitAllVoices将其与com.apple.VoiceOverUtilitycom.apple.VoiceOverUtilityCacheBuilder)进行比较)
  • 可能还有其他支票

所有语音都存储在/System/Library/Speech/voices文件夹中。试图复制语音,请更改Info。plist值使其看起来像另一种声音,但仍然不可用/工作。

你想走多远?你想禁用SIP,修改框架,预加载你的东西,...这值得吗?

它可以工作,但是它有缺陷,你必须不时地终止服务。

AVSpeechSynthesisVoice.speechVoices().forEach { voice in
    print("Name: \(voice.name) Language: \(voice.language) Identifier: \(voice.identifier)")
}
let utterance = AVSpeechUtterance(string: "Ahoj, jak se máš?")
utterance.voice = AVSpeechSynthesisVoice(identifier: "com.apple.speech.synthesis.voice.zuzana.premium")

let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(utterance)

当您调用speak(outreace)时,将调用以下所有方法(委托)并按其应做的方式工作:

  • 语音合成器(didStart:)
  • speechSynthesizer(uquo:willSpeakRangeOfSpeechString:outreace:)
  • speechSynthesizer(uquo:didfish:)

如果你得到的只是讲话稿合成器(_: did取消:)方法调用,你必须杀死讲话稿合成器进程,那就有问题了:

kill `pgrep speechsynthesisd`

然后再试一次,它为我解决了问题。

  • 系统首选项-辅助功能-语音
 类似资料:
  • 我试着用将文本转换为语音,但不起作用。 我正在使用64位Windows7和VisualStudio2010(我想是用.NETFramework 4.0吧?) 该方案: 发生在第

  • 我在手机上使用Siri和手表在移动中创建提醒。当我在办公室时,我不想使用Siri来打扰安静,所以我通常使用与提醒应用程序集成的Alfred工作流,或者直接使用提醒应用程序。 但是,两者都有一个相当笨重的界面,如果我可以在命令行中键入: MacOS Sierra已经将Siri引入桌面,但到目前为止,除了大声说话之外,我还无法找到与Siri互动的方法,聚光灯也无法将Siri与自然语言理解相匹配。 苹果

  • 在线语音合成(tts) 概述 该API将文本转换为语音文件,支持不同编码格式和采样率. 调用示例 curl -sSL -v -X POST "https://ai.nationalchip.com/api/v1/tts" -H "accept: */*" -H "Authorization: Bearer ${access_token}" -H "Content-Type: applicatio

  • 1.1.1. TTS 1.1.1. TTS 我们的语音合成接口使用 C/S 架构,服务端默认启动,开发者需要通过调用客户端接口与服务端通讯,TTS服务架构图如下: 客户端头文件目录位于: #include <tts/tts_client.h> 除了要 include 头文件外,还需要链接 -lrktts。 API int tts_init(); // tts初始化接口 int tts_spe

  • 1.1. TTS(语音合成) HTTP接口文档 1.1.1. 概述 1.1.2. 服务地址 1.1.3. 协议详解 1.1.4. 协议概述 1.1. TTS(语音合成) HTTP接口文档 1.1.1. 概述 本文档目的是描述Rokid云TTS(语音合成)HTTP接口协议,面向想要了解TTS细节,并具有一定开发能力的开发者或用户。 1.1.2. 服务地址 环境 地址 用途 线上 https://ma