2013-07-04 2 views
5

Я разрабатываю приложение, в котором я должен играть в качестве аудио.Текст в речь в объектив-с iPhone

Я использую API, чтобы говорить на струне, но это немного медленнее.

Есть ли какая-либо библиотека в объективе-c для воспроизведения строки в виде аудио «Текст для речи».

+0

Это приложение iOS или приложение MAC OSX? потому что у объектива-c есть какой-то способ воспроизвести звуковой сигнал, который я предполагаю. – Suryakant

+0

Его приложение для iOS. –

+1

Посетите это [link] (http://www.politepix.com/openears/) не так уверен, но он может сработать для вас :) – Suryakant

ответ

19

Посмотрите на классы AVSpeechUtterance и AVSpeechSynthesizer в io7. В основном вы можете просто сделать следующее.

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

Но как я могу сделать для iOS 6? – lenhhoxung

+0

Поддерживается Ssml или нет? –

0

Nuance NDEV Mobile iOS SDK может быть вашим лучшим выбором с точки зрения качества и производительности, но в отличие от OpenEars не является бесплатным. Тем не менее, у нас есть 40 разных языков и 61 доступный голос, а в библиотеке есть подсистема, которая не полагается на HTTP (и по-прежнему работает на сети), с которой вы можете играть.

После того, как вы зарегистрировались на счет ..

  • Создание приложения с целью использования этой платформы IOS
  • Скачать IOS SDK (есть пример приложения там, но я» буду описывать процесс интеграции его в приложение)
  • Импортируйте SpeechKit.framework, и связанные с ними базы (см docs)
  • Укажите учетные данные с информацией из приложения, созданного выше
  • Initialize SpeechKit с этой информацией
  • Создать Vocalizer экземпляр, указав язык или голос
  • Используйте что Vocalizer инстанс speakString с текстом, который требуется синтезировать
  • Берите методы делегата:
    • willBeginSpeakingString:(NSString *)text
    • didFinishSpeakingString:(NSString *)text

Примечание: API Vocalizer также поддерживает SSML.

+0

Привет, Нирвана, есть ли возможность установить продолжительность вокала в Nuance? –

3

рамки импорта:

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

код .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]; 

voiceWithLanguage вариант в любом языке Speek поддерживает это.

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

это возможно аудио в текст? –