iOS de Texto A Voz de la Api

Me parece que no puede encontrar nada sobre esto. Hay Siri o clases de la API en iOS7 que te permiten hacer de texto a voz? Todo lo que estoy tratando de hacer es algo como lo siguiente:

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

Y, a continuación, tener Siri decir que desde mi aplicación.

Parece que debe ser capaz de hacer esto, ¿no? Parece una cosa trivial.

  • No hay ninguna API para Siri
InformationsquelleAutor Jesse | 2014-03-21

4 Kommentare

  1. 142

    Desde iOS 7 tiene un nuevo TTS Api.

    En Objective C

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

    En Swift

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

    También puede cambiar la voz como esta :

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

    Y, a continuación, speek

    • En Swift 2
      synthesizer.speakUtterance(utterance)

    • En Swift 3
      synthesizer.speak(utterance)

    No olvides import AVFoundation

    Métodos útiles

    Puede Detener o Pausar todas discurso el uso de estos dos métodos :

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

    La AVSpeechBoundary indica si el discurso debe hacer una pausa o detener de inmediato (AVSpeechBoundaryImmediate) o se debe hacer una pausa o detener después de la palabra que actualmente se hablan (AVSpeechBoundaryWord).

    Comprobar la AVSpeechSynthesizer Doc

    • Esto es exactamente lo que yo necesitaba, gracias!
    • Esta respuesta ahorrar mi tiempo, Gracias.
    • Todo esto puede ser encapsulado en una clase auxiliar para hacer TTS: vijayt.com/post/text-to-speech-in-ios7
    • sí, por qué no 🙂
  2. 9

    Este es Ali ABBAS respuesta para su uso en un patio de recreo:

    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)    
  3. 3

    Nunca he hecho ningún trabajo específicamente con Siri. Puedo estar equivocado, pero creo que la integración con Siri es muy difícil el uso privado de la API.

    Me gustaría echar un vistazo a la openears marco para IOS. He hecho un poco de trabajo básico con esto en el pasado y lo hace tanto offline de reconocimiento de voz y sintetizador de voz/texto-a-voz

    Esperanza este ayuda.

    • gracias, enfermo check it out
    • fueron capaces de añadir nuevas voces con openears?

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea