Pull to refresh

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

Development for MacOS
Я кое-что делал для 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 минут работы, а кому-то может оказаться очень полезным.
Tags:mac os xречьspeechрусский язык
Hubs: Development for MacOS
Total votes 39: ↑32 and ↓7 +25
Views9.2K

Comments 46

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Редактор новостей на Хабре
from 30,000 to 70,000 ₽ХабрRemote job
Менеджер по работе с клиентами
from 40,000 to 80,000 ₽LikeVRRemote job
Frontend developer – Integrations
from 160,000 ₽ActimindСанкт-ПетербургRemote job
React Native (Mobile) Developer
from 130,000 to 270,000 ₽GXB DevelopmentRemote job
QA Automation Engineer
from 140,000 to 180,000 ₽NRG SoftRemote job