Система. Речь. Распознавание выбирая профиль распознавания

Кто-либо знает, как изменить профили распознавания из приложения.NET?

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

Я нашел панель управления Распознавания речи в окнах (Windows 7 в этом случае), где я могу настроить учебные профили. Устанавливание профиля для меня и выполнение учебного процесса значительно улучшили точность распознавания. Таким образом, я мог установить профили для каждого пользователя и сделать, чтобы они сделали учебный процесс, но затем я должен смочь выбрать правильный профиль в своем приложении.

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

6
задан Mark Kanof 25 January 2010 в 19:40
поделиться

2 ответа

sudo gem install mysql -v 2.7 -- -with-mysql-config =/usr/local/mysql/bin/mysql _ config также сделал трюк для меня при миграции на мой новый ноутбук Snow Leopard. Я использовал MacPorts не для установки mysql, а скорее двоичный, и мне не повезло с решениями флага арки или symlinks.

-121--1586742-

Этот код работает:

$in = Array("home", "about-us");
foreach ($in as $a) {

  ## this is the line you're looking for
  $out = preg_replace('/-?\b(.)/e', "strtoupper('$1')", $a);

  echo "$a  = $out<br/>";
}

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

-121--2880604-

Я не вижу способа сделать это через System.Speech.Recognition, но вы можете сделать это через speechlib (SAPI IDispatch-совместимый API). Посмотрите на ISpeechRecognizer:: Профиль .

Чтобы задать профиль, необходимо добавить

using SpeechLib;

к коду вместе с System.Speech.Recognition.

Сложной частью было бы получение профиля, который вы устанавливаете через SpeechLib, чтобы "придерживаться" во время создания System.Speech.RecognityEngine. Вероятно, я бы установил профиль по умолчанию (через SpeechLib), создал RecognableEngine и сбросил профиль по умолчанию.

(Я предполагаю, что вы не планируете использовать общий распознаватель, который не будет работать в многопользовательском сценарии)

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

4
ответ дан 17 December 2019 в 04:46
поделиться

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

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

Это довольно интересно, хотя я должен сказать.

0
ответ дан 17 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: