Api texte-parole iOS

je n'arrive pas à trouver quoi que ce soit sur ce. Y a-t-il des classes Siri ou des API dans iOS7 qui vous permettent de faire du texte à la parole? Tout ce que je suis en train de faire est quelque chose comme ce qui suit:

[siriInstance say:@"This is a test"];

et puis Siri le dit de mon application.

il semble que nous devrions être capables de faire cela, non? Semble comme une chose banale.

42
demandé sur Ali Abbas 2014-03-21 18:45:17

4 réponses

depuis iOS 7 vous avez une nouvelle Api TTS.

Dans L'Objectif C

AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Some text"];
[utterance setRate:0.2f];
[synthesizer speakUtterance:utterance];

Rapide

let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: "Some text")
utterance.rate = 0.2

vous pouvez aussi changer la voix comme ceci:

utterance.voice = AVSpeechSynthesisVoice(language: "fr-FR")

Et puis speek

  • Dans Swift 2 synthesizer.speakUtterance(utterance)

  • Dans Swift 3 synthesizer.speak(utterance)

N'oubliez pas de import AVFoundation

méthodes Utiles

vous pouvez arrêter ou mettre en Pause tous les discours en utilisant ces deux méthodes :

- (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary;
- (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary;

AVSpeechBoundary indique si le discours doit s'arrêter ou s'arrêter immédiatement (AVSpeechBoundaryImmediate) ou elle devrait s'arrêter après le mot actuellement prononcé (AVSpeechBoundaryWord).

cochez la case AVSpeechSynthesizer Doc

127
répondu Ali Abbas 2017-09-11 12:38:56

C'est la réponse D'Ali ABBAS pour une utilisation dans un terrain de jeu:

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)    
4
répondu Matt Bearson 2017-06-19 23:56:25

Je n'ai jamais travaillé spécifiquement avec Siri. J'ai peut-être tort, mais je pense que l'intégration avec Siri est très difficile utilisation privée de l'API.

je voudrais jeter un oeil au cadre d'openears pour IOS. J'ai fait quelques travaux de base avec cela dans le passé et il fait à la fois la reconnaissance vocale hors ligne et la synthèse de la parole/text-To-speech

j'Espère vous aide.

3
répondu Tim 2016-06-28 11:18:51

Ici vous trouverez un exemple d'application texte à parole (TTS) (Objectif-C) basé sur

0
répondu d1jhoni1b 2016-08-04 09:12:35