Как настроить распознавание речи windows 7. Система распознавания речи Microsoft достигла человеческого уровня

Продукты и технологии:

Visual Studio, C#, .NET Speech Libraries

В статье рассматриваются:

  • добавление поддержки распознавания речи к консольному приложению;
  • обработка распознаваемой речи;
  • установка библиотек для распознавания речи;
  • сравнение Microsoft.Speech и System.Speech;
  • добавление поддержки распознавания речи к приложению Windows Forms.

С появлением Windows Phone Cortana, персонального помощника, активируемого речью (равно как и аналога от фруктовой компании, о котором нельзя упоминать всуе), приложения с поддержкой речи стали занимать все более значимое место в разработке ПО. В этой статье я покажу, как начать работу с распознаванием и синтезом речи в консольных Windows-приложениях, приложениях Windows Forms и Windows Presentation Foundation (WPF).

Заметьте, что также можете добавить речевые возможности в приложения Windows Phone, веб-приложения ASP.NET, приложения Windows Store, Windows RT и Xbox Kinect, но соответствующие методики отличаются от рассматриваемых в этой статье.

Хороший способ понять, что именно будет обсуждаться в этой статье, - взглянуть на экранные снимки двух разных демонстрационных программ на рис. 1 и 2 . После запуска консольное приложение на рис. 1 немедленно произносит фразу «I am awake». Конечно, вы не сможете услышать демонстрационное приложение, читая эту статью, поэтому оно отображает текст того, что говорит компьютер. Потом пользователь произносит команду «Speech on». Демонстрационное приложение откликается распознанным текстом, а затем на внутреннем уровне включает прослушивание и реагирует на запросы сложить два числа.

Рис. 1. Распознавание и синтез речи в консольном приложении


Рис. 2. Распознавание речи в приложении Windows Forms

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

Далее пользователь сказал «Speech off» - голосовую команду, которая деактивирует прослушивание команд для сложения чисел, но не отключает полностью распознавание речи. После этой речевой команды следующая команда на сложение единицы с двойкой была проигнорирована. Наконец, пользователь снова включил прослушивание команд и произнес бессмысленную команду «Klatu barada nikto», которую приложение распознало как команду на полную деактивацию распознавания речи и свое завершение.

На рис. 2 показано приложение Windows Forms с включенным холостым распознаванием речи (dummy speech-enabled). Это приложение распознает произносимые команды, но не реагирует на них голосовым выводом. При первом запуске приложения флажок Speech On не был установлен, указывая на то, что распознавание речи не активно. Пользователь установил этот флажок, а затем произнес «Hello». Приложение откликнулось выводом распознанного текста в элементе управления ListBox в нижней части окна.

Затем пользователь произнес: «Set text box 1 to red». Приложение распознало речь и откликнулось: «Set text box 1 red», что почти (но не совсем) точно соответствует тому, что сказал пользователь. Хотя на рис. 2 этого не видно, текст в элементе управления TextBox в верхней части окна стал действительно красным.

Потом пользователь произнес: «Please set text box 1 to white». Приложение распознало это как «set text box 1 white» и сделало именно это. В заключение пользователь сказал: «Good-bye», и приложение вывело этот текст, но ничего не стало делать с Windows Forms, хотя могло бы, например, сбросить флажок Speech On.

Использовать объект синтезатора довольно просто.

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

Добавление поддержки распознавания речи в консольное приложение

Чтобы создать демонстрацию, показанную на рис. 1 , я запустил Visual Studio и создал новое консольное приложение на C# с названием ConsoleSpeech. Я успешно использовал речевые средства с Visual Studio 2010 и 2012, но должна подойти любая сравнительно недавняя версия. После загрузки кода шаблона в редактор я переименовал файл Program.cs в окне Solution Explorer в более описательный ConsoleSpeechProgram.cs, и Visual Studio переименовала класс Program за меня.

Далее я добавил ссылку на файл Microsoft.Speech.dll, который находится в C:\ProgramFiles (x86)\Microsoft SDKs\Speech\v11.0\Assembly. Эта DLL отсутствовала на моем компьютере, и мне пришлось скачивать ее. Установка файлов, необходимых для добавления распознавания и синтеза речи в приложение, не столь уж и тривиальна. Я подробно объясню процесс установки в следующем разделе, а пока допустим, что Microsoft.Speech.dll есть в вашей системе.

Добавив ссылку на речевую DLL, я удалил из верхней части кода все выражения using, кроме указывавшего на пространство имен System верхнего уровня. Потом я добавил выражения using для пространств имен Microsoft.Speech.Recognition, Microsoft.Speech.Synthesis и System.Globalization. Первые два пространства имен сопоставлены с речевой DLL. Заметьте: существуют и такие пространства имен, как System.Speech.Recognition и System.Speech.Synthesis, что может сбить с толку. Вскоре я поясню разницу между ними. Пространство имен Globalization было доступно по умолчанию и не требовало добавления новой ссылки в проект.

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

Рис. 3. Исходный код демонстрационного консольного приложения

using System; using Microsoft.Speech.Recognition; using Microsoft.Speech.Synthesis; using System.Globalization; namespace ConsoleSpeech { class ConsoleSpeechProgram { static SpeechSynthesizer ss = new SpeechSynthesizer(); static SpeechRecognitionEngine sre; static bool done = false; static bool speechOn = true; static void Main(string args) { try { ss.SetOutputToDefaultAudioDevice(); Console.WriteLine("\n(Speaking: I am awake)"); ss.Speak("I am awake"); CultureInfo ci = new CultureInfo("en-us"); sre = new SpeechRecognitionEngine(ci); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized; Choices ch_StartStopCommands = new Choices(); ch_StartStopCommands.Add("speech on"); ch_StartStopCommands.Add("speech off"); ch_StartStopCommands.Add("klatu barada nikto"); GrammarBuilder gb_StartStop = new GrammarBuilder(); gb_StartStop.Append(ch_StartStopCommands); Grammar g_StartStop = new Grammar(gb_StartStop); Choices ch_Numbers = new Choices(); ch_Numbers.Add("1"); ch_Numbers.Add("2"); ch_Numbers.Add("3"); ch_Numbers.Add("4"); GrammarBuilder gb_WhatIsXplusY = new GrammarBuilder(); gb_WhatIsXplusY.Append("What is"); gb_WhatIsXplusY.Append(ch_Numbers); gb_WhatIsXplusY.Append("plus"); gb_WhatIsXplusY.Append(ch_Numbers); Grammar g_WhatIsXplusY = new Grammar(gb_WhatIsXplusY); sre.LoadGrammarAsync(g_StartStop); sre.LoadGrammarAsync(g_WhatIsXplusY); sre.RecognizeAsync(RecognizeMode.Multiple); while (done == false) { ; } Console.WriteLine("\nHit < enter > to close shell\n"); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.ReadLine(); } } // Main static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { string txt = e.Result.Text; float confidence = e.Result.Confidence; Console.WriteLine("\nRecognized: " + txt); if (confidence < 0.60) return; if (txt.IndexOf("speech on") >= 0) { Console.WriteLine("Speech is now ON"); speechOn = true; } if (txt.IndexOf("speech off") >= 0) { Console.WriteLine("Speech is now OFF"); speechOn = false; } if (speechOn == false) return; if (txt.IndexOf("klatu") >= 0 && txt.IndexOf("barada") >= 0) { ((SpeechRecognitionEngine)sender). RecognizeAsyncCancel(); done = true; Console.WriteLine("(Speaking: Farewell)"); ss.Speak("Farewell"); } if (txt.IndexOf("What") >= 0 && txt.IndexOf("plus") >= 0) { string words = txt.Split(" "); int num1 = int.Parse(words); int num2 = int.Parse(words); int sum = num1 + num2; Console.WriteLine("(Speaking: " + words + " plus " + words + " equals " + sum + ")"); ss.SpeakAsync(words + " plus " + words + " equals " + sum); } } // sre_SpeechRecognized } // Program } // ns

После выражений using демонстрационный код начинается так:

namespace ConsoleSpeech { class ConsoleSpeechProgram { static SpeechSynthesizer ss = new SpeechSynthesizer(); static SpeechRecognitionEngine sre; static bool done = false; static bool speechOn = true; static void Main(string args) { ...

Объект SpeechSynthesizer на уровне класса дает возможность приложению синтезировать речь. Объект SpeechRecognitionEngine позволяет приложению прослушивать и распознавать произносимые слова или фразы. Булева переменная done определяет, когда завершается приложение в целом. Булева переменная speechOn управляет тем, слушает ли приложение какие-то команды, кроме команды на выход из программы.

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

Метод Main начинается так:

try { ss.SetOutputToDefaultAudioDevice(); Console.WriteLine("\n(Speaking: I am awake)"); ss.Speak("I am awake");

Экземпляр объекта SpeechSynthesizer был создан при его объявлении. Использовать объект синтезатора довольно просто. Метод SetOutputToDefaultAudioDevice отправляет вывод на динамики, подключенные к вашему компьютеру (вывод можно отправлять и в файл). Метод Speak принимает строку, а затем произносит ее. Вот так все несложно.

Распознавание речи гораздо сложнее ее синтеза. Метод Main продолжает созданием объекта распознавателя:

CultureInfo ci = new CultureInfo("en-us"); sre = new SpeechRecognitionEngine(ci); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized;

Сначала в объекте CultureInfo указывается распознаваемый язык, в данном случае United States English. Объект CultureInfo находится в пространстве имен Globalization, на которое мы сослались с помощью выражения using. Затем после вызова конструктора SpeechRecognitionEngine голосовой ввод назначается аудиоустройству по умолчанию - чаще всего микрофону. Заметьте, что в большинстве лэптопов есть встроенный микрофон, но на настольных компьютерах потребуется внешний микрофон (в наши дни он часто комбинируется с наушниками).

Ключевым методом для объекта распознавателя является обработчик событий SpeechRecognized. При использовании Visual Studio, если вы введете «sre.SpeechRecognized +=» и подождете долю секунды, IntelliSense автоматически закончит ваше выражение именем обработчика событий - sre_SpeechRecognized. Советую нажать клавишу Tab, чтобы согласиться с предложенным вариантом и использовать это имя по умолчанию.

Choices ch_Numbers = new Choices(); ch_Numbers.Add("1"); ch_Numbers.Add("2"); ch_Numbers.Add("3"); ch_Numbers.Add("4"); // с технической точки зрения, // это Add(new string { "4" }); GrammarBuilder gb_WhatIsXplusY = new GrammarBuilder(); gb_WhatIsXplusY.Append("What is"); gb_WhatIsXplusY.Append(ch_Numbers); gb_WhatIsXplusY.Append("plus"); gb_WhatIsXplusY.Append(ch_Numbers); Grammar g_WhatIsXplusY = new Grammar(gb_WhatIsXplusY);

Три основных объекта здесь - это набор Choices, шаблон GrammarBuilder и управляющий Grammar. Когда я создаю Grammar для распознавания, я начинаю с перечисления некоторых конкретных примеров того, что мне нужно распознавать. Скажем, «What is one plus two?» и «What is three plus four?».

Потом я определяю соответствующий универсальный шаблон, например «What is plus ?». Шаблоном является GrammarBuilder, а конкретные значения, которые передаются шаблону, - это набор Choices. Объект Grammar инкапсулирует шаблон и Choices.

В демонстрационной программе я ограничиваю для сложения от 1 до 4 и добавляю их как строки в набор Choices. Более эффективный подход:

string numbers = new string { "1", "2", "3", "4" }; Choices ch_Numbers = new Choices(numbers);

Я представляю вам менее эффективный подход к созданию набора Choices по двум причинам. Во-первых, добавление одной строки единовременно было единственным подходом, который я видел в других примерах с распознаванием речи. Во-вторых, вы могли подумать, что добавление одной строки единовременно вообще не должно работать; Visual Studio IntelliSense в реальном времени показывает, что одна из перегрузок Add принимает параметр типа params string phrases. Если вы не заметили ключевое слово params, то, возможно, сочли, что метод Add принимает только массивы строк, а одну строку - нет. Но это не так: он принимает и то, и другое. Я советую передавать массив.

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

string numbers = new string; for (int i = 0; i < 100; ++i) numbers[i] = i.ToString(); Choices ch_Numbers = new Choices(numbers);

После создания Choices для заполнения слотов GrammarBuilder демонстрационная программа создает GrammarBuilder, а затем управляющий Grammar:

GrammarBuilder gb_WhatIsXplusY = new GrammarBuilder(); gb_WhatIsXplusY.Append("What is"); gb_WhatIsXplusY.Append(ch_Numbers); gb_WhatIsXplusY.Append("plus"); gb_WhatIsXplusY.Append(ch_Numbers); Grammar g_WhatIsXplusY = new Grammar(gb_WhatIsXplusY);

Похожий шаблон демонстрационная программа использует при создании Grammar для команд, относящихся к старту и остановке:

Choices ch_StartStopCommands = new Choices(); ch_StartStopCommands.Add("speech on"); ch_StartStopCommands.Add("speech off"); ch_StartStopCommands.Add("klatu barada nikto"); GrammarBuilder gb_StartStop = new GrammarBuilder(); gb_StartStop.Append(ch_StartStopCommands); Grammar g_StartStop = new Grammar(gb_StartStop);

Грамматики можно определять очень гибко. Здесь команды «speech on», «speech off» и «klatu barada nikto» помещаются в одну грамматику, так как они логически связаны. Эти три команды можно было бы определить в трех разных грамматиках или поместить команды «speech on» и «speech off» в одну грамматику, а команду «klatu barada nikto» - во вторую.

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

sre.LoadGrammarAsync(g_StartStop); sre.LoadGrammarAsync(g_WhatIsXplusY); sre.RecognizeAsync(RecognizeMode.Multiple);

Аргумент RecognizeMode.Multiple необходим, когда у вас более одной грамматики, что будет во всех программах, кроме самых простейших. Метод Main завершается следующим образом:

While (done == false) { ; } Console.WriteLine("\nHit < enter > to close shell\n"); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.ReadLine(); } } // Main

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

Обработка распознаваемой речи

Код обработки событий, связанных с распознаванием речи, начинается так:

static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { string txt = e.Result.Text; float confidence = e.Result.Confidence; Console.WriteLine("\nRecognized: " + txt); if (confidence < 0.60) return; ...

Распознанный текст хранится в свойстве Result.Text объекта SpeechRecognizedEventArgs. Кроме того, можно использовать набор Result.Words. Свойство Result.Confidence хранит значение от 0.0 до 1.0, которое является примерной оценкой того, насколько произнесенный текст соответствует любой из грамматик, связанных с распознавателем. Демонстрационная программа инструктирует обработчик событий игнорировать текст с низкой достоверностью (low confidence) распознанного текста.

Значения Confidence сильно зависят от сложности ваших грамматик, качества микрофона и других факторов. Например, если демонстрационной программе нужно распознавать лишь числа от 1 до 4, то значения достоверности на моем компьютере обычно находятся на уровне 0.75. Но, если грамматика должна распознавать числа от 1 до 100, значения достоверности падают приблизительно до 0.25. Если в двух словах, то обычно вы должны экспериментировать со значениями достоверности, чтобы добиться хороших результатов распознавания речи.

if (txt.IndexOf("speech on") >= 0) { Console.WriteLine("Speech is now ON"); speechOn = true; } if (txt.IndexOf("speech off") >= 0) { Console.WriteLine("Speech is now OFF"); speechOn = false; } if (speechOn == false) return;

Хотя, возможно, это не совсем очевидно поначалу, эта логика должна иметь смысл, если вдуматься в нее. Затем обрабатывается секретная команда выхода:

if (txt.IndexOf("klatu") >= 0 && txt.IndexOf("barada") >= 0) { ((SpeechRecognitionEngine)sender).RecognizeAsyncCancel(); done = true; Console.WriteLine("(Speaking: Farewell)"); ss.Speak("Farewell"); }

Заметьте, что механизм распознавания речи может на самом деле распознавать бессмысленные слова. Если объект Grammar содержит слова, отсутствующие во встроенном словаре этого объекта, Grammar пытается по возможности идентифицировать такие слова, используя семантическую эвристику, и обычно весьма успешно. Вот почему я использовал «klatu» вместо правильного «klaatu» (из одного старого научно-фантастического фильма).

Также заметьте, что вы не обязаны обрабатывать весь распознанный Grammar текст («klatu barada nikto») - нужно лишь иметь достаточно информации для уникальной идентификации грамматической фразы («klatu» и «barada»).

If (txt.IndexOf("What") >= 0 && txt.IndexOf("plus") >= 0) { string words = txt.Split(" "); int num1 = int.Parse(words); int num2 = int.Parse(words); int sum = num1 + num2; Console.WriteLine("(Speaking: " + words + " plus " + words + " equals " + sum + ")"); ss.SpeakAsync(words + " plus " + words + " equals " + sum); } } // sre_SpeechRecognized } // Program } // ns

Обратите внимание на то, что текст в Results.Text чувствителен к регистру букв («What» и «what»). Распознав фразу, ее можно разобрать на конкретные слова. В данном случае распознанный текст имеет форму «What is x plus y», поэтому «What» помещается в words, а два складываемых числа (как строки) сохраняются в words и words.

Установка библиотек

Объяснение демонстрационной программы подразумевает, что все необходимые речевые библиотеки установлены на вашем компьютере. Чтобы создавать и запускать демонстрационные программы, нужно установить четыре пакета: SDK (обеспечивает возможность создания демонстраций в Visual Studio), исполняющую среду (выполняет демонстрации после их создания), распознаваемый и синтезируемый (произносимый программой) языки.

Чтобы установить SDK, поищите в Интернете по словосочетанию «Speech Platform 11 SDK». Это приведет вас на нужную страницу в Microsoft Download Center (рис. 4 ). Щелкнув кнопку Download, вы увидите варианты, показанные на рис. 5 . SDK поставляется в 32- и 64-разрядной версиях. Я настоятельно советую использовать 32-разрядную версию независимо от разрядности вашей системы. 64-разрядная версия не взаимодействует с некоторыми приложениями.


Рис. 4. Основная страница установки SDK в Microsoft Download Center


Рис. 5. Установка Speech SDK

Вам не нужно ничего, кроме одного файла.msi под x86 (для 32-разрядных систем). Выбрав этот файл и щелкнув кнопку Next, вы можете запустить программу установки прямо отсюда. Речевые библиотеки не дают особой обратной связи насчет того, когда установка закончена, поэтому не ищите никаких сообщений об успешном завершении.


Рис. 6. Установка исполняющей среды

Крайне важно выбрать ту же версию платформы (в демонстрации - 11) и разрядность (32 или 64 ), что и у SDK. И вновь я настоятельно советую 32-разрядную версию, даже если вы работаете в 64-разрядной системе.

Затем можно установить распознаваемый язык (recognition language). Страница скачивания приведена на рис. 7 . В демонстрационной программе используется файл MSSpeech_SR_en-us_TELE.msi (English-U.S.). SR расшифровывается как распознавание речи (speech recognition), а TELE - как телефония; это означает, что распознаваемый язык предназначен для работы с низкокачественным аудиовходом, например от телефона или настольного микрофона.


Рис. 7. Установка распознаваемого языка

Наконец, вы можете установить язык и голос для синтеза речи. Страница скачивания приведена на рис. 8 . Демонстрационная программа использует файл MSSpeech_TTS_en-us_Helen.msi. TTS (text-to-speech), по сути, является синонимом синтеза речи (speech synthesis). Обратите внимание на два доступных голоса English, U.S. Есть и другие голоса English, но не U.S. Создание файлов языка синтеза - задача весьма сложная. Однако можно приобрести и установить другие голоса от множества компаний.


Рис. 8. Установка голоса и языка синтеза

Любопытно, что, хотя язык распознавания речи и голос/язык синтеза речи на самом деле являются совершенно разными вещами, оба пакета являются вариантами на одной странице скачивания. Download Center UI позволяет отметить как язык распознавания, так и язык синтеза, но попытка одновременной их установки оказалась для меня катастрофичной, поэтому я рекомендую устанавливать их по отдельности.

Сравнение Microsoft.Speech с System.Speech

Если вы новичок в распознавании и синтезе речи для Windows-приложений, вы можете легко запутаться в документации, потому что существует несколько речевых платформ. В частности, помимо библиотеки Microsoft.Speech.dll, используемой демонстрационными программами в этой статье, есть библиотека System.Speech.dll, являющаяся частью операционной системы Windows. Эти две библиотеки похожи в том смысле, что их API почти, но не полностью идентичны. Поэтому, если вы отыскиваете примеры обработки речи в Интернете и видите фрагменты кода, а не полные программы, то совершенно не очевидно, относится данный пример к System.Speech или Microsoft.Speech.

Если вы новичок в обработке речи, используйте для добавления поддержки речи в.NET-приложение библиотеку Microsoft.Speech, а не System.Speech.

Хотя обе библиотеки имеют общую основную кодовую базу и похожие API, они определенно разные. Неокторые ключевые различия суммированы в табл. 1 .

Табл. 1. Основные различия между Microsoft.Speech и System.Speech

System.Speech DLL - часть ОС, поэтому она установлена в каждой системе Windows. Microsoft.Speech DLL (и связанные с ней исполняющая среда и языки) нужно скачивать и устанавливать в систему. Распознавание с применением System.Speech обычно требует обучения под конкретного пользователя, когда пользователь начитывает какой-то текст, а система учится понимать произношение, свойственное этому пользователю. Распознавание с применением Microsoft.Speech работает сразу для любого пользователя. System.Speech может распознавать практически любые слова (это называет свободной диктовкой). Microsoft.Speech будет распознавать лишь те слова и фразы, которые имеются в объекте Grammar, определенном в программе.

Добавление поддержки распознавания речи к приложению Windows Forms

Процесс добавления поддержки распознавания и синтеза речи к приложению Windows Forms или WPF похож на таковой для консольного приложения. Чтобы создать демонстрационную программу, показанную на рис. 2 , я запустил Visual Studio, создал новое приложение C# Windows Forms и переименовал его в WinFormSpeech.

После загрузки кода шаблона в редактор я добавил ссылку на файл Microsoft.Speech.dll в окне Solution Explorer - так же, как я сделал это в консольной программе. В верхней части исходного кода я удалил ненужные выражения using, оставив только ссылки на пространства имен System, Data, Drawing и Forms. Затем добавил два выражения using для пространств имен Microsoft.Speech.Recognition и System.Globalization.

Демонстрация на основе Windows Forms не использует синтез речи, поэтому я не ссылаюсь на библиотеку Microsoft.Speech.Synthesis. Добавление синтеза речи в приложение Windows Forms осуществляется точно так же, как и в консольном приложении.

В Visual Studio в режиме проектирования я перетащил на Form элементы управления TextBox, CheckBox и ListBox. Дважды щелкнул CheckBox, и Visual Studio автоматически создал скелет метода-обработчика событий CheckChanged.

Вспомните, что демонстрационная консольная программа сразу же начинала прослушивать произносимые команды и продолжала делать это вплоть до своего завершения. Этот подход можно применить и в приложении Windows Forms, но вместо него я решил дать возможность пользователю включать и выключать распознавание речи с помощью элемента управления CheckBox (т. е. с помощью флажка).

Исходный код в файле Form1.cs демонстрационной программы, где определен частичный класс, представлен на рис. 9 . Объект механизма распознавания речи объявляется и создается как член Form. В конструкторе Form я подключаю обработчик событий SpeechRecognized, а затем создаю и загружаю два объекта Grammars:

public Form1() { InitializeComponent(); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized; Grammar g_HelloGoodbye = GetHelloGoodbyeGrammar(); Grammar g_SetTextBox = GetTextBox1TextGrammar(); sre.LoadGrammarAsync(g_HelloGoodbye); sre.LoadGrammarAsync(g_SetTextBox); // sre.RecognizeAsync() находится // в обработчике события CheckBox }

Рис. 9. Добавление поддержки распознавания речи в Windows Forms

using System; using System.Data; using System.Drawing; using System.Windows.Forms; using Microsoft.Speech.Recognition; using System.Globalization; namespace WinFormSpeech { public partial class Form1: Form { static CultureInfo ci = new CultureInfo("en-us"); static SpeechRecognitionEngine sre = new SpeechRecognitionEngine(ci); public Form1() { InitializeComponent(); sre.SetInputToDefaultAudioDevice(); sre.SpeechRecognized += sre_SpeechRecognized; Grammar g_HelloGoodbye = GetHelloGoodbyeGrammar(); Grammar g_SetTextBox = GetTextBox1TextGrammar(); sre.LoadGrammarAsync(g_HelloGoodbye); sre.LoadGrammarAsync(g_SetTextBox); // sre.RecognizeAsync() находится // в обработчике события CheckBox } static Grammar GetHelloGoodbyeGrammar() { Choices ch_HelloGoodbye = new Choices(); ch_HelloGoodbye.Add("hello"); ch_HelloGoodbye.Add("goodbye"); GrammarBuilder gb_result = new GrammarBuilder(ch_HelloGoodbye); Grammar g_result = new Grammar(gb_result); return g_result; } static Grammar GetTextBox1TextGrammar() { Choices ch_Colors = new Choices(); ch_Colors.Add(new string { "red", "white", "blue" }); GrammarBuilder gb_result = new GrammarBuilder(); gb_result.Append("set text box 1"); gb_result.Append(ch_Colors); Grammar g_result = new Grammar(gb_result); return g_result; } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked == true) sre.RecognizeAsync(RecognizeMode.Multiple); else if (checkBox1.Checked == false) // выключено sre.RecognizeAsyncCancel(); } void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { string txt = e.Result.Text; float conf = e.Result.Confidence; if (conf < 0.65) return; this.Invoke(new MethodInvoker(() => { listBox1.Items.Add("I heard you say: " + txt); })); // специфика WinForm if (txt.IndexOf("text") >= 0 && txt.IndexOf("box") >= 0 && txt.IndexOf("1")>= 0) { string words = txt.Split(" "); this.Invoke(new MethodInvoker(() => { textBox1.Text = words; })); // специфика WinForm } } } // Form } // ns

Я мог бы создать два объекта Grammar напрямую, как в консольной программе, но вместо этого, что сделать код чуточку понятнее, определил два вспомогательных метода (GetHelloGoodbyeGrammar и GetTextBox1TextGrammar), которые и выполняют эту работу.

static Grammar GetTextBox1TextGrammar() { Choices ch_Colors = new Choices(); ch_Colors.Add(new string { "red", "white", "blue" }); GrammarBuilder gb_result = new GrammarBuilder(); gb_result.Append("set text box 1"); gb_result.Append(ch_Colors); Grammar g_result = new Grammar(gb_result); return g_result; }

Этот вспомогательный метод будет распознавать фразу «set text box 1 red». Однако пользователь не обязан точно проговаривать эту фразу. Например, он мог бы произнести: «Please set the text in text box 1 to red», и механизм распознавания речи все равно опознал бы фразу как «set text box 1 red» - пусть и с более низким значением достоверности, чем при точном совпадении с шаблоном Grammar. Другими словами, создавая объекты Grammar, вы не обязаны принимать во внимание все вариации фразы. Это радикально упрощает использование распознавания речи.

Обработчик событий для CheckBox определен так:

private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked == true) sre.RecognizeAsync(RecognizeMode.Multiple); else if (checkBox1.Checked == false) // выключено sre.RecognizeAsyncCancel(); }

Объект механизма распознавания речи, sre (speech recognition engine), всегда существует в течение всего срока жизни приложения Windows Forms. Этот объект активируется и деактивируется вызовами методов RecognizeAsync и RecognizeAsyncCancel, когда пользователь соответственно переключает CheckBox.

Определение обработчика событий SpeechRecognized начинается с:

void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { string txt = e.Result.Text; float conf = e.Result.Confidence; if (conf < 0.65) return; ...

Помимо более-менее постоянно используемых свойств Result.Text и Result.Confidence, объект Result имеет несколько других полезных, но более сложных свойств, которые вы, возможно, захотите исследовать; например, Homophones и ReplacementWordUnits. Кроме того, механизм распознавания речи предоставляет несколько полезных событий вроде SpeechHypothesized.

this.Invoke((Action)(() => listBox1.Items.Add("I heard you say: " + txt)));

Теоретически, в этой ситуации использование делегата MethodInvoker чуть эффективнее, чем Action, так как MethodInvoker является частью пространства имен Windows.Forms, а значит, специфичен для приложений Windows Forms. Делегат Action более универсален. Этот пример показывает, что вы можете полностью манипулировать приложением Windows Forms через механизм распознавания речи - это невероятно мощная и полезная возможность.

Заключение

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

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

Другое возможное применение речи в консольной программе - распознавание команд вроде «Launch Notepad» и «Launch Word». Иначе говоря, такая консольная программа может использоваться на вашем компьютере для выполнения действий, которые в ином случае потребовали бы множества манипуляций с клавиатурой и мышью.

Джеймс Маккафри (Dr. James McCaffrey) работает на Microsoft Research в Редмонде (штат Вашингтон). Принимал участие в создании нескольких продуктов Microsoft, в том числе Internet Explorer и Bing. С ним можно связаться по адресу [email protected] .

Выражаю благодарность за рецензирование статьи экспертам Microsoft Research Робу Грюну (Rob Gruen), Марку Маррону (Mark Marron) и Кертису фон Ве (Curtis von Veh).

В этом документе описывается предварительная версия программного обеспечения Microsoft® Windows Vista™.

Сведения, содержащиеся в документе, отражают позицию корпорации Майкрософт в отношении обсуждаемых вопросов на момент публикации. Поскольку корпорация Майкрософт должна реагировать на изменение рыночных условий, данный документ не может рассматриваться как обязательство с ее стороны, и корпорация Майкрософт не гарантирует точности представленных сведений. Данный документ носит исключительно информационный характер. КОРПОРАЦИЯ МАЙКРОСОФТ НЕ ПРЕДОСТАВЛЯЕТ В ДАННОМ ДОКУМЕНТЕ НИКАКИХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ.

Аннотация

С помощью средств распознавания речи в операционной системе Microsoft® Windows Vista™ можно диктовать сообщения электронной почты и документы, а также использовать голосовые команды для управления работой программ и отображением веб-страниц. Точность распознавания мирового уровня, адаптация программы к произношению пользователя и используемой лексике заметно ускоряют создание документов. Новейшие средства речевого управления в Windows Vista помогает пользователю освоить речевой ввод быстрее, чем когда бы то ни было. Данное руководство содержит системные требования, инструкции по установке и пошаговое руководство к использованию средств распознавания речи в Windows Vista.

Пошаговое руководство по использованию средств распознавания речи в Windows Vista

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

Что такое распознавание речи

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

Новые возможности средств распознавания речи в Windows Vista

Средства распознавания речи в Windows Vista ориентированы не только на обеспечение наивысшей точности распознавания, но и на формирование наиболее удобного пользователю механизма взаимодействия с компьютером. Сделана попытка устранить основные проблемы и неудобства, с которыми сталкиваются пользователи существующих продуктов аналогичного назначения. Эффективность выполнения работы с помощью средств распознавания речи в Windows Vista сочетается с удовольствием от их применения. Это достигается благодаря таким особенностям, как:

    Сокращенный период обучения системы, позволяющий сразу начинать работу;

    Обновленный пользовательский интерфейс предоставляет простые, но эффективные способы диктовки и редактирования текста, а также исправления ошибок;

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

    Значительное повышение точности распознавания речи благодаря самообучению системы в процессе работы с ней;

    Новые средства управления, предоставляющие пользователю полный контроль над приложениями;

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

Кому будет полезно использование средств распознавания речи

Данное руководство предназначено для следующих категорий пользователей:

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

    ИТ-специалистов, выполняющих планирование для обучающих отделов.

    Ранних пользователей продукта.

Примечание переводчика. Средства распознавания речи доступны только в английской версии Windows Vista. Для их использования необходимо знание английского языка.

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

Использование средств распознавания речи Windows Vista будет наименее эффективным для следующих категорий пользователей:

    Пользователей, работающих с текстами не на естественных языках (программистов, составителей электронных таблиц, системные администраторы).

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

Преимущества использования средств распознавания речи

С помощью средств распознавания речи пользователи могут:

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

    Полностью создавать документы, пользуясь только речью.

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

Основные варианты использования средств распознавания речи

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

В Speech Tutorial, входящем в состав Windows Vista, содержится больше примеров, которые можно изучить в случае необходимости.

Необходимые условия

Для выполнения этой задачи необходимо:

    Использование качественного микрофона, например:

    • Гарнитуры, подключаемой через порт USB

      Микрофона с технологией Array microphone

    Завершение интерактивного курса обучения работе со средствами распознавания речи. Это позволит компьютеру получить базовую информацию для точного распознавания речи пользователя, а пользователю познакомиться с голосовыми командами, необходимыми для выполнения различных задач.

Диктовка документа

Одной из задач, наиболее часто выполняемых с помощью средств распознавания речи, является диктовка документа. Выполнение этой задачи проходит в три этапа:

    Открытие текстового редактора

    Диктовка текста документа

    Сохранение документа

Последовательность действий при диктовке документа

Пройдите полностью курс обучения Speech Tutorial

Создание, диктовка и сохранение документа

Известные проблемы
Диктовка

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

    Диктовка при работе с распознаванием речи работает только с ограниченным набором приложений, поддерживающих технологию Text Services Framework. К этим приложениям относятся:

    • Microsoft Word и Outlook

      Практически все приложения, входящие в состав Windows Vista.

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

    • Microsoft PowerPoint

Неточное распознавание речевых команд

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

Обратитесь к Speech Reference Card, чтобы увидеть список доступных команд. Speech Reference Card открывается после щелчка правой кнопкой мыши по панели управления микрофоном.

Отчеты об ошибках и обратная связь

Чтобы отправить отчет об ошибке, воспользуйтесь инструкциями на веб-странице Microsoft Beta Web site. Мы также ждем предложений о полезных функциях и заинтересованы в обратной связи с пользователями средств распознавания речи.

Запросы дополнительной поддержки при использовании средств распознавания речи направляйте непосредственно в службу поддержки средств распознавания речи, по электронному адресу [email protected].

Дополнительные ресурсы

Бета-тестеры, участвующие в программе технологической адаптации (Technology Adoption Program, TAP), могут также обращаться за поддержкой к прикрепленному участнику команды разработчиков корпорации Microsoft.

Друзья, на днях мы рассматривали одно из новшеств, привнесённых в Windows 10 обновлением Fall Creators Update – . Поддержку голосового ввода на русском языке компания Microsoft обещает в будущем, но не уточняет, близко или далеко это будущее обозримо. Возможно, это будет тогда, когда и Кортана сможет говорить, а главное, понимать по-русски. Ждать, пока Microsoft научит Windows 10 понимать наших не стоит. Если чего-то нет в среде самой системы, это практически всегда можно реализовать за счёт сторонних программных средств. Собственно, о них мы и будем говорить в этой статье. Ниже рассмотрим различные способы, как можно с помощью встроенного в ноутбук или подключённого к ПК микрофона вводить голосом поисковые запросы и надиктовывать текст документов.

1. «Ок, Алиса» и голосовой поиск Google для поисковых запросов

Непонятно, почему компания Google до сих пор не интегрировала эту технологию в интерфейс YouTube. Но в любом случае видеоролики можно искать в самом поисковике, проговаривая ключевые запросы. Просто затем нужно будет в результатах выдачи переключаться на вкладку «Видео». Львиная доля поисковых выдач по известным причинам всё равно будет с YouTube.

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

2. Веб-сервис Web Speech API от Google

У технологии Web Speech API, посредством которой в поисковике Google реализован голосовой ввод запросов, есть свой веб-интерфейс по адресу:

https://www.google.com/intl/ja/chrome/demos/speech.html

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

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

Для распознанного текста доступна ещё одна возможность, реализованная кнопкой создания электронного письма. Она запускает почтовый клиент, установленный в среде Windows таковым по умолчанию, создаёт новое письмо и переносит в него распознанный текст.

Примечательно, что Web Speech API может распознавать некоторые знаки препинания, как минимум точку и запятую. Так что во время диктовок в местах вставки точек и запятых их можно просто проговаривать.

Отсутствие возможности редактирования текста внутри результирующего поля делает использование интерфейса Web Speech API не совсем удобным для больших объёмов набора текста. Для длительных диктовок лучше использовать веб-интерфейс сервиса «Google Документы», в который технология Web Speech API встроена. В «Google Документах» можно и вводить текст голосом, и тут же править его, и ещё попутно форматировать документ.

3. «Голосовой блокнот» на Speechpad.Ru

На базе технологии Web Speech API работает ещё сайт - самый популярный и самый функциональный в Рунете сервис голосового ввода данных «Голосовой блокнот». В числе основных его функций:

  • Поддержка нескольких языков, включая русский и украинский;
  • Результирующее поле распознавания голоса с возможностью правки текста, его перевода на другие языки, выгрузки результатов в TXT-файл;
  • Вывод распознанных фраз в буфер обмена;
  • Транскрибация;
  • Интеграция в веб-формы Chromium-браузеров;
  • Интеграция в среду Windows и Linux.

Плюс к этому всему, в «Голосовом блокноте» опция ввода голоса включается и отключается только по нажатию соответствующей кнопки. Эта опция не деактивируется сама по себе, как только мы на время призадумаемся в поисках точной формулировки мысли, как это происходит в прочих сервисах на базе Web Speech API.

И отслеживаем в результирующем поле распознанный текст.

4. Интеграция Speechpad в веб-формы браузера

После внедрения этого расширения в контекстном меню веб-форм ввода текста появится пункт «Speechpad». Жмём эту кнопку и говорим в микрофон. Таким образом можем, например, надиктовывать заметки в Google Keep.

5. Интеграция Speechpad в среду Windows

Возможности веб-сервиса «Голосовой блокнот» можно интегрировать в среду Windows. И осуществлять набор текста голосом в любой программе операционной системы – штатном блокноте, Microsoft Word, прочих текстовых редакторах. Распознанная речь без посредничества веб-сервисов или буфера обмена будет вставляться прямо в редактируемые документы. Однако такая функция Speechpad.Ru не бесплатна, и стоит она 100 руб. в месяц. Предусматриваются варианты экономии: при оплате услуг сразу за квартал стоимость будет составлять 250 руб., а предоплата за год обойдётся в 800 руб. Каждый зарегистрированный пользователь может прежде протестировать интегрированный в среду своей операционной системы функционал сервиса. Создатели Speechpad.Ru предлагают двухдневный тестовый период бесплатно. Как непосредственно осуществляется интеграция «Голосового блокнота» в операционные системы, в частности, в Windows, подробно описывается на сайте самого Speechpad.Ru. Кликаем знак вопроса возле опции интеграции.

И проходим все описываемые в инструкции шаги:

  • Устанавливаем вышеупомянутое расширение сервиса;
  • Скачиваем пакет файлов интеграции;
  • Распаковываем архив и запускаем файл install_host.bat;
  • На сайте Speechpad.Ru заходим в кабинет пользователя;

Жмём кнопку «Включить тестовый период».

И так каждый раз, когда нужно активировать голосовой ввод. Вот, собственно, и всё. Теперь можно открывать Microsoft Word, LibreOffice Writer, прочие текстовые редакторы и начинать диктовку. Распознанный текст будет появляться в окне любого активного приложения, поддерживающего ввод данных.

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

5. Бесплатные альтернативы интеграции голосового ввода в среду Windows

Какие могут быть бесплатные альтернативы интеграции в среду Windows русскоязычного голосового ввода данных?

Вариант №1

Совершенно бесплатно на сайте Speechpad.Ru можно использовать опцию вывода распознанной речи в буфер обмена. Жмём на сайте кнопку «Включить запись» и перемещаемся в любое приложение Windows.

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

Вариант №2

Работающим с приложениями офисного пакета компания Microsoft может предложить свою наработку по внедрению голосового ввода – надстройку Dictate, интегрирующую в Word, Outlook и PowerPoint дополнительную вкладку меню с инструментом распознавания речи. Надстройка может распознавать речь на 20 языках, включая русский, и позволяет попутно переводить текст на 60 языков.

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

Продолжение в статьях:

Что вы будете делать, если вы устали от ручного ввода данных, запускать программы, написать по электронной почте и делать другие вещи в вашей Windows 8/8 .1 на компьютере?Возможно, вам нужно будет сделать перерыв и начать делать задания снова.Почему Вы не включите распознавание речи Windows,чтобы помочь вам реализовать все эти операции?Распознавание речи в Windows позволяет вам делать всё,что можно сделать с помощью мыши и клавиатуры,голосом. И если вы беспокоитесь о том,где вы можете найти распознавание речи в Windows в компьютере,этот пост покажет вам 3 способа, чтобы включить распознавание речи в Windows , и расскажет,как его отключить.

1.Три способа включения распознавания речи в Windows 8/8 .1:

Способ 1 : Включите распознавание речи в панели управления.

Шаг 1: Откройте меню быстрого доступа с помощью сочетания клавиш Windows key+X и затем выберите Панель Управления .

Шаг 2: в панели управления выберите Легкость доступа чтобы войти в него.

Шаг 3: Как только вы щёлните на легкость доступа, откроется окно, выберите Запуск распознавания речи под вариантом распознавание речи.

Способ 2 : Откройте распознавания речи в » Приложения» на экране.

Шаг 1. на начальном экране (или интерфейс Metro), правой кнопкой нажмите на значок или в любой пустой области и в нижнем правом углу выберите Все приложения .

Шаг 2: на экране приложений, найдите Распознавание Речи Windows и откройте его с помощью мыши.

Способ 3 : Включите его через панель поиска.

Шаг 1: Откройте панель поиска с помощью клавиш ключей Windows+F ивведите в пустое поле распознавание речи и выберите в списке поиска Приложения .

Шаг 2: слева от панели поиска, когда появятся результаты поиска, можно выбрать Распознавание речи Windows .

2.Два способа, чтобы выключить распознавание речи в Windows 8/8 .1

Метод 1 : Выбрать кнопка закрытия в окне распознавание речи, чтобы выключить его.

Способ 2 : Использование ключ Alt+F4 чтобы закрыть его.

Теперь вы можете чувствовать себя свободно исследуя функцию распознавания речи в Windows 8/8 .1.

Операционная система Windows 7 оснащена многими опциями, которые дают все больше возможностей пользователям данной системы. В нее смогли внедрить весьма интересную функцию, которая носит название «распознование речи». Но что представляет собой данная система? Об этом и пойдет разговор.

Опция, о которой идет речь, позволяет применять в приложениях всей системы абсолютно новый способ взаимодействия пользователя с компьютером. Именно система «Распознавание речи Windows 7» допускает возможность управления компьютером, не используя при этом клавиатуру, мышь и другие средства.

Хочется отметить, что данная инновация будет доступна и в других продуктах Microsoft. Эта функция была замечена немного ранее, то есть ее попытались внедрить в Windows Vista, но в седьмой версии операционной системы компании Microsoft голосовое управление выполнено на более высоком уровне по сравнению с предшественником. Если сказать проще, такая опция, как распознавание речи Windows 7 стала еще более функциональной.

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

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

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

Функция распознавание речи Windows 7 используется в текстовом редакторе компании Microsoft - WordPad. Она безотказно функционирует при заполнении различных форм, а также хорошо себя проявляет в работе в Internet Explorer и при

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

Функция, конечно, феноменальная, но все же здесь есть одно «но». Все дело в том, что распознавание русской речи сейчас, в принципе, недоступно. Имеются отличные версии программы для английского, французского, немецкого и японского языка. Существуют также версии для китайской, испанской и итальянской речи.

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

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