Создание распознавания речи в C# распознавание фраз из заданного словаря в непрерывной речи
Я пытаюсь распознать инструкции с помощью распознавания речи в C#. Эти инструкции состоят из словаря заданных фраз, которые я знаю. До сих пор ничто не работает так, как мне нужно, так как мне нужно уметь распознавать эти фразы, когда они немедленно следуют друг за другом в непрерывной речи. В зависимости от первой фразы инструкции словарь для следующей отличается, но я, вероятно, смогу заставить это работать, даже если смогу распознавать все эти фразы в любое время.
Я действительно искал решения и пытался заставить это работать, но в настоящее время я не знаю, что делать, так как в настоящее время ничто не соответствует моим ожиданиям. Надеюсь, кто-нибудь сможет придумать лучшее решение этой проблемы. Я открыт для любых решений, включая использование других API, до тех пор, пока они будут работать в автономном режиме (и желательно бесплатно).
Что я уже пробовал:
Я попробовал использовать встроенный Система.Речь.Распознавание ИНТЕРФЕЙС ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ. Используя словарь диктанта, точность недостаточно хороша для того, чтобы я мог работать с ним. Я попытался использовать указанную грамматику, но проблема здесь в том, что она не может распознать фразы, когда они сразу следуют друг за другом.
Я также нашел метод PauseRecognizerOnRecognition, который, похоже, является чем-то вроде того, что я ищу. Но это, похоже, работает только для SpeechRecognizer, а не SpeechRecognitionEngine. Однако для моих нужд всплывающие окна и звуки, создаваемые при использовании SpeechRecognizer, нежелательны, и я все равно не смог заставить его работать.
I managed to get a little further using the Append method in GrammarBuilder. Thanks to this I can now have a set of phrases immediately following each other recognized. One of my issues with this approach is, that depending on the start of the instruction I may expect a different amount of phrases to follow it. The only solution here would be to add all the possible phrases as well as their variations with optional parts at the end. This would not only be tedious but likely very inefficient. For my use case, the phrases I expect to follow differ depending on what precedes them. Unfortunately, there doesn't seem to be any way to recognize the phrases fast enough to be able to say which phrases to expect afterward nor did I find a way to buffer the input waiting for the first part to be recognized and processing the following one based on what is said in the first. The recognition just doesn't seem to be quick enough whatever I do to even recognize the following phrase from a specified vocabulary let alone change the vocabulary based on what has been said.