Mac OS X

индекс
118,30

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

Я кое-что делал для 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 минут работы, а кому-то может оказаться очень полезным.
+25
21 апреля 2010, 10:47
29

комментарии (46)

НЛО прилетело и опубликовало эту надпись здесь
+2
hiro #
It's hard to overstate my satisfaction
+3
vizzzor #
Aperture Science:
We do what we must because we can.
For the good of all of us
Except the ones who are dead.
НЛО прилетело и опубликовало эту надпись здесь
0
Kyrie1965 #
В 10.5 сходу не должно работать (нет возможности проверить). Там в проекте нужно кое-что изменить, чтобы он нормально скомпилировался для Mac OS X 10.5. Но это уже кто-то другой может сделать, если будет желание.

Так что выложенная версия только для 10.6.
+2
Kyrie1965 #
Вот, попробуйте (быстренько модифицировал под 10.5):
www.yuriev.info/synth105.zip

Но никаких гарантий.
НЛО прилетело и опубликовало эту надпись здесь
0
ioio #
не работает :(
0
Kyrie1965 #
Странно, должно было заработать. Ну, без реальной системы 10.5 сложно понять, что там не сработало.
+2
ish #
брутальная женщина
+4
vizzzor #
Хм… Может, по словам автора, качество самого звука и не супер, но на мой взгляд сам синтезатор очень качественный. По крайней мере я лучше не слышал…
0
Woof #
лучше есть, но платный
+1
Woof #
+1
Screatch #
Действительно, голос Алёны очень тяжело отличить от человеческого.
–2
Screatch #
FAIL, голос то замечательный, но при попытке написать свой текст на русском языке, появляются иероглифы.
0
vizzzor #
Попробуйте другим браузером, может быть. В хроме и в лисе все отлично!
Правда «Я очень рад, ведь я, наконец, возвращаюсь домой» Алёна не потянула… :)
0
Screatch #
Тоже пробовал в хроме и в лисе… может дело в том что у меня Ubuntu?..
+1
Self_Perfection #
Это древний баг в линуксовой реализации флэш плеера, поле ввода текста, выбора голоса/языка и управления воспроизведения как раз на флэше. Обновитесь до prerelease 10.1, там пофиксено. У меня 10.1.53.21, работает превосходно, зябликов нет.
0
wacky #
Решил проверить соображалку авторов. Ввел смайлик :)
Робобава так и сказала «двоеточие правая круглая скобка» =)
+1
kitaisc #
Даже и не надеялся для Mac OS получить «голос». Спасибо!
0
Chesheer #
Хороший результат для работы одиночки. Респект и уважуха! =)
0
Kyrie1965 #
Там работы на 5 минут :). Я же свой синтезатор не писал ;).
0
Chesheer #
Есть понятие «быть первым» среди остальных.
До этого мне совершенно не доводилось находить нормальную реализацию русских войсов в маке. Не говоря о том, чтобы еще сесть и разобраться как это делается (большинство, полагаю действовало также, как и я). У Вас это получилось, за это и уважение.
0
tigra_alive #
А на каком сайте собственно происходит озвучка?
0
Kyrie1965 #
Веб-сервис Microsoft Translate — msdn.microsoft.com/en-us/library/ff512423.aspx
Метод — Speak
0
beatlejute #
Хорошо что на этом все не заканчивается…
0
root_sashok #
You have selected Vasilisa as the computer default vooooice ©
0
Woof #
огромное Вам спасибо!
0
Xrazont #
Огромное спасибо! Буквально на днях один мой знакомый с проблемами зрения расспрашивал меня о «говорилках» в Mac OS X. Ему надоели проблемы винды, к тому же он хочет заняться звукозаписью и знает о программах для этого на маках. Когда я ему показал встроенный Voice Over ему очень понравилось — но из-за частой работы с русским языком он не смог бы этим пользоваться. Вы сделали очень полезное дело!
0
Xrazont #
А можно ли каким-то образом сделать озвучку оффлайновой?
0
Kyrie1965 #
Можно купить Infovox iVox от компании Assistiveware
www.assistiveware.com/infovox_ivox.php

Базируется на движке и голосах Acapela Group. Есть поддержка русского. Стоит 99$ за 1 язык.
0
Xrazont #
Они не используют встроенную в Mac OS X систему для озвучивания текста. Какие-то огороды получаются, что странно, т.к. глядя на текущий пост я не вижу особенно сложной проблемы сделать нативные голоса.
0
Kyrie1965 #
Используют. По описанию и скриншотам Infovox iVox полноценно интегрируется в Mac OS X.
0
Xrazont #
Хм, да, действительно, моя оплошность. Пока самая лучшая и подходящая программа. Жаль что так дорого :)
0
TijAY #
Подтверждаю: дорого, но единственное нормальное решение на русском — infovox.
0
yshurik #
В лионе уже есть из коробки
0
rocketman #
Крутая штука! За статью респект. Только не понял как сделать так чтобы при актвивации речи, отделялся русский язык от анлг, а то при встрече англ слов, он их скромно сглатывает.
PS Для разработчиков идейка: Было бы круто сделать аддончик для adium/skype чтобы он зачитывал от кого пришло сообщение и непосредственно его содержание.
0
Kyrie1965 #
Никак не настроить отделение. Только менять код. Как вариант, можно при передачи строки (внутри синтезатора) можно транслитировать англиский текст в русский. Но это уже вряд ли буду делать.
0
sdm #
Да что тут все пишут, неужели никто не баловался!? Ставил как то Infovox iVox, работает замечательно, русский отличный, в систему встраивается, а для того, чтобы произносилось от кого, и что пришло нужно использовать growl, с параметрами визуального уведомления и произношением (там есть опция).
0
76sergey #
Спасибо! Очень хорошо lingvo для Dictonary.арр Вы тоже имеете отношение? Если так, то двойное спасибо.
0
Kyrie1965 #
Да, DSLConverter для Dictonary.арр тоже я делал. Давно уже было :).
0
andoriyu #
лучшего синтезатора чем Vocaloid от Ямахи я не слышал. на нем можно даже музыку писать, дать что только анг и японский язык.
0
drjim #
Оч здорово!!! спасибо
0
yshurik #
Хм, а ведь в Lion уже есть интегрированный русский голос Милена(Milena). Сразу из коробки (лион скачает когда выбрать). Бесплатно. Довольно хороший.

image

Конечно если Леопард то выбор невелик — Акапела (кажется $100) или другие варианты хуже качеством.
0
Kyrie1965 #
КЭП?

Дата поста: 21 апреля 2010, 10:47
0
yshurik #
Нда-a-a, точно КЭП, я почему то счёл топик сегодняшним…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.