white_bars: (Default)
white_bars ([personal profile] white_bars) wrote2008-10-16 01:44 pm

Голоса

“- Вы Йобана мать?
- Я Йобана мать!
- Плачь, женщина! Убили Йобана!”
(Филологическая разговорная шутка из жизни югославских партизан)

Один из самых экзотических способов запороть проект – это с легкостью подписаться на локализацию голосовых информационых команд в софте (о играх и мультимедии я не говорю, там другой мир). Типа "Планета... Шелесяка... Растителности... нет... Населена... роботами... Нажми кнопку ..."Х"... чтобы узнать свое будущее."
Допустим, у вас есть все необходимое: звуковая студия в мансарде, цифровые микрофоны из Австралии, компьютеры, софт, техники, звукоооператоры, база данных дикторов и клиент, которому в голову взбрело добавить к почтовому серверу функцию чтения писем по телефону. Клиент ничего не понимает в локализации и voice prompt-ах, но горит желанием и предлагает делать локализацию в параллель с разработкой сервера. Проект начинается в ноябре. Рассмотрим два возможных варианта:

Сценарий номер 1. Вы соглашаетесь. 
Проблема номер один: дикторы. Дикторы – существа капризные и дорогостоящие. Предлагать им приходить каждый день и записывать по пару фраз – разоришься. Клиент столько платить не станет никогда. Посоветовавшись со знатоками, заключаешь с диктором договор на два месяца, а там как масть пойдет. В течение двух месяцев диктор обязан участвовать в четырех сессиях: две для записи, две – для исправления ошибок после прослушивания и интеграции в софт. На практике это выливается в 8-10 оплачиваемых сессий (тон и темп диктора зависят от настроения и расположения звезд, и склеить “двадцать” и “пять” так, чтобы это звучало натурально, не всегда получается, хотя обработка софтом может помочь. Но при большом количестве команд и привередливом клиенте это не вариант) с практически полным переписыванием материала в каждой сессии. После новогодних праздников диктор простужается и у него пропадает голос.
Клиент решает, что вы не в состоянии справиться с проектом. Проект теряется.

Сценарий номер 2. Вы не соглашаетесь.
Вы пытаетесь предусмотреть все возможные варианты, объяснить все детали клиенту и предлагаете произвести запись в конце цикла разработки.
Клиент решает, что вы ему пудрите мозги. Проект теряется.

Предположим, что все обошлось, клиент попался не буйный покладистый: с пятого раза понял разницу между мандаринским и кантонским диалектами, платит как скажешь, соглашается на измененный график и запись материала в конце. Ждем конца, пишем. Оказывается, софт не в состоянии работать с русским и итальянским. Первый же voice prompt накодирован примерно так:

SingularForm = “Hello! You have one message in your mailbox!”
PluralForm = “Hello! You have %1 messages in your mailbox!”

Без вариантов. Либо одно сообщение, либо много. Софт не понимает, что в других (не-английских) языках может быть “три сообщения”, но “пять сообщений”. При локализации собственно софта о такие строки спотыкаешься часто, но и решение известно: громко выматериться и использовать сокращения (“В Вашем почтовом ящике %1 сообщ.”) или изменить структуру (“Число сообщений: %1").
С voice prompts такое не пройдет: работа с числительными, днями недели, названиями месяцев – это медленная смерть.
В этом случае теряется и проект и клиент: пойти на поводу у вендора и так подставиться – такое не прощается. 

Хорошего решения в рамках локализации проблема не имеет. Правильный подход: работать с клиентом на этапе написания спецификаций. Для достижения такого уровня координации требуются годы успешной работы и полное доверие. Если они есть – молитесь! :)

[identity profile] psilogic.livejournal.com 2008-10-16 09:33 pm (UTC)(link)
долго пытался втыкнуть, прочитав про голосовые команды... думал речь идет о распознавании...

[identity profile] white-bars.livejournal.com 2008-10-16 10:55 pm (UTC)(link)
не! Voice prompts - это условное название для всех этих "Здравствуйте! У вас... четырнадцать... непрочитанных сообщений... Хотите открыть первое? Нажмите... один... если типа да." :)

[identity profile] psilogic.livejournal.com 2008-10-16 11:00 pm (UTC)(link)
а... ясно... имхо, тут желательно отдельно фонемы записывать...

[identity profile] white-bars.livejournal.com 2008-10-17 12:50 am (UTC)(link)
Так и я о том: гемррой это. Потом "склеивать" их или сложно (записаны в разное время) или невозможно (технически). Я не говорю, что это невозможно, но я до сих пор не видел ни одного по настоящему удачного проекта серьезной локализации на русский :)

[identity profile] psilogic.livejournal.com 2008-10-17 09:02 am (UTC)(link)
что-то типа этого?
control panel -> speech -> preview voice
:)
там почему-то голос какой-то дребезжащий, а в остальном терпимо - можно даже русские фразы с английским акцентом озвучивать

[identity profile] white-bars.livejournal.com 2008-10-17 03:53 pm (UTC)(link)
К тому всё и идет: дребезжащий машинный голос с английским акцентом ;)

[identity profile] sv-foster.livejournal.com 2008-10-17 04:55 am (UTC)(link)
Есть еще вариант - создать некий скриптовый язык для каждого языка и предоставить локализатору написания своего скрипта для каждого сообщения на его языке, по неким входным данным.

например, система передает на голосовой синтезатор / умный магнитофон данные: Событие кода 784 (отчет о новых сообщениях) и параметр - 8, количество сообщений. В скрипте для En написано Paly( EnYou, Enhave, En%parameter%, EnNew EnMessages ), для русского Play( RuU, RuVas, %parameter%, RuNovih, RuSoobshniy ).

[identity profile] artyomr.livejournal.com 2008-10-17 12:35 pm (UTC)(link)
Это про MS Exchange?

[identity profile] white-bars.livejournal.com 2008-10-17 01:32 pm (UTC)(link)
:)))
И про него в том числе.

[identity profile] vtolkov.livejournal.com 2008-10-20 05:44 am (UTC)(link)
Надо сделать перевод с акцентом. Типа, иностранец. "Я немного говорить по русски, но, надеюсь, вы меня понимать. Ваш заказ: один кофе и один булочка.".

[identity profile] white-bars.livejournal.com 2008-10-20 03:10 pm (UTC)(link)
Хорошая мысль. Учитывая языковую избыточность, можно все переводить начальной формой, настоящим временем, мужским родом и именительными падежами. "Я стрелять мой нога. Голова болеть."