Преобразование текста в речь в объективе-c iPhone

Я разрабатываю приложение, в котором мне нужно воспроизводить строку как звук.

Я использую API http://translate.google.com/translate_tts?tl=en&q=Hello для говорить строку, но это немного медленно.

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


person Shivomkara Chaturvedi    schedule 04.07.2013    source источник
comment
Это приложение для iOS или MAC OSX? потому что у Objective-C есть какой-то способ воспроизведения строкового звука, я думаю.   -  person Suryakant Sharma    schedule 04.07.2013
comment
посетите эту ссылку, не уверен, но может сработать для вас :)   -  person Suryakant Sharma    schedule 04.07.2013
comment
Да, OpenEars — идеальный кандидат.   -  person Nikolay Shmyrev    schedule 04.07.2013


Ответы (3)


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

     AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:text];
     AVSpeechSynthesizer *syn = [[[AVSpeechSynthesizer alloc] init]autorelease];
    [syn speakUtterance:utterance];
person user926643    schedule 30.08.2013
comment
Но как я могу сделать для iOS 6? - person lenhhoxung; 27.11.2013
comment
Ssml поддерживается или нет? - person Inzamam Malik; 22.11.2017

импорт фреймворков:

#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.volume=90.0f;
 speechutt.rate=0.50f;
 speechutt.pitchMultiplier=0.80f;
[speechutt setRate:0.3f];
speechutt.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-us"];
[synthesizer speakUtterance:speechutt];

Опция voiceWithLanguage на любом поддерживаемом языке для речи.

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
person P.J.Radadiya    schedule 26.12.2016
comment
возможно ли аудио в текст? - person Ramani Hitesh; 09.03.2018
comment
я не знаю, извините - person P.J.Radadiya; 12.03.2018
comment
все в порядке p.j.Radadiya - person Ramani Hitesh; 12.03.2018
comment
как остановить AVSpeechUtterance и голос, если нет приложений - person Ramani Hitesh; 25.09.2018
comment
// Это немедленно останавливает синтезатор речи. [SpeechSynthesizer pauseSpeakingAtBoundary:AVSpeechBoundaryImmediate]; // И это будет продолжаться. [Синтезатор речи продолжает говорить] - person P.J.Radadiya; 02.02.2019

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

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

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

person Nirvana Tikku    schedule 05.07.2013
comment
Привет, Нирвана, есть ли возможность установить продолжительность вокала в Nuance? - person Vishnu Kumar. S; 06.07.2015