Блог Сергея Байдачного

Мой блог о технологиях

Archive for Декабрь 2012

Кто такая Бреус Ирина Павловна?

5 комментариев

clip_image002

Коллеги, если Вы ждете новый пост о Windows Phone 8, то вынужден принести свои извинения – поста сегодня не будет. Хотел сегодня написать третью часть о распознавании речи в Windows Phone, но не сделал это благодаря команде коммунального предприятия «Днепроводоканал» и, в частности, Бреус Ирине Павловне.

Казалось бы, повесил табличек «Злой тролль, убьет», решетки на окнах, две двери и ничто бы не предвещало беды, но последние три дня воняет. Воняет это не совсем то слово, так как когда воняет, то все еще можно дышать. А я последние три дня стараюсь не дышать.

Проблема очень простая, забилась канализация во дворе. Из дворового коллектора фекалии переливаются в отопительный коллектор, а потом «запах» уходит вдоль труб под дом. От отопления я давно отрезался, но центральная труба все еще где-то проходит под полом. Причем в области моей кровати.

Отключат от воды – начну покупать в баночках, отключат газ – разожгу костер по средине комнаты, но как бороться с вонью – без понятия. Поэтому вечером 25 декабря я начал звонить в водоканал. По ходу выяснилось, что заявка лежит с воскресенья и в 11 ночи к на таки приехала бригада. Но вот проблема, темно и мокро. Поэтому постояв у люка, бойцы уехали, пообещав приехать утром.

Утром в диспетчерской сообщили, что уже выехали, потом сообщили, что уже починили, а потом попросили не морочить голову. Чуть позже выяснилось, что якобы бригада выезжала. И вот тут немного об IT – в водоканале совершенно не представляют куда катаются их машины. И если объект сложный, то бригада едет «на лево», а сама отчитывается, что все хорошо. Потом идет еще одна заявка, потом еще…. А дизель тем временем списывается. Вот где бы GPS внедрить и электронную систему по обслуживанию абонентов.

Естественно, если Вы хотите решить проблемы, то нужно отрывать попу от стула и вперед, выяснять, куда я плачу свои налоги.

И первый, на кого я нарвался, была заведующая канцелярией Бреус Ирина Павловна. А я ведь от нее даже ничего не хотел, а только принес заявку и попросил заверить копию.

Бреус Ирина Павловна в достаточно грубой форме объяснила мне, что у нее и без меня куча проблем, а мои проблемы ее не интересуют. Я узнал, что месяц буду дышать фекалиями и ничего не сделаю с этим и вообще. И все бы хорошо, но зачем при этом хамить. Я ведь даже не к ее столу подошел. Кто такая Бреус Ирина Павловна, чтобы хамить незнакомому ей человеку? Человеку, которые не только платит коммунальные услуги предприятию в котором она работает, но и живет на дотации с тех налогов, которые я плачу. Неужели даже позиция в канцелярии позволяет грубить и хамить обычным людям? Неужто Бреус Ирина Павловна и есть лицом нашего государства. Хотел бы ошибаться. Но после общения с Ириной Павловной у меня не осталось желания писать статьи по Windows Phone, а сосредоточить все усилия на английском и французском, чтобы никогда больше не ходить в украинские организации.

Потом я вспомнил, что в квартире все еще воняет и поехал в Ленинский райисполком. Там «главного» уже не было (ну 3 часа дня в рабочий день, оно и понятно), но была милая, симпатичная девушка, которая приняла мое обращение и внимательно выслушала (мне даже полегчало). Вряд ли поможет, но все же. Но и тут не все гладко. Посмотрев на меня, она задала логичный вопрос о том, почему я живу в двухкомнатной квартире в старом доме. Отвечаю: 1). Я не хочу жить в большом доме с трехметровым забором и проволокой на нем – очень напоминает тюрьму; 2). Если при возникновении трудностей, которые должны решать госчиновники, я буду переезжать, то я не уверен, что хочу переезжать внутри страны.

На последок я написал обращение в приемную губернатора Вилкула. Правда он уже не губернатор, но технологии тут еще работают. Мне удалось заполнить электронную форму и я даже получил какие-то данные для трека запроса. Завтра продолжу неравную борьбу за воздух.

Written by Sergiy Baydachnyy

26.12.2012 at 18:41

Бесплатный онлайн курс по Windows Azure

leave a comment »

Коллеги просили оповестить о том, что завтра, для всех желающих, состоится первая лекция онлайн курса, посвященного Windows Azure. Приглашаем всех студентов и новичков в Azure. Лекции читает Сергей Поплавский. Ссылка на регистрацию тут: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032540513&Culture=UK-UA&community=0. Начало в 17:00.

Written by Sergiy Baydachnyy

25.12.2012 at 17:37

Опубликовано в Windows Azure

Tagged with

Зачем участвовать в конкурсе, если в Украине нет магазина для Windows Phone

2 комментария

Заранее извинюсь перед аудиторией. Обычно я сдержан, но иногда накапливается много негатива и срывает крышу. Вот, кажется, сейчас именно такой случай. В чем же дело?

Совсем недавно мы объявили о конкурсе Windows Phone для украинских разработчиков и студентов http://wp8.promorc.com. Чтобы принимать участие в конкурсе, нужно быть гражданином Украины и опубликовать приложение с украинского аккаунта.

Сразу же после этого, на меня посыпался град писем о том, что смысла в этом нет, так как украинцы все еще не могут зарабатывать деньги в Windows Phone Store.

Коллеги, давайте разберемся, кто, зачем и почему:

1. Вы являетесь украинским мега разработчиком для Windows Phone и пишите классные приложения? Тогда Вам немедленно нужно написать мне и мы подумаем о том, как делать совместные промо Ваших приложений. У нас есть некоторые возможности и мы очень хотим, чтобы Вы заработали много денег, неважно под каким аккаунтом. Ведь это самый хороший PR платформе. Подозреваю, что на этом этапе у Вас и телефон есть и Вы уже думаете о том, как заработать первый миллион.

2. Вы только думаете разрабатывать для платформы Windows Phone, являясь разработчиком на других платформах или студентом? Тут я могу рассмотреть свой пример. Последние несколько месяцев я хватался за несколько пилотов на Windows 8, преследуя одну цель «Получить хороший опыт в разработке Windows 8 приложений». Причем в этих приложениях нет и упоминания обо мне, но, глядя на свое первое приложение для Windows 8 я прихожу в ужас и тайно мечтаю его переписатьJ Вы же не думаете, что полистав книгу о Windows Phone тут же заработаете миллион? Нужен опыт и дополнительный пинок, чтобы ускорить процесс. Ведь если писать что-то для себя и без временных целей, то можно и за жизнь не успеть Hello World написать. Вот конкурс и является тем волшебным пинком, который позволит Вам собраться и что-то начать делать.

3. Вы хотите узнать roadmap платформы для украинских разработчиков? Коллеги, когда у меня будет информация о доступности платного стора для телефонов, то я ее не буду скрывать перед Вами. Но не думайте, что я в комментариях раскрою Вам какой-то волшебный секрет.

4. Вы просто хотите попиз… (то есть, Вам скучно и одиноко и очень нужно с кем-то поговорить)? Тепаете на itc.ua открываете любую новость об устройствах и начинаете рассказывать, почему Windows Phone лучшая в мире платформа. Там живет такое количество троллей, что скучно Вам не будет! А у меня и без этого голова забита разной фигней.

Written by Sergiy Baydachnyy

25.12.2012 at 09:35

Опубликовано в Windows Phone

Tagged with

Бесплатные курсы по Windows Phone и Windows 8 для студентов

with one comment

Чтобы стимулировать украинских студентов создавать больше приложений и принимать участие в Imagine Cup 2013, мы решили запустить серию онлайн курсов по самым последним технологиям. Лично я буду читать Windows Phone и Windows 8.

Вот ссылки на регистрационную форму для первых лекций:

Разработка приложений для Windows Phone (8 января)

Разработка приложения для Windows 8 (10 января)

Для организации лекций будем использовать Lync.

Written by Sergiy Baydachnyy

24.12.2012 at 18:36

Опубликовано в Windows 8, Windows Phone

Tagged with ,

Распознавание и обработка речи (часть 2)

leave a comment »

Преобразование текста в речь

Еще одна, не менее интересная задача, это преобразование текста в человеческую речь. Чтобы реализовать подобный функционал в приложении первым делом нужно определить возможность ID_CAP_SPEECH_RECOGNITION в манифесте приложения:

<Capabilities>
  <Capability Name="ID_CAP_SPEECH_RECOGNITION" />
</Capabilities>

 

Теперь можно переходить к синтезу голоса. Для этого воспользуемся пространством имен Windows.Phone.Speech.Synthesis, которое содержит всего несколько полезных классов:

· InstalledVoices – этот класс содержит всего два свойства (All и Default) и позволяет предоставить информацию об установленных языках на телефоне пользователя. Тут программист может проверить, есть ли требуемый язык и подобрать тот, который подходит для данной ситуации, в противном случае система возьмет язык по умолчанию;

· VoiceInformation – этот класс содержит информацию о голосе. Тут содержится язык, пол синтезатора (как ни странно звучит). Используется совместно с InstalledVoices при обращении к свойству Default или переборе всей коллекции доступных языков в All. Сам по себе объект класса создать нельзя;

· SpeechSynthesizer – вот это и есть самый интересный класс, который выполняет преобразование текста в речь.

Фактически, чтобы преобразовать текст в речь, достаточно создать объект класса SpeechSynthesizer и вызвать метод SpeakTextAsync. Как видно из названия метода, он является асинхронным и поддерживает подход вызова через async/await. Естественно, чтобы вызвать метод, желательно проверить наличие нужного Вам языка, а еще лучше, установить его в качестве текущего с помощью метода SetVoice. Код ниже проверяет наличие русского языка, а в случае его присутствия, произносит фразу фразу «Привет», используя женский и мужской голос последовательно:

if ((from a in InstalledVoices.All 
     where a.Language.Contains("ru") 
     select a).Count() > 0)
{
    SpeechSynthesizer sr = new SpeechSynthesizer();
    sr.SetVoice((from a in InstalledVoices.All 
                 where a.Language.Contains("ru") 
                 select a).First());
    await sr.SpeakTextAsync("Привет");
    sr.SetVoice((from a in InstalledVoices.All 
                 where a.Language.Contains("ru") 
                 select a).Last());
    await sr.SpeakTextAsync("Привет");
}

 

Естественно, что преобразование текста в речь на основе простого текста не очень интересно, так как часто нужно использовать женский и мужской голос в одном абзаце, использовать разные языки, отправлять приложению событие при завершении произнесения части фразы и др. Все это можно делать, если использовать не простой текст, а набор инструкций, описанных с помощью специального языка Speech Synthesis Markup Language (SSML). Традиционно SSML базируется на XML и поддерживается в классе SpeechSynthesizer двумя методами: SpeakSsmlAsync и SpeakSsmlFromUriAsync. Первый метод принимает в качестве параметров строку, содержащую SSML, а второй – путь к файлу с соответствующими инструкциями.

Рассмотрим все элементы, из которых может состоять SSML документ:

· audio – позволяет вставить заранее подготовленный аудио файл. Это позволяет снабдить монолог дополнительными аудио эффектами. В качестве атрибута используется src – путь к файлу;

· break – позволяет задавать паузу. Для этого используется атрибут duration, который задает паузу в секундах или миллисекундах или атрибут strength, принимающий одно из предопределенных значений;

· emphasis – теоретически этот элемент должен позволять произносить текст с разным уровнем интонации, но это в Windows Phone 8 пока не реализовано;

· lexicon – этот элемент позволяет задать разработчику собственный лексикон, базируясь на специально созданной для этого спецификации Pronunciation Lexicon Specification (PLS). Это необходимо для сложных приложений, где необходимо четко задать набор слов и правильное их произношение;

· mark – позволяет задать метку, используя атрибут name. При достижении метки в приложении генерируется событие BookmarkReached. Это позволяет легко синхронизировать речь с происходящим на экране.

· p и s – позволяют задать параграф или высказывание. Элементы не обязательные, но имеют важный атрибут xml:lang, который позволяет переустановить язык;

· phoneme – с помощью этого элемента можно задать специальное произношение для заданной группы символов. Очень часто это касается имен;

· prosody – содержит много атрибутов, но пока поддерживается только volume, который позволяет задать громкость от 0 до 100;

· sayas – позволяет задать произношения для дат, времени, числительных и др. Очень полезный элемент, учитывая то, что те же даты пишутся по разному;

· speak – задает коневой элемент для всего SSML документа;

· sub – позволяет задать развернутое написание для аббревиатур;

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

Если Вы создаете файл с расширением ssml, то Visual Studio автоматически включает систему IntelliSense, что очень удобно. Пример простого ssml файла:

<speak version="1.0" 
       xmlns="http://www.w3.org/2001/10/synthesis" 
       xml:lang="ru-RU">
  <s xml:lang="ru">Чтобы сказать добрый день по английски, произнесите</s>
  <s xml:lang="en">Good morning</s>
</speak>

 

Код, который может открыть этот файл может выглядеть вот так:

SpeechSynthesizer sr = new SpeechSynthesizer();
string path = Package.Current.InstalledLocation.Path + "\\text.ssml";
Uri url = new Uri(path, UriKind.Absolute);
await sr.SpeakSsmlFromUriAsync(url);

 

Не забудьте проверить, что в свойствах файла указано Build Action = Content. По умолчанию это не происходит и Вы получите исключение о том, что файл не найден.

Written by Sergiy Baydachnyy

20.12.2012 at 22:03

Опубликовано в Windows Phone

Tagged with

Конкурс для Windows Phone разработчиков в Украине

2 комментария

Вспомнил, что не писал о таком замечательном конкурсе: http://wp8.promorc.com, который мы сейчас проводим для всех разработчиков и студентов в Украине.

На конкурсе 4 номинации:

· Лучшее приложение (тут все, что угодно – бизнес, социалка и др.)

· Лучшая игра

· Лучшее студенческое приложение (чтобы дать возможность студентам получить приз с хорошим приложением, если их вытеснят разработчики из первых двух номинаций.)

· Лучшее приложение для Windows Phone 8 (тут речь идет о приложениях, которые утилизируют новые возможности платформы. Чем лучше и полезней эта утилизация, тем лучше для конкурса)

Ограничения: только жители Украины, приложение должно быть опубликовано с украинского аккаунта (смысл делать метрики другой стране?) и приложение должно быть опубликовано в ходе конкурса (нас интересует что-то новенькое).

До конца конкурса осталось еще 54 дня. Поэтому время еще есть.

Written by Sergiy Baydachnyy

20.12.2012 at 12:54

Опубликовано в Windows Phone

Tagged with ,

Imagine Cup 2013: Участникам по футболке

2 комментария

Если Вы украинский студент и все еще решаете, нужно ли принимать участие в Imagine Cup 2013, то рекомендую поспешить, так как для многих номинаций регистрация закрывается 15 января!

Хочу также сообщить, что все украинские студенты, которые зарегистрируются до 15 января в номинациях Windows 8, Windows Phone или Windows Azure и пройдут во второй раунд (ответят на достаточное количество вопросов в первом раунде), получат по бесплатной футболке с соответствующим логотипом.

Сайт конкурса в мире: http://imaginecup.com

Сайт конкурса в Украине: http://imaginecup.com.ua

Регистрация доступна по ссылке: http://imaginecup.com/IC13/Competition/Register

Written by Sergiy Baydachnyy

20.12.2012 at 11:55

Опубликовано в Imagine Cup

Tagged with