Как стать автором
Обновить

Речь и VoiceOver в Mac OS X на русском язке

Время на прочтение2 мин
Количество просмотров18K
Я кое-что делал для iPhone и столкнулся с интересными «вещами». Эти «вещи» я быстренько приспособил для Mac OS X (развлечения ради), и вот, что получилось… Функционал «Речь» и VoiceOver в Mac OS X на русском языке. Кому-то это может оказаться полезным. Применений можно найти множество, но всё зависит от потребностей.



Эту маленькую статью я разобью на две части. Одна часть для обычных пользователей, которые просто хотят установить поддержку русской речи в Mac OS X. И для начинающих разработчиков, которым я расскажу, как устроен модуль и предоставлю исходные коды.

Для обычных пользователей

Системные требования:
  • Mac OS X 10.6
  • Подключение к сети Интернет


Ссылка на синтезатор:
http://www.yuriev.info/synth.zip

Установка

Папку «ruSynthesizer.SpeechSynthesizer» необходимо скопировать в папку
/Library/Speech/Synthesizers

Папку «Vasilisa.SpeechVoice» необходимо скопировать в папку
/Library/Speech/Voices

Если какой-то из папок нет, то её нужно создать. Активировать Василису можно в System Preferences (Системные настройки) > Speech (Речь).

Минусы:
  • Необходимо быстрое подключение к сети Интернет
  • Низкое качество звука
  • Длинные тексты не озвучиваются


Для начинающих разработчиков

Мы ничего не будем изучать и придумывать, а просто возьмём «готовое» и вылепим из него синтезатор за 5 минут.

Microsoft развивает семимильными шагами веб-сервис Microsoft Translator (бета). Одно из нововведений во второй версии — озвучивание текста на русском языке. Будем использовать этот веб-сервис.

Мы не будем детально изучать и вдаваться в подробности «Speech Synthesis Manager Reference» и «Speech Synthesis Programming Guide» от Apple, а возьмём готовый пример — SynthesizerAndVoiceExample. Этот пример есть в пакете Xcode v3.1.4. Этот пакет, чтобы достать из него примеры, можно загрузить с сайта Apple. В более поздних версиях Apple удалила все примеры, но выложила их у себя на сайте (SynthesizerAndVoiceExample выложить забыла).

Выкладываю уже готовый изменённый проект:
http://www.yuriev.info/ruSynthesizer.zip

По сути нам лишь нужно немного изменить несколько методов (буквально несколько строк в каждом методе) в файл SynthesizerSimulator.m проекта SynthesizerAndVoiceExample:

- (id)init;
- (void)startSpeaking:(NSString *)string;
- (void)stopSpeaking;
- (void)sound:(NSSound *)sound didFinishPlaying:(BOOL)aBool;


Самые главные изменения в методе startSpeaking. Мы просто делаем запрос к веб-сервису Microsoft и получаем звуковой файл.

Дополнительно, вам необходимо поставить свой appId при обращении к веб-сервису Microsoft. Его можно бесплатно получить по ссылке http://www.bing.com/developers/createapp.aspx

Изменяем описание голосового модуля для синтезатора Info-VoiceCF1.plist. Изменяем имя, локаль и диапазон произносимых символов. Готовый файл можно взять из финального проекта
http://www.yuriev.info/synth.zip

Всё, базовый синтезатор готов. 5 минут работы, а кому-то может оказаться очень полезным.
Теги:
Хабы:
Всего голосов 39: ↑32 и ↓7+25
Комментарии46

Публикации

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань