我似乎在这上面找不到任何东西。iOS7中是否有任何Siri类或API允许您进行文本到语音转换?我所要做的就是如下所示:
[siriInstance say:@"This is a test"];
然后让Siri从我的应用程序中说出来。
看来我们应该有能力做到这一点,不是吗?似乎是一件微不足道的事情。
我从未专门与Siri一起做过任何工作。我可能错了,但我认为使用私有API与Siri集成是非常困难的。
我想看一下IOS的openears框架。我做了一些基本的工作与此在过去和它做离线语音识别和合成语音/语音文字转换
希望这对你有帮助。
这是阿里·阿巴斯在操场上使用的答案:
import UIKit
import AVKit
import AVFoundation
import PlaygroundSupport
var str = "Hello, playground"
let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: str)
utterance.rate = 0.4
utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
//for playground only
let playerViewController = AVPlayerViewController()
PlaygroundPage.current.liveView = playerViewController.view
//
synthesizer.speak(utterance)
自从iOS 7以来,您有了一个新的TTS Api。
在目标C中
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Some text"];
[utterance setRate:0.2f];
[synthesizer speakUtterance:utterance];
在斯威夫特
let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: "Some text")
utterance.rate = 0.2
您也可以这样更改声音:
utterance.voice = AVSpeechSynthesisVoice(language: "fr-FR")
然后斯佩克
>
在Swift 3synthesizer.speak(话语)
中
别忘了导入AVFoundation
有用的方法
您可以使用以下两种方法停止或暂停所有语音:
- (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary;
- (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary;
AVSpeechBoundary
指示语音应该立即暂停或停止(avspeechboundaryinterment
),还是应该在当前正在讲话的单词之后暂停或停止(AVSpeechBoundaryWord
)。
检查AVSpeechSynthesizer文档
我是快速和iOS应用程序开发的新手。我正在使用AVSpeechSynthesiser创建一个文本到语音应用程序。我想设置一个字符串说在英语,但我希望它把那个特定的字符串翻译成语音,但在不同的语言,如阿拉伯语。我是否能够使用AVSpeechSynthesizer做到这一点,或者我需要使用翻译API来做到这一点。 谢谢你
我正在iOS应用程序中使用进行文本到语音转换。 语音合成器在所有设备上都运行良好,除了运行iOS9.0.2的iPad 2(型号A1395)。我使用Xcode 7.0.1。 问题是,在播放文本时说"希望"字母"p"要么真的很安静,要么不播放,用户只能听到"ho"。如果文本是“希望”,那么它播放正确。 有没有办法解决这个问题?
使用Microsoft语音API转录中/大型音频文件(每个文件约6-10分钟)的最佳方式是什么?比如批量音频文件转录? 我使用了https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-to-text-sample中提供的代码,用于连续转录语音,但它在某个时候停止转录。转录有任何限制吗?我只使用免
带有en-us语音的AVSpeechsynthesizer是“A”的发音,是“大写字母A”,但只想要“A”,怎么能做到呢?
有没有任何开源项目或库(在java或c),我可以用来将文本转换为用户语音。
AVSpeechSynthesisVoice。iOS SDK 7.0中引入了voiceWithLanguage。当时,每种语言/地区只有一种语音。 自iOSSDK 9.0以来,已经为每种语言/区域设置添加了更多的声音。所以苹果公司引入了一个新的应用编程接口语音识别器,这样你就可以得到你想要的特定语音。 我的问题是,如果我们仍然在iOS 9或更高版本中使用voiceWithLanguage会怎么样。