- Start windows speech recognition
- Распознавание речи Speech recognition
- Настройка распознавания речи Configure speech recognition
- Распознавание речевого ввода Recognize speech input
- Предопределенные грамматики Predefined grammars
- Программные ограничения списка Programmatic list constraints
- Грамматики для SRGS SRGS grammars
- Ограничения команды Voice Voice command constraints
- Настройка пользовательского интерфейса распознавания Customize the recognition UI
- Связанные статьи Related articles
Start windows speech recognition
Так как я видел мой первый Sci-Fi кино фильм, я хотел бы иметь технологии которые они используют. Я до сих пор не видел летающих кораблей в таком масштабе, телепортация устройств, роботов, которые могут танцевать или других подобных устройств. Тем не менее, я нашел кусок этой мечты включенной в приложение Windows Vista — Windows Speech Recognition — Распознавание речи .
Этот инструмент пытается понять, что вы говорите и преобразует произнесенные слова в машиночитаемый ввод, такой как нажатие клавиш или Windows команды, ограничивая тем самым необходимость использования мыши и клавиатуры. В этом уроке я покажу вам, как настроить Windows Speech Recognition — Распознавание речи Windows , и научу как использовать её и дать вам некоторые сведения об общих вопросах по этому приложению. Для того чтобы использовать Windows Speech Recognition – Распознавание речи Windows вам нужен микрофон. Чтобы узнать, как настроить его, читайте статью о том, как установить и настроить микрофон в Vista.
Как установить Windows Speech Recognition
После того как вы установили свой микрофон, вfv нужно тренироваться c Распознаванием речи в Windows , чтобы понять ваш голос. Чтобы сделать это, откройте окно Control Panel – Панель управления и нажмите на Ease of Access – Получить доступ .
Если вы используете классическое управление Группами, перейдите в Control Panel -> Ease of Access Center – Панель управления-> Центр Специальных возможностей . Когда вы находитесь в окне Ease of Access Постой доступ , нажмите на Speech Recognition Options – Функции распознавания речи.
В окне Speech Recognition Options – Функции распознавания речи нажмите на Start Speech Recognition – Начать Распознавание речи .
Появится Мастер установки . Чтобы начать настройку, нажмите на кнопку Next – Следующий.
Выберите устройства микрофон , которые в настоящее время используются и нажмите на кнопку Next – Следующая .
Если следовать данным указаниям , они дадут вам лучший результат. В моем случае, так как я выбрал микрофон с гарнитурой, указания были, как показано ниже. После прочтения и после данной консультации, нажмите кнопку Next – Следующая.
Примечание: Если вы случайно выбрали неверное устройство или вы просто хотите, чтобы вернуться к предыдущей странице Настройка, нажмите на синюю стрелку Back – назад в левом верхнем углу окна мастера установки.
Прочитайте текст вслух, после чего нажмите кнопку Next- Следующая .
Эта процедура, может быть немного с ошибками, поэтому вы можете повторить её несколько раз, и отрегулировать положение микрофона и его расстояние от динамиков .
Примечание: Если вы уже пытались несколько раз сделать настройки, и микрофон еще не работает, закройте мастер и проверьте статю о том, как установить и настроить Микрофон. Когда микрофон установлен правильно, повторите процедуру, описанную в этой статье.
Если вы читали текст и нажали кнопку Next – Далее , мастер скажет, что микрофон был установлен. Нажмите на кнопку Next — Готово.
После настройки микрофона, мастер попытается повысить точность распознавания речи. Мастер установки спросит вашего разрешения, чтобы приложение усовершенствовалось, используя тексты из документов или по почте. После того как вы выберите нужный вариант, щелкните Next — Далее .
В настоящее время мастер даст вам ссылку на карту речи , которая содержит список команд компьютера, на которые он будет отвечать. Если вы нажмете на View Reference Sheet – Показать лист ссылок , Вы можете видеть команды, а также распечатать их.
Когда закончите, нажмите кнопку Next — Далее .
Примечание: лист ссылок можно прочитать и распечатать в любое дополнительное время, просто зайдите в Access -> Speech Recognition Options -> Open the Speech Reference Card — Панель управления-> Специальные возможности-> Параметры распознавания речи-> открыть Карту ссылок речи .
Можно сделать приложение ,которое запускается каждый раз при запуске Windows Vista , проверяя вариант “Run Speech Recognition at startup – Выполнить Распознавание речи при запуске ” . Если вы оставите его без внимания, приложение нужно будет запускать каждый раз в ручную , когда вы захотите его использовать.
Узнайте, как использовать Windows Speech Recognition
Как только вы закончите с настройкой, вам будет предложено пройти урок и научиться его использовать. Нажмите на вход для входа в Учебник.
ВАЖНО: Я не могу дать вам указания о содержании учебника. Я считаю, что руководство хорошо написано и содержит всю необходимую информацию. Пожалуйста, найдите время 10-15 минут, чтобы прочитать это. Хотя это может показаться на первый взгляд разочарованием,но в итоге , вы будете довольны результатами.
Если вы закончили урок, и вы думаете, что Распознавание речи Windows не слышит голосовые команды достаточно хорошо, Вы можете взять тот же учебник снова. Для этого перейдите в параметры Windows Speech Recognition – Распознавание речи и нажмите Take Speech Tutorial – Возьмите Учебник речи .
Если вы прочитали учебник, но вы все ещё чувствуете необходимость улучшения методов в работе с Распознаванием речи в Windows , вы можете сделать еще один учебник на основе чтения текстов. Чтобы открыть и использовать текстовый учебник, нажмите ‘ Train you computer to better understand you – Тренировка вашего компьютера, чтобы лучше понять вас ” находится в окне параметры Speech Recognition Options – Распознавание речи.
Рекомендации: Пройдите уроки ‘ Train your computer to better understand you – Обучение компьютеру, чтобы лучше его понять “ несколько раз. Даже если вы делаете ошибки первые несколько раз, менее чем за 3 дня и пару часов в день, вы будете удивляться, как вы могли жить без этого приложения. Вместо того, чтобы закрыть приложение, просто нажмите остановить прослушивание или нажмите с клавиатуры Ctrl + Windows .
Известные проблемы
Некоторые приложения могут не работать с Распознаванием речи в Windows . Это потому, что приложения должны иметь поддержку текстовых служб. Структура была построена Microsoft, чтобы включить дополнительный ввод текста, распознавание речи и поддержку в приложениях. Таким образом, если разработчики не включили Text Services Framework , когда они построили их применения, Распознавание речи в Windows не будет работать должным образом с их применением.
Распознавание речи в Windows не работает, когда появится предупреждение UAC (User Account Control) . В таких случаях с помощью мыши или клавиатуры, выберите опцию UAC которую вы хотите.
Распознавание речи Speech recognition
С помощью функции распознавания речи можно вводить данные, указывать действия или команды и выполнять задачи. Use speech recognition to provide input, specify an action or command, and accomplish tasks.
Для распознавания речи используется специальная среда выполнения, API распознавания для программирования среды выполнения, готовые грамматики для диктовки и веб-поиска, а также системный пользовательский интерфейс по умолчанию, который помогает пользователям обнаруживать и использовать функции распознавания речи. Speech recognition is made up of a speech runtime, recognition APIs for programming the runtime, ready-to-use grammars for dictation and web search, and a default system UI that helps users discover and use speech recognition features.
Настройка распознавания речи Configure speech recognition
Для поддержки распознавания речи в приложении пользователь должен подключить и включить микрофон на устройстве, а также принять политику конфиденциальности Майкрософт, предоставив приложению разрешение на его использование. To support speech recognition with your app, the user must connect and enable a microphone on their device, and accept the Microsoft Privacy Policy granting permission for your app to use it.
Чтобы автоматически запрашивать у пользователя диалоговое окно, запрашивающее разрешение на доступ и использование канала звука микрофона (пример из примера распознавания речи и синтеза речи ), просто установите функцию микрофона в манифесте пакета приложения. To automatically prompt the user with a system dialog requesting permission to access and use the microphone’s audio feed (example from the Speech recognition and speech synthesis sample shown below), just set the Microphone device capability in the App package manifest. Дополнительные сведения см. в разделе объявления возможностей приложений. For more detail, see App capability declarations.
Если пользователь нажмет кнопку Да для предоставления доступа к микрофону, приложение будет добавлено в список утвержденных приложений на странице Параметры > конфиденциальность — > микрофон. If the user clicks Yes to grant access to the microphone, your app is added to the list of approved applications on the Settings -> Privacy -> Microphone page. Однако, так как пользователь может отключить этот параметр в любое время, прежде чем пытаться использовать его, убедитесь, что приложение имеет доступ к микрофону. However, as the user can choose to turn this setting off at any time, you should confirm that your app has access to the microphone before attempting to use it.
Если также требуется поддержка диктофона, Кортаны или других служб распознавания речи (например, предопределенной грамматики , определенной в ограничении раздела), необходимо также убедиться в том, что включено Распознавание речи в сети (параметры-> конфиденциальность-> речи). If you also want to support dictation, Cortana, or other speech recognition services (such as a predefined grammar defined in a topic constraint), you must also confirm that Online speech recognition (Settings -> Privacy -> Speech) is enabled.
В этом фрагменте кода показано, как приложение может проверить наличие микрофона и наличие у него разрешения на его использование. This snippet shows how your app can check if a microphone is present and if it has permission to use it.
Распознавание речевого ввода Recognize speech input
В ограничении определяются слова и фразы (словарь), которые приложение распознает в речевом вводе. A constraint defines the words and phrases (vocabulary) that an app recognizes in speech input. Ограничения являются основой для распознавания речи и предоставляют приложению больший контроль над точностью распознавания речи. Constraints are at the core of speech recognition and give your app greater control over the accuracy of speech recognition.
Для распознавания речевого ввода можно использовать следующие типы ограничений. You can use the following types of constraints for recognizing speech input.
Предопределенные грамматики Predefined grammars
Предопределенные грамматики диктовки и веб-поиска обеспечивают распознавание речи в приложении без необходимости создавать грамматику. Predefined dictation and web-search grammars provide speech recognition for your app without requiring you to author a grammar. Когда используются эти грамматики, распознавание речи выполняется удаленной веб-службой, а результаты возвращаются на устройство. When using these grammars, speech recognition is performed by a remote web service and the results are returned to the device.
Стандартная грамматика для диктовки в свободной форме может распознавать большинство слов и фраз, произносимых пользователем на данном языке, и оптимизирована для распознавания коротких фраз. The default free-text dictation grammar can recognize most words and phrases that a user can say in a particular language, and is optimized to recognize short phrases. Предопределенная грамматика для диктовки используется, если для объекта SpeechRecognizer не заданы никакие ограничения. The predefined dictation grammar is used if you don’t specify any constraints for your SpeechRecognizer object. Диктовка в свободной форме удобна, если не нужно ограничивать область высказываний пользователя. Free-text dictation is useful when you don’t want to limit the kinds of things a user can say. Обычно она используется для создания текстов заметок и диктовки сообщений. Typical uses include creating notes or dictating the content for a message.
Грамматика веб-поиска, например грамматика диктовки, содержит большое количество слов и фраз, которые пользователь может произнести. The web-search grammar, like a dictation grammar, contains a large number of words and phrases that a user might say. Однако она оптимизирована для распознавания терминов, которыми люди обычно используются, выполняя поиск в Интернете. However, it is optimized to recognize terms that people typically use when searching the web.
Поскольку предопределенные грамматики для диктовки и веб-поиска могут иметь большой размер и размещаются в сети (а не на устройстве), они могут уступать в производительности настраиваемым грамматикам, установленным на устройстве. Because predefined dictation and web-search grammars can be large, and because they are online (not on the device), performance might not be as fast as with a custom grammar installed on the device.
Эти предопределенные грамматики можно использовать для распознавания до ввода речи продолжительностью до 10 секунд, и для этого не потребуется никаких доработок с вашей стороны. These predefined grammars can be used to recognize up to 10 seconds of speech input and require no authoring effort on your part. Однако потребуется подключение к сети. However, they do require a connection to a network.
Чтобы использовать ограничения веб-службы, в меню Параметры необходимо включить поддержку речевого ввода и диктовки в разделе «Познакомьтесь со мной» в разделе Параметры -> Конфиденциальность -> Голосовые функции, рукописный ввод и ввод с клавиатуры . To use web-service constraints, speech input and dictation support must be enabled in Settings by turning on the «Get to know me» option in Settings -> Privacy -> Speech, inking, and typing .
Здесь показано, как проверить, включен ли голосовой ввод, и если нет, как открыть страницу «Параметры» -> «Конфиденциальность» -> «Голосовые функции, рукописный ввод и ввод с клавиатуры». Here, we show how to test whether speech input is enabled and open the Settings -> Privacy -> Speech, inking, and typing page, if not.
Сначала мы инициализируем глобальную переменную (HResultPrivacyStatementDeclined) до значения HResult 0x80045509. First, we initialize a global variable (HResultPrivacyStatementDeclined) to the HResult value of 0x80045509. См. раздел обработка исключений для в C # или Visual Basic. See Exception handling for in C# or Visual Basic.
Затем мы отберем все стандартные исключения во время распознавания и проверим, равно ли значение HResult значению переменной HResultPrivacyStatementDeclined. We then catch any standard exceptions during recogntion and test if the HResult value is equal to the value of the HResultPrivacyStatementDeclined variable. При положительном результате мы отобразим предупреждение и вызовем await Windows.System.Launcher.LaunchUriAsync(new Uri(«ms-settings:privacy-accounts»)); , чтобы открыть страницу «Параметры». If so, we display a warning and call await Windows.System.Launcher.LaunchUriAsync(new Uri(«ms-settings:privacy-accounts»)); to open the Settings page.
Программные ограничения списка Programmatic list constraints
Программные ограничения-списки представляют упрощенный подход к созданию простой грамматики с использованием списка слов или фраз. Programmatic list constraints provide a lightweight approach to creating simple grammars using a list of words or phrases. Для распознавания коротких четких фраз удобно использовать ограничения-списки. A list constraint works well for recognizing short, distinct phrases. Явно указание всех слов в грамматике также повышается точность распознавания, так как подсистема распознавания речи должна обрабатывать голосовые данные только в рамках подтверждения соответствия. Explicitly specifying all words in a grammar also improves recognition accuracy, as the speech recognition engine must only process speech to confirm a match. Список можно также обновлять программными средствами. The list can also be programmatically updated.
Ограничение-список состоит из массива строк, представляющих ввод речи, принимаемый приложением для операции распознавания. A list constraint consists of an array of strings that represents speech input that your app will accept for a recognition operation. Чтобы создать ограничение-список в приложении, создайте объект ограничения-списка для распознавания речи и передайте ему массив строк. You can create a list constraint in your app by creating a speech-recognition list-constraint object and passing an array of strings. Затем добавьте этот объект в коллекцию ограничений распознавателя. Then, add that object to the constraints collection of the recognizer. Когда распознаватель речи распознает любую из строк в массиве, распознавание завершается успешно. Recognition is successful when the speech recognizer recognizes any one of the strings in the array.
Грамматики для SRGS SRGS grammars
Грамматика SRGS – это статический документ, который, в отличие от программного ограничения-списка, использует формат XML, определенный в спецификации SRGS Version 1.0. An Speech Recognition Grammar Specification (SRGS) grammar is a static document that, unlike a programmatic list constraint, uses the XML format defined by the SRGS Version 1.0. Грамматика SRGS предоставляет больший контроль над распознаванием речи и позволяет создавать несколько семантических значений в одном распознавании. An SRGS grammar provides the greatest control over the speech recognition experience by letting you capture multiple semantic meanings in a single recognition.
Ограничения команды Voice Voice command constraints
С помощью XML-файлов определения голосовых команд можно задать команды, которые пользователь может произносить, чтобы выполнять определенные действия при активации вашего приложения. Use a Voice Command Definition (VCD) XML file to define the commands that the user can say to initiate actions when activating your app. Дополнительные сведения см. в статье Активация приложения переднего плана с голосовыми командами с помощью кортаны. For more detail, see Activate a foreground app with voice commands through Cortana.
Примечание . Тип ограничения, который вы используете, зависит от сложности процесса распознавания, который вы хотите создать. Note The type of constraint type you use depends on the complexity of the recognition experience you want to create. Каждый может оказаться наилучшим для конкретной задачи распознавания, и в приложении может найтись место всем типам ограничений. Any could be the best choice for a specific recognition task, and you might find uses for all types of constraints in your app. Сведения об ограничениях см. в статье Определение настраиваемых ограничений распознавания. To get started with constraints, see Define custom recognition constraints.
Предопределенная грамматика универсального приложения для Windows для диктовки распознает большинство слов и коротких фраз в заданном языке. The predefined Universal Windows app dictation grammar recognizes most words and short phrases in a language. По умолчанию она активируется, когда создается экземпляр объекта распознавателя речи без настраиваемых ограничений. It is activated by default when a speech recognizer object is instantiated without custom constraints.
В этом разделе мы покажем, как: In this example, we show how to:
- Создать распознаватель речи. Create a speech recognizer.
- Скомпилировать ограничения универсального приложения для Windows по умолчанию (в набор грамматик распознавателя речи не добавлены грамматики). Compile the default Universal Windows app constraints (no grammars have been added to the speech recognizer’s grammar set).
- Начать прослушивание речи с помощью простого интерфейса распознавания и результатов преобразования текста в речь, передаваемых методом RecognizeWithUIAsync. Start listening for speech by using the basic recognition UI and TTS feedback provided by the RecognizeWithUIAsync method. Если пользовательский интерфейс по умолчанию не требуется, используйте метод RecognizeAsync. Use the RecognizeAsync method if the default UI is not required.
Настройка пользовательского интерфейса распознавания Customize the recognition UI
Когда ваше приложение пытается распознать речь при помощи вызова SpeechRecognizer.RecognizeWithUIAsync, отображаются несколько экранов в следующем порядке. When your app attempts speech recognition by calling SpeechRecognizer.RecognizeWithUIAsync, several screens are shown in the following order.
Если вы используете ограничение на базе предварительно заданной грамматики (диктовки или веб-поиска): If you’re using a constraint based on a predefined grammar (dictation or web search):
- Экран Слушаю . The Listening screen.
- Экран Думаю . The Thinking screen.
- Экран Я услышал или экран ошибки. The Heard you say screen or the error screen.
Если вы используете ограничение на базе списка слов или фраз или ограничение на базе грамматического файла SRGS: If you’re using a constraint based on a list of words or phrases, or a constraint based on a SRGS grammar file:
- Экран Слушаю . The Listening screen.
- Экран Вы сказали , если сказанное пользователем можно интерпретировать по-разному. The Did you say screen, if what the user said could be interpreted as more than one potential result.
- Экран Я услышал или экран ошибки. The Heard you say screen or the error screen.
На следующем изображении представлен пример потока между экранами распознавателя речи, использующего ограничение на базе грамматического файла SRGS. The following image shows an example of the flow between screens for a speech recognizer that uses a constraint based on a SRGS grammar file. В этом примере распознавание речи прошло успешно. In this example, speech recognition was successful.
Экран Слушаю может предоставлять примеры слов или фраз, которые приложение может распознать. The Listening screen can provide examples of words or phrases that the app can recognize. Здесь мы покажем, как использовать свойства класса SpeechRecognizerUIOptions (его можно получить, вызвав свойство SpeechRecognizer.UIOptions) для настройки содержимого на экране Слушаю . Here, we show how to use the properties of the SpeechRecognizerUIOptions class (obtained by calling the SpeechRecognizer.UIOptions property) to customize content on the Listening screen.
Связанные статьи Related articles
Примеры Samples