Голосовое управление ноутбуком windows 7. Голосовое управление компьютером и телефоном — программы и сервисы

27.07.2019 Сотовые операторы

Лидером среди программ для голосового управления компьютера на русском языке является программа Горыныч 5.0. В прочем английский язык также подвластен данной программе. С помощью «Горыныча» можно задавать различные голосовые команды компьютеру: запустить программу, закрыть окно, создать новый документ, перезагрузить или выключить компьютер. Фактически голосовым управлением вы контролируете большинство процессов пользовательской работы в системе Windows без помощи клавиатуры и мышки. Голосовое управление программы позволяет набирать текст на компьютере без использования клавиатуры и мышки. Но здесь возникает несколько нюансов. Один из плюсов программы Горыныч это слушаться голоса только своих хозяинов. И для этого нужно предварительно настроить программную базу команд. Нужно самостоятельно научить своим голосом русскому языку Горыныча. С помощью микрофона вы формируете свой словарь записываемый именно вашего с голоса. Команды голосового управления компьютером могут быть пользовательские, но для набора документов приодеться приложить усилия, чтобы сделать базу богатой словарным запасом. Поэтому для голосового набора все же лучшим решением будет онлайн-серис от Google.

Полезные программы для голосового набора текста на компьютере с поддержкой русского языка.

Горынычем лучше других программ русским голосом управлять компьютером, а голосовой набор текста рекомендуется производить в онлайн-приложении Google Web Speech. Оно доступно только для браузеров Chrome. Web Speech поддерживает 32 языка (среди них даже японские и китайские иероглифы). Для того чтобы напечатать текст с помощью колоса нужен только интернет, браузер Chrome и микрофон. Русский язык программа прекрасно понимает и выдает результат целыми словами переводя устную речь в печатный текст. Сейчас уже закончились разработки платного приложения для аудио и даже видео распознании речи компьютером. Программа RealSpeaker способна распознать не только голос, но и мимику пользователя. Для ее использования подойдет обычная веб-камера с помощью, которой программа будет «читать по губам» пользователя компьютера. Такой подход повышает эффективность во голосовом управлении с помощью преобразования не только речи, но и мимики в текстовые команды. RealSpeaker уже сегодня имеет поддержку русского и еще 10 популярных языков. Программа рассчитана для платформ Windows7 / 8. После инсталляции программу следует настроить. Голову нужно держать ровно, нежелательно допускать частых потерь контакта лица с веб-камерой. Расстояние от веб-камеры желательно не превышать 40-ка см. Присутствует словарь с русским языком, который можно расширить. Но в целом, по сравнению с Горынычем, RealSpeaker более удобен для преобразования голоса в текст.

Работая над голосовым управлением компьютеров, было создано много программ.

Распознанием речи с помощью компьютера программисты-разработчики посвящали свои труды голосовому управлению еще со времен Windows 95. За это время было создано много программ для русского голосового управления компьютера и преобразования речи в текст. Среди них набрали популярность такие программы:

  • Диктограф 5;
  • Перпетуум мобиле;
  • КОМБАТ Vocative Russian ASR Engine.

Для английской речи были популярными программы:

  • MedSpeak;
  • Sakrament ASR Engine;
  • ViaVoice;
  • Voice_PE;
  • Lucent;
  • VoiceType;
  • Sakrament;
  • Voice Xpress Pro;
  • iVoice;
  • Philips FreeSpeech 98;
  • SR-TTSC.

На сегодняшний день программы лидеры в данной области:

  • Горыныч 5;
  • Web Speech;
  • RealSpeaker;
  • Dragon (только для английского языка).

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

Взаимодействовать с компьютером можно не только при помощи клавиатуры и мыши. Доступно также управление голосовыми командами . Существуют специальные утилиты, которые позволяют это сделать. В их функции входит не только запись текста под диктовку или расшифровка аудиозаписей. Через них можно запускать приложения, использовать их, да и вообще - делать что угодно. Управление компьютером голосом облегчает работу с ПК. Команды передаются оперативно и без лишних усилий. Конечно, если у вас есть микрофон.

Мы познакомим вас с приложениями с подобным функционалом

Такая функция встроена в англоязычную версию Windows. Для её использования у вас должна быть лицензия Enterprise или Ultimate. Но и в русифицированных операционных системах можно настроить управление голосом и диктовку текста. Воспользуйтесь одним из следующих приложений.

С приложением разобраться несложно

Популярная программа. Хотя и имеет свои недостатки. Суть её работы простая: задаёте команду и выбираете, какое действие она должна выполнять. Рассмотрим настройку этого приложения на конкретном примере.

  1. Загрузите и установите его. Есть бесплатная и Premiun версия. Вторую надо покупать, чтобы испробовать её на компьютере.
  2. Запустите утилиту. В ней появится информационное окно с подсказками.
  3. На её панели управления есть много различных функций. Некоторые - с одинаковыми названиями. Надо ориентироваться по картинке, а не по надписи. Нажмите кнопку «Добавить» - на ней изображено лицо.
  4. Задайте имя профиля и ключевое слово, которое будет обозначать команду. К примеру, напишите «открыть», если собираетесь настроить запуск какого-то приложения голосом. Или «перейти на», чтобы мгновенно перейти на какой-то сайт, не вводя его адрес.
  5. Теперь надо записать эту самую команду в виде звукового образа. Нажмите на кнопку с красным кружком. И чётко, внятно произнесите в микрофон нужную фразу.
  6. Подтвердите изменения. Заданная опция появится в списке в окне Typle. Программа запомнит то, что вы записали на её «диктофон».
  7. После этого укажите, что, собственно, ей запускать для выполнения команды. Нажмите кнопку «Добавить», которая похожа на руку с символом «+» (плюс).
  8. Выберите формат данных: файлы/утилиты, интернет-страницы, какие-то внутренние сервисы ОС. Поставьте «галочки» там, где вам нужно.
  9. Найдите то приложение, которое хотите запускать голосом. Пусть это будет, например, Microsoft Word. Так вы сможете очень быстро приступить к редактированию какого-то текста или написанию статьи.
  10. В том же окне запишите вторую часть команды. Чтобы в сумме получилось «открыть Ворд». Первое слово будет активировать Typle, второе - включать привязанную утилиту.
  11. Нажмите «Добавить».
  12. К одной функции «открыть» можно прицепить несколько приложений. Так вы будете управлять их запуском, не прикасаясь к мыши и другим периферийным устройствам, установленным на компьютере.
  13. Если надо, отредактируйте дополнительные параметры.
  14. Чтобы проверить, получилось или нет, нажмите на «Начать говорить» и скажите команду.

Программа работает с русским языком. Но не всегда правильно его распознаёт. Говорить надо громко, чётко, механическим голосом.

  • Не нужны знания английского.
  • Быстрое создание команд.
  • Нет распознавания текста.
  • Ограниченный функционал. Можно лишь открывать утилиты и страницы в интернете.
  • Программа иногда воспринимает посторонние шумы как команды. Из-за этого на ПК происходят странные вещи.
  • Нельзя работать с плеером.

Speechka

Еще одно приложение для управления компьютером

  1. При первом запуске откроется окно с выбором категории: ПК или интернет.
  2. Там же есть пояснение, каким сочетанием клавиш надо активировать утилиту. Это можно изменить в настройках.
  3. Нажмите, к примеру, на «Интернет». Откроется окно с несколькими полями для ввода : для текста команды и для URL сайта. Можно написать слово «Яндекс» и адрес этой страницы.
  4. Кликните «Добавить».
  5. Зажмите клавиши, указанные на главном окне.
  6. Произнесите команду, чтобы утилита её «запомнила».

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

Speaker

Интерфейс выполнен в минималистическом ключе

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

  • Создание скриншотов по команде.
  • Смена раскладки клавиатуры на компьютере.
  • Открытие приложений и файлов.
  • Завершение работы.
  • Можно не делать аудиозапись с командой. Утилита распознаёт надписи.
  • Для управления надо использовать клавиатуру. Если заданная кнопка используется и для других целей - будет неудобно.
  • Нужно стабильное интернет-соединение.

Горыныч

Герой русских народных сказок поможет вам

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

  • Есть поддержка русского и английского языков.
  • Распознавание текста, голосовой ввод в любые редакторы.
  • Расширенный функционал.
  • Надо самостоятельно создавать команды для каждого процесса. В буквальном смысле придётся записывать словарь.

Windows Speech Recognition

Встроенная в английскую ОС программа. Для её использования у вас должен быть установлен соответствующий языковой пакет. Русские команды с ней работать не будут. Чтобы управлять ПК с её помощью, придётся говорить на её языке. Для получения доступа к ней в Панели настроек Windows откройте меню «Язык и региональные стандарты » (оно находится в категории «Часы, язык, регион») и во всех вкладках установите «Английский». Если всё правильно, и у вас установлен необходимый языковой пакет, Windows «превратится» в английскую, и утилита станет доступна. Лучше не пробовать данные метод, если вы плохо знаете чужой язык.

Данный способ подойдет в том случае, если вы владеете английским

Прочие утилиты

Есть ещё ряд приложений для управления такими командами:

  • Расширения для браузеров. Облегчают сёрфинг по сети. В Google Chrome уже встроена подобная функция - голосовой ввод в поисковые формы. Эта опция есть на некоторых онлайн-картах. Она позволяет быстрее найти адрес.
  • VoiceType.
  • RealSpeaker.
  • Web Speech.

Список программ для распознавания текста и записи под диктовку

Управлять голосом - это, конечно, хорошо. Но могут оказаться полезными утилиты для распознавания текста и печати под диктовку. При составлении объёмных докладов, дипломов легче записывать свои мысли, озвучивая их в микрофон на компьютере. Вот несколько таких утилит:

  • Диктограф.
  • Dragon Naturally Speaking.
  • Перпетуум-Мобиле.

Продукт, позволяющий диктовать текст компьютеру

В ОС можно настроить голосовые команды . Для этого на компьютере должна быть установлена соответствующая программа. С ней вы сможете работать на ПК, лёжа на диване или развалившись в кресле. У вас будут свободны руки. Если микрофон хороший и улавливает даже отдалённые или тихие звуки, вам не потребуется рядом с ним сидеть. Вы можете одновременно «разговаривать» с компьютером и записывать конспект в тетради, рисовать, держать что-то. Да хоть шить и вязать. С командами взаимодействовать с ПК намного легче. Для активации некоторых подобных утилит нужно нажимать кнопки на клавиатуре, что не очень удобно.

Но есть и отрицательные аспекты. Если вы случайно скажете слово-команду, откроется совершенно не нужное сейчас приложение или обозреватель не к месту перейдёт на какой-то сайт. Чем пользоваться и пользоваться ли вообще - решать вам.

Еще до релиза находящегося на стадии разработки, тестирования и отладки интерфейса Cortana для Windows 10 пользователи пытались организовать голосовое управление компьютера. О том, как такую функцию можно реализовать в Windows, вышедших до 10-ки и поговорим в сегодняшней статье.

Cortana

Кортана – голосовой помощник с ИИ, разработанный корпорацией Microsoft для Windows 10, Phone и Android с дальнейшим распространением проекта на XBox и iOS. Она заменяет классическую поисковую строку и выполняет множество действий, в первую очередь, связанных с поиском информации и системных команд, получая их от пользователя в виде голосовых команд. Глубокая интеграция в Windows 10, отсутствие русского языка (пока что), сбор фактически всей информации о пользователе с отправкой на серверы Microsoft и отсутствие финальной версии не дают возможности большинству пользователей получить полноценное голосовое управление собственным компьютером.

Помимо Кортаны существует немало приложений, позволяющих осуществлять управление ПК посредством голосовых команд пользователя. Ознакомимся с самыми распространенными продуктами для решения этой задачи в Windows 7 и 10.

Typle

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

Перед началом работы создаем учетную запись и придумываем ключевую фразу, услышав которую приложение активируется. Затем задаем голосовую команду по управлению компьютером или выполнению определенного действия и закрепляем за ней операцию (запуск приложения, переход на указанный сайт). В окне редактирования созданных команд появляется возможность задавать параметры, с которыми приложение будет запускаться, и указать режим запуска (полноэкранный, оконный).

Функционал утилиты весьма ограничен, а интерфейсу далеко до стиля Метро, реализованного в Windows 10. Полноценное голосовое управление ПК посредством Typle реализовать не удастся: она поддерживает только открытие файлов, приложений (с аргументами) и переход по заранее заданным ссылкам. Отсутствует даже поддержка управления проигрывателем (поставить на паузу, запустить следующий трек).

Speaker

  • создание снимков состояния экрана;
  • переключение раскладки клавиатуры;
  • завершение работы Windows 7;
  • запуск приложения;
  • открытие файла.

Процесс считывания и распознавания поступающей на микрофон информации запускается после нажатия на заданную клавишу (лучше выбирайте кнопку, наименее редко используемую вами во избежание ложных срабатываний программы). На обработку, распознание речи и выполнение команды уходит достаточно много времени – 5 и более секунд, чем придется заплатить за дешевизну. Ключевые слова задаются текстом, а не словами, потому распознанная речь сравнивается уже с введенным текстом, что делается далеко не идеально. Управление проигрывателем в приложении отсутствует.

Горыныч

Разработчики программного комплекса для управления компьютером с Windows 7 и 10 являются первой отечественной командой, выпустившей приложение для решения подобного рода задач. За ядро приложения взята западная «Dragon Dictate», куда внедрили отечественный программный модуль для распознания русской речи.

Ко мне обратился человек с просьбой написать программу, которая позволила бы управлять компьютерной мышью при помощи голоса. Тогда я и представить себе не мог, что, практически полностью парализованный человек, который даже не может сам повернуть голову, а может лишь разговаривать, способен развить бурную деятельность, помогая себе и другим жить активной жизнью, получать новые знания и навыки, работать и зарабатывать, общаться с другими людьми по всему свету, участвовать в конкурсе социальных проектов.

Позволю себе привести здесь пару ссылок на сайты, автором и/или идейным вдохновителем которых является этот человек – Александр Макарчук из города Борисов, Беларусь:

Для работы на компьютере Александр использовал программу «Vocal Joystick» - разработку студентов Университета штата Вашингтон, выполненную на деньги Национального Научного Фонда (NSF). См. melodi.ee.washington.edu/vj

Не удержался

Кстати, на сайте университета (http://www.washington.edu/) 90% статей именно про деньги. Трудно найти что-нибудь про научную работу. Вот, например, выдержки с первой страницы: «Том, выпускник университета, раньше питался грибами и с трудом платил за квартиру. Теперь он старший менеджер ИТ-компании и кредитует университет», «Большие Данные помогают бездомным», «Компания обязалась заплатить 5 миллионов долларов за новый учебный корпус».

Это одному мне режет глаз?


Программа была сделана в 2005-2009 годах и хорошо работала на Windows XP. В более свежих версиях Windows программа может зависнуть, что неприемлемо для человека, который не может встать со стула и её перезапустить. Поэтому программу нужно было переделать.

Исходных текстов нет, есть только отдельные публикации, приоткрывающие технологии, на которых она основана (MFCC, MLP – читайте об этом во второй части).

По образу и подобию была написана новая программа (месяца за три).

Собственно, посмотреть, как она работает, можно :

Скачать программу и/или посмотреть исходные коды можно .

Никаких особенных действий для установки программы выполнять не надо, просто щёлкаете на ней, да запускаете. Единственное, в некоторых случаях требуется, чтобы она была запущена от имени администратора (например, при работе с виртуальной клавиатурой “Comfort Keys Pro”):

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

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

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

Часть II. Как это устроено?

Из опубликованных материалов о программе «Vocal Joystick» было известно, что работает она следующим образом:
  1. Нарезка звукового потока на кадры по 25 миллисекунд с перехлёстом по 10 миллисекунд
  2. Получение 13 кепстральных коэффициентов (MFCC) для каждого кадра
  3. Проверка того, что произносится один из 6 запомненных звуков (4 гласных и 2 согласных) при помощи многослойного персептрона (MLP)
  4. Воплощение найденных звуков в движение/щелчки мыши
Первая задача примечательна лишь тем, что для её решения в реальном времени пришлось вводить в программу три дополнительных потока, так как считывание данных с микрофона, обработка звука, проигрывание звука через звуковую карту происходят асинхронно.

Последняя задача просто реализуется при помощи функции SendInput.

Наибольший же интерес, мне кажется, представляют вторая и третья задачи. Итак.

Задача №2. Получение 13 кепстральных коэффициентов

Если кто не в теме – основная проблема узнавания звуков компьютером заключается в следующем: трудно сравнить два звука, так как две непохожие по очертанию звуковые волны могут звучать похоже с точки зрения человеческого восприятия.

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

Из тех признаков, что доступны широкой публике и описаны в учебниках, наибольшее распространение получили так называемые мел-частотные кепстральные коэффициенты (MFCC).

История их такова, что изначально они предназначались совсем для другого, а именно, для подавления эха в сигнале (познавательную статью на эту тему написали уважаемые Оппенгейм и Шафер, да пребудет радость в домах этих благородных мужей. См. A. V. Oppenheim and R.W. Schafer, “From Frequency to Quefrency: A History of the Cepstrum”).

Но человек устроен так, что он склонен использовать то, что ему лучше знакомо. И тем, кто занимался речевыми сигналами, пришло в голову использовать уже готовое компактное представление сигнала в виде MFCC. Оказалось, что, в общем, работает. (Один мой знакомый, специалист по вентиляционным системам, когда я его спросил, как бы сделать дачную беседку, предложил использовать вентиляционные короба. Просто потому, что их он знал лучше других строительных материалов).

Являются ли MFCC хорошим классификатором для звуков? Я бы не сказал. Один и тот же звук, произнесённый мною в разные микрофоны, попадает в разные области пространства MFCC-коэффициентов, а идеальный классификатор нарисовал бы их рядом. Поэтому, в частности, при смене микрофона вы должны заново обучать программу.

Это всего лишь одна из проекций 13-мерного пространства MFCC в 3-мерное, но и на ней видно, что я имею в виду – красные, фиолетовые и синие точки получены от разных микрофонов: (Plantronix, встроенный массив микрофонов, Jabra), но звук произносился один.

Однако, поскольку ничего лучшего я предложить не могу, также воспользуюсь стандартной методикой – вычислением MFCC-коэффициентов.

Чтобы не ошибиться в реализации, в первых версиях программы в качестве основы был использован код из хорошо известной программы CMU Sphinx, точнее, её реализации на языке C, именующейся pocketsphinx, разработанной в Университете Карнеги-Меллона (мир с ними обоими! (с) Хоттабыч).

Исходные коды pocketsphinx открыты, да вот незадача – если вы их используете, то должны в своей программе (как в исходниках, так и в исполняемом модуле) прописать текст, содержащий, в том числе, следующее:

* This work was supported in part by funding from the Defense Advanced * Research Projects Agency and the National Science Foundation of the * United States of America, and the CMU Sphinx Speech Consortium.
Мне это показалось неприемлемым, и пришлось код переписать. Это сказалось на быстродействии программы (в лучшую сторону, кстати, хотя «читабельность» кода несколько пострадала). Во многом благодаря использованию библиотек “Intel Performance Primitives”, но и сам кое-что оптимизировал, вроде MEL-фильтра. Тем не менее, проверка на тестовых данных показала, что получаемые MFCC-коэффициенты полностью аналогичны тем, что получаются при помощи, например, утилиты sphinx_fe.

В программах sphinxbase вычисление MFCC-коэффициентов производится следующими шагами:

Шаг Функция sphinxbase Суть операции
1 fe_pre_emphasis Из текущего отсчёта вычитается большая часть предыдущего отсчета (например, 0.97 от его значения). Примитивный фильтр, отбрасывающий нижние частоты.
2 fe_hamming_window Окно Хемминга – вносит затухание в начале и конце кадра
3 fe_fft_real Быстрое преобразование Фурье
4 fe_spec2magnitude Из обычного спектра получаем спектр мощности, теряя фазу
5 fe_mel_spec Группируем частоты спектра [например, 256 штук] в 40 кучек, используя MEL-шкалу и весовые коэффициенты
6 fe_mel_cep Берём логарифм и применяем DCT2-преобразование к 40 значениям из предыдущего шага.
Оставляем первые 13 значений результата.
Есть несколько вариантов DCT2 (HTK, legacy, классический), отличающихся константой, на которую мы делим полученные коэффициенты, и особой константой для нулевого коэффициента. Можно выбрать любой вариант, сути это не изменит.

В эти шаги ещё вклиниваются функции, которые позволяют отделить сигнал от шума и от тишины, типа fe_track_snr, fe_vad_hangover, но нам они не нужны, и отвлекаться на них не будем.

Были выполнены следующие замены для шагов по получению MFCC-коэффициентов:

Задача №3. Проверка того, что произносится один из 6 запомненных звуков

В программе-оригинале «Vocal Joystick» для классификации использовался многослойный персептрон (MLP) – нейронная сеть без новомодных наворотов.

Давайте посмотрим, насколько оправдано применение нейронной сети здесь.

Вспомним, что делают нейроны в искусственных нейронных сетях.

Если у нейрона N входов, то нейрон делит N-мерное пространство пополам. Рубит гиперплоскостью наотмашь. При этом в одной половине пространства он срабатывает (выдаёт положительный ответ), а в другой – не срабатывает.

Давайте посмотрим на [практически] самый простой вариант – нейрон с двумя входами. Он, естественно, будет делить пополам двумерное пространство.

Пусть на вход подаются значения X1 и X2, которые нейрон умножает на весовые коэффициенты W1 и W2, и добавляет свободный член C.


Итого, на выходе нейрона (обозначим его за Y) получаем:

Y=X1*W1+X2*W2+C

(опустим пока тонкости про сигмоидальные функции)

Считаем, что нейрон срабатывает, когда Y>0. Прямая, заданная уравнением 0=X1*W1+X2*W2+C как раз и делит пространство на часть, где Y>0, и часть, где Y<0.

Проиллюстрируем сказанное конкретными числами.

Пусть W1=1, W2=1, C=-5;

Теперь посмотрим, как нам организовать нейронную сеть, которая бы срабатывала на некоторой области пространства, условно говоря – пятне, и не срабатывала во всех остальных местах.

Из рисунка видно, что для того, чтобы очертить область в двумерном пространстве, нам потребуется по меньшей мере 3 прямых, то есть 3 связанных с ними нейрона.

Эти три нейрона мы объединим вместе при помощи ещё одного слоя, получив многослойную нейронную сеть (MLP).

А если нам нужно, чтобы нейронная сеть срабатывала в двух областях пространства, то потребуется ещё минимум три нейрона (4,5,6 на рисунках):

И тут уж без третьего слоя не обойтись:

А третий слой – это уже почти Deep Learning…

Теперь обратимся за помощью к ещё одному примеру. Пусть наша нейронная сеть должна выдавать положительный ответ на красных точках, и отрицательный – на синих точках.

Если бы меня попросили отрезать прямыми красное от синего, то я бы сделал это как-то так:

Но нейронная сеть априори не знает, сколько прямых (нейронов) ей понадобится. Этот параметр надо задать перед обучением сети. И делает это человек на основе… интуиции или проб и ошибок.

Если мы выберем слишком мало нейронов в первом слое (три, например), то можем получить вот такую нарезку, которая будет давать много ошибок (ошибочная область заштрихована):

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

Снова, возможность таких случаев зависит от начальных условий обучения и последовательности обучения, то есть от случайных факторов:

- Что ты думаешь, доедет то колесо, если б случилось, в Москву или не доедет?
- А ты как думаешь, сойдётся ента нейронная сеть или не сойдётся?

Есть ещё один неприятный момент, связанный с нейронными сетями. Их «забывчивость».

Если начать скармливать сети только синие точки, и перестать скармливать красные, то она может спокойно отхватить себе кусок красной области, переместив туда свои границы:

Если у нейронных сетей столько недостатков, и человек может провести границы гораздо эффективнее нейронной сети, зачем же их тогда вообще использовать?

А есть одна маленькая, но очень существенная деталь.

Я очень хорошо могу отделить красное сердечко от синего фона отрезками прямых в двумерном пространстве.

Я неплохо смогу отделить плоскостями статую Венеры от окружающего её трёхмерного пространства.

Но в четырёхмерном пространстве я не смогу ничего, извините. А в 13-мерном - тем более.

А вот для нейронной сети размерность пространства препятствием не является. Я посмеивался над ней в пространствах малой размерности, но стоило выйти за пределы обыденного, как она меня легко уделала.

Тем не менее вопрос пока открыт – насколько оправдано применение нейронной сети в данной конкретной задаче, учитывая перечисленные выше недостатки нейронных сетей.

Забудем на секунду, что наши MFCC-коэффициенты находятся в 13-мерном пространстве, и представим, что они двумерные, то есть точки на плоскости. Как в этом случае можно было бы отделить один звук от другого?

Пусть MFCC-точки звука 1 имеют среднеквадратическое отклонение R1, что [грубо] означает, что точки, не слишком далеко отклоняющиеся от среднего, наиболее характерные точки, находятся внутри круга с радиусом R1. Точно так же точки, которым мы доверяем у звука 2 находятся внутри круга с радиусом R2.

Внимание, вопрос: где провести прямую, которая лучше всего отделяла бы звук 1 от звука 2?

Напрашивается ответ: посередине между границами кругов. Возражения есть? Возражений нет.
Исправление: В программе эта граница делит отрезок, соединяющий центры кругов в соотношении R1:R2, так правильнее.

И, наконец, не забудем, что где-то в пространстве есть точка, которая является представлением полной тишины в MFCC-пространстве. Нет, это не 13 нулей, как могло бы показаться. Это одна точка, у которой не может быть среднеквадратического отклонения. И прямые, которыми мы отрежем её от наших трёх звуков, можно провести прямо по границам окружностей:

На рисунке ниже каждому звуку соответствует кусок пространства своего цвета, и мы можем всегда сказать, к какому звуку относится та или иная точка пространства (или не относится ни к какому):

Ну, хорошо, а теперь вспомним, что пространство 13-мерное, и то, что было хорошо рисовать на бумаге, теперь оказывается тем, что не укладывается в человеческом мозгу.

Так, да не так. К счастью, в пространстве любой размерности остаются такие понятия, как точка, прямая, [гипер]плоскость, [гипер]сфера.

Мы повторяем все те же действия и в 13-мерном пространстве: находим дисперсию, определяем радиусы [гипер]сфер, соединяем их центры прямой, рубим её [гипер]плоскостью в точке, равно отдалённой от границ [гипер]сфер.

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

Здесь, правда, следует сделать оговорку. Всё это справедливо, если информация о звуке – это облако точек, отклоняющихся от среднего одинаково во всех направлениях, то есть хорошо вписывающееся в гиперсферу. Если бы это облако было фигурой сложной формы, например, 13-мерной изогнутой сосиской, то все приведённые выше рассуждения были бы не верны. И возможно, при правильном обучении, нейронная сеть смогла бы показать здесь свои сильные стороны.

Но я бы не рисковал. А применил бы, например, наборы нормальных распределений (GMM), (что, кстати и сделано в CMU Sphinx). Всегда приятнее, когда ты понимаешь, какой конкретно алгоритм привёл к получению результата. А не как в нейронной сети: Оракул, на основе своего многочасового варения бульона из данных для тренировки, повелевает вам принять решение, что запрашиваемый звук – это звук №3. (Меня особенно напрягает, когда нейронной сети пытаются доверить управление автомобилем. Как потом в нестандартной ситуации понять, из-за чего машина повернула влево, а не вправо? Всемогущий Нейрон повелел?).

Но наборы нормальных распределений – это уже отдельная большая тема, которая выходит за рамки этой статьи.

Надеюсь, что статья была полезной, и/или заставила ваши мозговые извилины поскрипеть.

Обзор программ для голосового управления компьютером

В последующей ниже статье будет рассмотрен вопрос голосового управления компьютером и приведена краткая характеристика предназначенных для этого процесса популярных программ. Итак, слово в названии «голосовое» необходимо понимать буквально - возможность работать с ПК, то есть давать/совершать привычные команды/действия, при помощи своего голоса, а не привычных атрибутов – мыши, клавиатуры. Например, работать с пакетом офисных приложений – проговаривать текст, а распознает речь и воспроизведет ее в виде текста в выбранном приложении.

Горыныч

Наиболее испытанный и старый софт (программа) - Dragon NaturallySpeaking (далее Горыныч). Проверенная временем и максимально усовершенствованная за период своего существования программа Горыныч версии 2010 года обеспечивает точное распознавание речи, составляющее 99%. Очень простой и легкий в использовании софт, работает со всем пакетом офисных программ, способен помочь в создании и редактировании текстов, таблиц и баз данных. С программой можно осуществлять поиск в сети Интернет и компьютере (голосовые ярлыки), отправку e-mail и мгновенных писем/сообщений. Отличный помощник малого бизнеса. Умеет выполнять команды открытия и воспроизведение файлов и так далее. Но есть один нюанс, скачать программу Горыныч для голосового управления компьютером можно только платно и есть одно «но». После инсталляции программа использует немецкий язык, изменение которого на русский потребуют некоторых усилий со стороны пользователя.

Typle Premium

Есть не менее достойное на русском языке , его название звучит как Typle Premium . У этого софта более понятный и простой интерфейс. Ее преимущество главным образом заключается в возможности записывать массу голосовых команд. Распознавание голоса – 99%. К примеру, пользователь хочет еще раз просмотреть свой любимый фильм, его задача сводиться к тому, чтобы сделать запись в Typle Premium примерно такого характера «Воспроизвести фильм «***». Отлично совместимо это голосовое управление компьютером windows xp – операционная система.

Intelligent Voice Recognition System

Программа чуть поскромнее двух предыдущих носит название - Intelligent Voice Recognition System (IVOS) . Ее можно попробовать скачать бесплатно (начальные версии) в сети Интернет. Программа полностью совместима с ОС Windows, может преобразовывать и распознавать голос владельца. Также предусматривает запись дополнительных команд для работы с открытием документов. В Intelligent Voice Recognition System (IVOS) имеются голосовые движки, которые позволят пользователю производить озвучивание электронных учебников. Понятный и лояльный интерфейс. Удобна и проста в использовании, однако до возможностей первых двух программ ей однозначно далековато.

Есть еще множество аналогичных программ для осуществления управлением ПК и мобильными устройствами. Рынком предусмотрены как платные, так и бесплатные варианты. Однако если пользователь намерен использовать программу в серьезной работе, стоит отдать предпочтение платному софту с поддержкой разработчиков.