За синтез речи отвечает класс AVSpeechSynthesizer Достаточно передать ему текст обернутый в класс AVSpeechUtterance и текст будет прочитан смартфоном.
Голос зависит от локали, в том числе поддерживается русский. Речь звучит четко и приятно.
var speechSynthesizer = new AVSpeechSynthesizer (); var speechUtterance = new AVSpeechUtterance ("Shall we play a game?"); speechSynthesizer.SpeakUtterance (speechUtterance);
голос по умолчанию с английской локалью
Это ссылка! Кликайте с Ctrl или Cmd, на хабре нельзя встроить звук. В нашем блоге разместил пост с виджетами Sound Cloud.
Речь настраивается с помощью параметров класса AVSpeechUtterance:
- Rate — скорость проигрывания, чем больше тем быстрее от MinimumSpeechRate до MaximumSpeechRate.
- Voice — объект класса AVSpeechSynthesisVoice зависит только от локали, голос один женский.
- Volume — громкость голоса, от 0 до 1.0, по умолчанию 1.0 (самый громкий)
- PitchMultiplier — высота голоса от 0.5 до 2.0, по умолчанию 1.0.
На мой взгляд, текст по умолчанию звучит слишком быстро. Установим максимальную скорость уменьшенную в 3.6 раза
var speechSynthesizer = new AVSpeechSynthesizer (); var speechUtterance = new AVSpeechUtterance ("Shall we play a game?") { Rate = AVSpeechUtterance.MaximumSpeechRate / (float)3.6 }; speechSynthesizer.SpeakUtterance (speechUtterance);
голос по умолчанию, макс скорость/3.6
Синтезатор речи в iOS7 поддерживает только женский голос в 35 локалях, среди них — русская.
['ar-SA', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB', 'en-IE', 'en-US', 'en-ZA', 'es-ES', 'es-MX', 'fi-FI', 'fr-CA', 'fr-FR', 'hi-IN', 'hu-HU', 'id-ID', 'it-IT', 'ja-JP', 'ko-KR', 'nl-BE', 'nl-NL', 'no-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sk-SK', 'sv-SE', 'th-TH', 'tr-TR', 'zh-CN', 'zh-HK', 'zh-TW']
var speechSynthesizer = new AVSpeechSynthesizer (); var speechUtterance = new AVSpeechUtterance ("Сыграем в игру?") { Rate = AVSpeechUtterance.MaximumSpeechRate / (float)4, Voice = AVSpeechSynthesisVoice.FromLanguage ("ru-RU") }; speechSynthesizer.SpeakUtterance (speechUtterance);
русский, четверть макс скорости
Русский голос звучит прекрасно, попробуем проиграть длинный текст.
Лермонтов «Парус», русский, четверть макс скорости
Есть огрехи, но на мой взгляд прекрасно. Подходит для боего использования.
Варианты приложений с синтезом речи:
- Приложения для слепых, например, навигация в помещениях совместно с iBeacon.
- Аудио-гиды по музею/городу, синтезированная речь не так приятна как прочитанная людьми, но текст будет понятен.
- Приложения для авто, скутера и велосипеда. Например, можно зачитывать последние твиты. Удобно когда едешь на велосипеде на работу.
- Туристические приложения. Например, «спасибо», «пожалуйста», «здравствуйте» на популярных языках.
В Android синтез речи появился в 2009 году (1.6+), звучит отвратительно.
Подписывайтесь на наш хабра-блог. Каждый четверг полезные статьи о мобильной разработке, маркетинге и бизнесе мобильной студии.
ссылка на оригинал статьи http://habrahabr.ru/company/touchinstinct/blog/198808/
Добавить комментарий