→ Распознавание русской речи windows. Распознавание речи с применением настольных.NET-приложений. Какие настройки доступны при распознавании голоса Андроидом

Распознавание русской речи windows. Распознавание речи с применением настольных.NET-приложений. Какие настройки доступны при распознавании голоса Андроидом

Управление с помощью сенсорного экрана - это уже стандарт. Новейшие системы, такие как Windows 8 «понимают» голосовые команды.Распознавание речи должно привести к тому, что наша связь с компьютером будет еще проще, интуитивнее и… естественнее. Я расскажу как это выглядит на сегодняшний момент.

НЕМНОГО ИСТОРИИ - КАК РАЗВИВАЛОСЬ ОБЩЕНИЕ С МАШИНОЙ

Способы общения с компьютером развивались на протяжении многих лет. Первым интерфейсом, через который человек мог давать команды были перфокарты, которые восходят к 1832 году. Они использовались в машинах для производства ткани. Клавиатуру же начали использовать в 1960 году. Два десятилетия спустя присоединилась стандартная мышь и используется по сей день. Хотя мышь поделилась полномочиями с трекпадом, но она все еще самый популярный вид управления. Благодаря смарфонам и планшетам стал очень популярным сенсорный интерфейс и жесты, которые используются, в частности,для управление Xbox 360 Kinect. После сенсорных экранов и жестов, идет голосовое управление, но это решение до сих пор было так слаборазвито, что порой о ней и не услышишь.

НАСТРОЙКА РАСПОЗНАВАНИЯ РЕЧИ В WINDOWS 8

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

Если вы все еще хотите протестировать это решение, необходимо настроить систему(изменить язык) и выучить пару слов на английском. Чтобы сделать это, необходимо перейти в панель управления, и выбрать пункт Язык. Если у вас нет другого языка, кроме русского, необходимо нажать кнопку «Добавить язык», а затем выбрать один из поддерживаемых языков. В нашем случае это «Английский (США)». Видим, что доступна только раскладка на этом языке, два раза кликаем, пойдет проверка доступности языка для интерфейса, после проверки нажимаем «Загрузить и установить языковой пакет», и пойдет процесс, терпеливо ждем когда загрузится. Как только этот процесс завершится, установите английский языком по умолчанию

Теперь нужно перейти на начальный экран Windows 8 (плиточный), в поиск ввести «Windows Speech Recognition» и нажать Enter.

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

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

КАК РАБОТАТЬ

Для того чтобы компьютер начал распознавать вашу речь необходимо сказать «start listening» (что означает начать слушать), или нажмите кнопку микрофона для запуска режима прослушивания. Теперь можно открыть приложение или просто диктовать слова в текстовый редактор, строку браузера или поиска

ЧТО МЫ МОЖЕМ ДЕЛАТЬ

В принципе возможности огромны, кроме стандартных слов можно создавать свои команды. Основные возможности приведены в таблице

Действие Что сказать
Выберите любой элемент по его имени Click File,Start,View
Выберите любой элемент или значок Click Recycle Bin,Click Computer,Click(название файла)
Дважды нажмите или дважды щелкните любой элемент Double-clickRecycle Bin,Double-click Computer
Переключение между открытыми приложениями Switch to Paint,Switch to WordPad

Прокрутка

Scroll up; Scroll down;
Scroll left; Scroll right

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

New paragraph; New line

Выберите слово в документе

Корректировка слова

Correct word

Выберите и удалите определенные слова

Показать перечень применимых команд

Refresh speech commands

Включите режим прослушивания

Отключите режим прослушивания

Свернуть микрофон

Minimize speech recognition

Посмотреть Windows, справки и поддержку

How do I do something?
Например:How do I install a printer?

Если вы не знаете, как произносится фраза, я предлагаю вам использовать Google Translate или http://училочка.рф (этого сайта он лучше понимал)

Было у меня желание записать свои команды состоящих из простых буржуйских слов. Которые я могу выговорить. Так он мне и не дал этого сделать, не сумел запустить редактор команд. В итоге он отлично понимал мое произношение слов One, Two и Open. Этим набором можно запустить приложение по номеру в начальном экране. Сначала сказать номер, потом сказать OPEN. Не густо конечно, но я считаю эксперимент удавшимся. Было бы не плохо, если бы 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).

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

Примечание : распознавание речи доступно только на следующих языках: английский (США и Великобритания), французский, испанский, китайский, мандаринский (упрощенный и традиционный китайский) и немецкий.

Настройка распознавания речи в Windows 8.1

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

Чтобы настроить микрофон

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

  1. В поле поиска введите текст Настройка микрофона Настройка микрофона .
  2. Следуйте инструкциям, появляющимся на экране.

Примечание : Если это возможно, используйте микрофон гарнитуры из-за меньше вероятность перехвата фоновых шумов.

Как обучить компьютер распознаванию речи

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

  1. Панель Поиск также можно открыть при помощи клавиатуры, нажав клавиши Win + Q .
  2. В поле поиска введите текст Распознавание речи , а затем нажмите клавишу или выберите пункт Распознавание речи .
  3. Нажмите кнопку Научить компьютер .
  4. Следуйте инструкциям, появляющимся в процессе обучения распознаванию голоса.

Использование распознавания речи

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

Для того, чтобы диктовать текст с помощью распознавания речи Windows 8.1

  1. Быстро сдвиньте палец внутрь от правого края экрана, а затем нажмите панель Поиск. (Если вы используете мышь, выберите в верхний правый угол экрана, переместите указатель мыши вниз, а затем выберите панель Поиск).
  2. Панель Поиск также можно открыть при помощи клавиатуры, нажав клавиши Win + Q .
  3. В поле поиска введите текст распознавание речи , а затем нажмите клавишу или выберите пункт Распознавание речи Windows .
  4. Скажите «начать слушать» или нажмите кнопку на микрофоне, чтобы активировать режим прослушивания.
  5. Откройте приложение, которое вы хотите использовать или выделите текстовое поле, для которого вы хотите диктовать текст.
  6. Произнесите текст, который вы хотите диктовать.

Чтобы исправить ошибки

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

Чтобы добавить или изменить слова в Словаре

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

  1. Быстро сдвиньте палец внутрь от правого края экрана, а затем нажмите панель Поиск. (Если вы используете мышь, выберите верхний правый угол экрана, переместите указатель мыши вниз, а затем выберите панель Поиск).
  2. Панель Поиск также можно открыть при помощи клавиатуры, нажав клавиши Win + Q .
  3. В поле поиска введите текст распознавание речи , а затем нажмите клавишу или выберите пункт Распознавание речи Windows .
  4. Скажите «начать слушать» или нажмите на кнопку микрофона, чтобы активировать режим прослушивания.
  5. Скажите «Открыть Словарь речи» и выполните одно из следующих действий:
    • Чтобы добавить слово в словарь, скажите «Добавить новое слово», а затем следуйте инструкциям на экране.
    • Чтобы предотвратить диктовку определенного слова, скажите «Запретить диктовку слова», а затем следуйте инструкциям на экране.

Управление компьютером с помощью распознавания речи

Примечание : Каждый раз, когда нужно проверить, какие команды можно использовать, скажите: «Что я могу сказать?»

Чтобы... Скажите это...

Открыть экран запуска

Открыть панель панель функций

Открыть панель Поиск

Показать все приложения

Приложения

Начать работу с приложением

Щелкните правой кнопкой мыши и скажите Windows С

Использовать приложения

Скажите, что вы хотите сделать. Например, измените на градус по Цельсию в приложении Погода.

Выбрать любой элемент, используя его имя

Скажите Файл; Пуск; Вид

Выбрать любой элемент или значок

Скажите Корзина; Скажите Компьютер; Скажите имя файла

Дважды щелкнуть на элементе

Дважды щелкните Корзину; Дважды щелкните Компьютер; Дважды щелкните имя файла

Перейти к открытому приложению

Отсылка к Paint; Перейти к WordPad; Перейти к название программы; Перейти к приложению

Прокрутить в нужном направлении

Выполните прокрутку вверх; Прокрутите вниз; выполните Прокрутку влево; выполните Прокрутку вправо

Вставить новый абзац или строку в документе

Новый абзац; новая строка

Выделить слово в документе

Установите выражение

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

Исправьте выражение

Выделить и удалить конкретные слова

Удалить выражение

Показать список команд, которые можно выполнить

Что я могу сказать?

Обновление списка доступных команд речи

Обновить речевые команды

Включить режим прослушивания

Начните слушать

Отключить режим прослушивания

Перестать слушать

Переместить панель микрофона, функции распознавания речи

Переместите распознавание речи

Свести к минимуму панель микрофона

Свернуть распознавание речи

Просмотреть содержимое Справки и поддержки Windows, касающуюся конкретных задач

Как что-то сделать?

Скажите, например, «Как установить принтер?»

Обратите внимание, что эта команда доступна только в случае использования распознавания речи на английском языке (США).

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

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

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

Распознавание речи в Windows 8.1.

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

Дальше вам зададут серию вопросов, после которых предложат ознакомится с обучающим руководством. Выполнение шагов из этого руководства значительно облегчает обучение Windows. Лучше потратить некоторое время и обучить Windows 8.1 распознавать конкретно вашу речь.

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

В принципе программа распознавания речи в Windows 8.1 работает превосходно.

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

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

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

  • Запускать по названию программы, например, слова Калькулятор, Word или Excel, запускают соответствующую программу
  • Переключать по названию программы, переключает на программу, если она уже запущена.
  • Вы можете управлять программами имеющими выпадающие меню, говоря название меню и затем название нужной опции. Эта функция также работает на ленточных элементах управления в Windows 8.1, Microsoft Office, и других использующих их программах.
  • Показывать номера, выводит на экран наложенные на средства управления номера, которые в дальнейшем можно называть для их активации.
  • На веб-странице можно перейти по ссылке, просто назвав ее; например, связаться с нами.
  • Можно активировать щелчок по элементу, говоря двойной щелчок или альтернативно щелчок правой кнопкой по определенному элементу; например, корзина двойной щелчок.
  • Начать прослушивание/остановить, включает или выключает систему распознавания речи.
  • Что я могу сказать? Выведет на экран справку.
  • Показать речевые опции, выводит на экран список опций для речевого устройства распознавания; также доступно щелчком правой кнопкой.
  • Показать/скрыть распознавание речи, устройство распознавания речи будет минимизироваться в системный трей или возвращаться на рабочий стол.

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

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

И Windows 7 64 и SpeechPlatformRuntime для 64 установил. В поле поиска введите текст распознавание речи, а затем нажмите клавишу или выберите пункт Распознавание речи Windows. У меня Windows 7 x64. В панели задач все установилось (и русский голос, и распознавание речи),а в программе “Балаболка” нет в списке русского языка (настройки>голос). Панель Поиск также можно открыть при помощи клавиатуры, нажав клавиши с логотипом Windows+Q.

Голосовые файлы используют множество программ – читалки, говорилки, синтезаторы речи и т. п. программы. Парень, который платил за проезд, кричит в ответ: Это я так ДАЛ, за себя и за девушку! При выполнении команды комп также скажет, какого он пола. И в заключение ещё пару слов о голосовых файлах.

Для того, чтобы диктовать текст с помощью распознавания речи Windows 8.1

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

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

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

Использование распознавания речи

Как обучить компьютер распознаванию речи

Например, стандартная плата распознавания речи VR/160, выпускаемая Dialogic, может «обслужить» до 16 каналов одновременно, а возможности VRSoft ограничены четырьмя каналами. В компьютерной телефонии применяются все три режима распознавания речи. Распознавание речи с настройкой на голос используется в различных системах, имеющих конкретного хозяина (хозяев).

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

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

Словари для распознавания слитной речи имеются только для небольшого количества языков — английского, французского, немецкого, испанского, корейского и еще нескольких. Другой пример системы, работающей с распознаванием речи на русском языке — система подбора кадров, продукт компании Артикс.

Перевод аудио в текст

Произнесенный номер распознается системой и заносится в базу данных. Обратная операция по отношению к распознаванию речи — преобразование текст-речь. Так называется технология, позволяющая генерировать речь по тексту. В качестве аппаратной базы для реализации подобных систем можно применять любую компьютерную аппаратуру для воспроизведения оцифрованной речи. В частности, для этого подойдет и Sound Blaster.

Русский голос для Windows

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

Как включить Cortana на Windows 10 в России

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

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

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

Чтобы добавить или изменить слова в Словаре

Эта функция позволяет убедиться, что Ваша команда распознана системой и готова для выполнения. Библиотека распознавания голосовых команд VoiceCom составляет ядро описанных выше программ VoiceNavigator и Truffaldino. При этом связь текста и речи устанавливается автоматически. И хотя они не позволяют выполнять эту работу без клавиатуры и мыши, все же их применение может ускорить набор текста, особенно для людей с ограниченными возможностями.

Система будет выполнять распознавание в фоновом режиме. Можно выделить фрагменты текста и голосом. Другие примеры Вы найдете в документации к пакету MicrosoftOfficeXP и в справочной системе. Это компьютерный транскрайбер, а также системы Нестор и Аллегро. Evernote не преобразует аудиозаписи в текст и не позволяет искать аудиозаметки по словам записи. Самые современные устройства поддерживают преобразование речи в текст, если вы включите эту функцию.

Благодаря распознаванию речи в Windows использование клавиатуры и мыши не является обязательным. В пункте распознавания языка выберите английский. Средства распознавания речи, поставляющиеся в составе MicrosoftOfficeXP, можно использовать со всеми приложениями пакета, такими как MicrosoftWord, MicrosoftExcel и т.д. Именно эту технику, как правило, и имеют в виду, говоря о преобразовании текст-речь.

 

 

Это интересно: