Я кое-что делал для iPhone и столкнулся с интересными «вещами». Эти «вещи» я быстренько приспособил для Mac OS X (развлечения ради), и вот, что получилось… Функционал «Речь» и VoiceOver в Mac OS X на русском языке. Кому-то это может оказаться полезным. Применений можно найти множество, но всё зависит от потребностей.
Эту маленькую статью я разобью на две части. Одна часть для обычных пользователей, которые просто хотят установить поддержку русской речи в Mac OS X. И для начинающих разработчиков, которым я расскажу, как устроен модуль и предоставлю исходные коды.
Для обычных пользователей
Системные требования:
Ссылка на синтезатор:
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:
Самые главные изменения в методе startSpeaking. Мы просто делаем запрос к веб-сервису Microsoft и получаем звуковой файл.
Дополнительно, вам необходимо поставить свой appId при обращении к веб-сервису Microsoft. Его можно бесплатно получить по ссылке http://www.bing.com/developers/createapp.aspx
Изменяем описание голосового модуля для синтезатора Info-VoiceCF1.plist. Изменяем имя, локаль и диапазон произносимых символов. Готовый файл можно взять из финального проекта
http://www.yuriev.info/synth.zip
Всё, базовый синтезатор готов. 5 минут работы, а кому-то может оказаться очень полезным.
Эту маленькую статью я разобью на две части. Одна часть для обычных пользователей, которые просто хотят установить поддержку русской речи в 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 минут работы, а кому-то может оказаться очень полезным.