2013-07-04 14 views
5

Sto sviluppando un'applicazione in cui devo suonare una stringa come audio.Text to speech in iPhone-obiettivo

Sto usando l'API http://translate.google.com/translate_tts?tl=en&q=Hello per pronunciare la stringa ma è un po 'lenta.

Esiste una libreria in ogg-c per riprodurre la stringa come audio "Text To Speech".

+0

È un'app per iOS o app MAC OSX? perché oggettivo-c ha un modo per riprodurre l'audio delle stringhe credo. – Suryakant

+0

È un'app per iOS. –

+1

visita questo [link] (http://www.politepix.com/openears/) non così sicuro ma potrebbe funzionare per te :) – Suryakant

risposta

19

Guarda le classi AVSpeechUtterance e AVSpeechSynthesizer in io7. Fondamentalmente puoi solo fare quanto segue.

 AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:text]; 
    AVSpeechSynthesizer *syn = [[[AVSpeechSynthesizer alloc] init]autorelease]; 
    [syn speakUtterance:utterance]; 
+1

Ma come posso fare per iOS 6? – lenhhoxung

+0

Ssml è supportato o no? –

0

Nuance NDEV Mobile iOS SDK potrebbe essere la soluzione migliore in termini di qualità e prestazioni, ma a differenza di OpenEars non è gratuito. Detto questo, abbiamo 40 lingue diverse e 61 voci diverse disponibili e la libreria ha un sottosistema che non si basa su HTTP (ed è ancora basato sulla rete) con cui si può giocare.

Una volta che hai firmato per un account ..

  • Creare un'applicazione con l'intento di utilizzare la piattaforma iOS
  • Scarica iOS SDK (c'è un'applicazione di esempio in là, ma i' ll descrivere il processo di integrazione nella tua app)
  • Importare lo SpeechKit.framework e strutture associate (vedi docs)
  • Specificare le credenziali dal informazioni da App creato sopra
  • Inizializza SpeechKit con queste informazioni
  • creare un'istanza Vocalizer, specificando la lingua o la voce
  • Usa che Vocalizer esempio per speakString con il testo che si vuole sintetizzare
  • gestire i metodi delegato:
    • willBeginSpeakingString:(NSString *)text
    • didFinishSpeakingString:(NSString *)text

Nota: l'API Vocalizer supporta anche SSML.

+0

Ciao Nirvana, c'è qualche opzione per impostare la durata della voce in Nuance? –

3

quadri di importazione:

#import <AVFoundation/AVFoundation.h> 
#import <QuartzCore/QuartzCore.h> 

codice del file .m

NSString *str = @"Hello friend, how are you?"; 

AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init]; 

AVSpeechUtterance *speechutt = [AVSpeechUtterance speechUtteranceWithString:strtext]; 
[speechutt setRate:0.3f]; 
speechutt.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-us"]; 
[synthesizer speakUtterance:speechutt]; 

opzione voiceWithLanguage in qualsiasi lingua per Speek sostenuto che.

Arabic (Saudi Arabia) - ar-SA 
Chinese (China) - zh-CN 
Chinese (Hong Kong SAR China) - zh-HK 
Chinese (Taiwan) - zh-TW 
Czech (Czech Republic) - cs-CZ 
Danish (Denmark) - da-DK 
Dutch (Belgium) - nl-BE 
Dutch (Netherlands) - nl-NL 
English (Australia) - en-AU 
English (Ireland) - en-IE 
English (South Africa) - en-ZA 
English (United Kingdom) - en-GB 
English (United States) - en-US 
French (Canada) - fr-CA 
French (France) - fr-FR 
Finnish (Finland) - fi-FI 
German (Germany) - de-DE 
Hindi (India) - hi-IN 
Hungarian (Hungary) - hu-HU 
Indonesian (Indonesia) - id-ID 
Italian (Italy) - it-IT 
Japanese (Japan) - ja-JP 
Korean (South Korea) - ko-KR 
Norwegian (Norway) - no-NO 
Romanian (Romania) - ro-RO 
Russian (Russia) - ru-RU 
Slovak (Slovakia) - sk-SK 
Spanish (Mexico) - es-MX 
Swedish (Sweden) - sv-SE 
Turkish (Turkey) - tr-TR 
+0

è possibile l'audio in testo? –

Problemi correlati