Member 14102365 Ответов: 1

Проект распознавания речи в C# проблема обнаружения голоса в клиентской системе. Нужно ли нам устанавливать какие-либо пакеты в пользовательской системе?


Проект распознавания речи в c# проблема обнаружения голоса в клиентской системе. Нужно ли нам устанавливать какие-либо пакеты в пользовательской системе?

Я создал проект в WPF с фоном c# для распознавания голоса. Код есть :
-----------------------------------------------------------------------------------------------------
в XAML Голосовая функция называется Loaded="BtnStart_Click"


Backend .cs код:

использование системы.Речь.Синтез;
использование системы.Речь.Распознавание;
использование системы.Диагностика;

частная BtnStart_Click недействительным(объект отправителя, RoutedEventArgs е)
{
btnStart.IsEnabled = false;
btnStop.Свойства isenabled = истина;
клист.Add(new string[] { "search", "1st standard", "1st Maths", "Chapter 1", "VML", "namaste", "how are you", "how can i help you", "open vidwath english", "thank you", "close", "10", "bio" });
Grammar gr = новая грамматика(clist);
//DictationGrammar defaultDictationGrammar = новый DictationGrammar();
//defaultDictationGrammar.Name = "диктовка по умолчанию";
//defaultDictationGrammar.Включен = истина;
пробовать
{
сре.RequestRecognizerUpdate();
сре.LoadGrammar(гр);
sre.SpeechRecognized += sre_SpeechRecognized;
сре.SetInputToDefaultAudioDevice();
sre.RecognizeAsync(RecognizeMode.Множественный);
ss.SpeakAsync("добро пожаловать в vidwath, какой класс вы хотите выбрать");

}
ловить
{
Ящик для сообщений.Показать("errror");
бросать;
}

}

sre_SpeechRecognized недействительным(объект отправителя, SpeechRecognizedEventArgs е)
{
переключатель (e.Результат.Текст.Метод toString())
{
корпус "1-й стандарт":
ss.SpeakAsync("добро пожаловать в 1-й стандарт, какую тему вы хотите выбрать");
класс1.PerformClick();
перерыв;
дело "10":
ss.SpeakAsync("добро пожаловать в 10-й стандарт, какую тему вы хотите выбрать");
вебв.Source = новый Uri("http://172.16.16.89/cbse/");
перерыв;

кейс "био":
ss.SpeakAsync("добро пожаловать в 10-ю стандартную биографию");
вебв.Source = новый Uri("http://172.16.16.89/cbse/course/index.php?categoryid=18");
перерыв;



Кейс "1-я математика":
ss.SpeakAsync("добро пожаловать в 1-й стандарт математики, Какую главу вы хотите выбрать");
class1_M.PerformClick();
перерыв;

дело "Глава 1":
ss.SpeakAsync("добро пожаловать в Главу 1, Какой вариант вы хотите выбрать");
Std1MT1.PerformClick();
перерыв;

чехол "ВМЛ":
ss.SpeakAsync("добро пожаловать в VML, чтобы вернуться, используйте команду go back");
Std1MT1VML.PerformClick();
перерыв;

кейс "Намасте":
ss.SpeakAsync("добро пожаловать в vidwath");

перерыв;

"как ты":
ss.SpeakAsync("отлично");
перерыв;

кейс "чем я могу вам помочь":
ss.SpeakAsync("пожалуйста, откройте программное обеспечение vidwath");
перерыв;

дело "открытой vidwath английский":
Процесс."Пуск" ("хром", "http://vidwath.com");
перерыв;

кейс "спасибо":
ss.SpeakAsync("добро пожаловать, спасибо за использование приложения vidwath");
перерыв;



}
txtContent.Текст += e.Result.Text.ToString() + Environment.NewLine;
}
----------------------------------------------------------------------------------------------------

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

Вторая проблема заключается в том, что когда я даю ввод, если я говорю 1-й стандарт, он будет принят как 10-й стандарт.

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

Что я уже пробовал:

Скопированный "C:\Program файлы (x86)\ссылочные сборки\Microsoft\Framework\.NETFramework\v4.5" к клиентской системе.

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

Afzaal Ahmad Zeeshan

Мы когда-то сталкивались с подобными проблемами, дело в том, что система.Речь-это действительно старая технология и не очень помогает.

Я рекомендую использовать другие библиотеки или рассмотреть для этого распознавание речи на базе Windows 10. Если нет, попробуйте воспользоваться для этого онлайн-сервисом.

Member 14102365

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

1 Ответов

Рейтинг:
0

Nathan Minier

У вас есть две проблемы:

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

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