これについては何も見つけられないようです。 iOS7には、テキストから音声への変換を可能にするSiriクラスまたはAPIがありますか?
[siriInstance say:@"This is a test"];
そして、Siri=私のアプリから言ってください。
これができるはずですよね?些細なことのようです。
IOS 7以降、新しいTTS Apiがあります。
Objective Cで
_AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Some text"];
[utterance setRate:0.2f];
[synthesizer speakUtterance:utterance];
_
Swiftでは
_let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: "Some text")
utterance.rate = 0.2
_
次のように音声を変更することもできます。
_utterance.voice = AVSpeechSynthesisVoice(language: "fr-FR")
_
そして、覗きます
In Swift 2synthesizer.speakUtterance(utterance)
In Swift 3synthesizer.speak(utterance)
_import AVFoundation
_を忘れないでください
有用な方法
次の2つの方法を使用して、すべての音声を停止または一時停止できます。
_- (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary;
- (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary;
_
AVSpeechBoundary
は、スピーチをすぐに一時停止または停止する(AVSpeechBoundaryImmediate
)か、現在話されているWordの後に一時停止または停止する(AVSpeechBoundaryWord
)かを示します。
AVSpeechSynthesizer Doc を確認してください
これは、プレイグラウンドで使用するためのALi ABBASの回答です。
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)
私は特にSiriで仕事をしたことがありません。私は間違っているかもしれませんが、プライベートAPIを使用してSiriと統合することは非常に難しいと思います。
IOSのopenearsフレームワークを見てみます。私は過去にこれでいくつかの基本的な仕事をしたことがあり、オフライン音声認識と合成音声/テキスト音声変換の両方を行います
希望 this が役立ちます。