@DidarCoder
.NET C#

Распознавание речи на C#?

Создал простую WinForm-программу, которая распознает речь, использовал библиотеку Microsoft.Speech. Всё отлично работает, но есть один минус и это создание грамматики. То есть понимает только определенные слова. Подскажите, как обходиться без создания грамматики, или посоветуйте другой офлайн-распознаватель речи без грамматики.

SpeechRecognitionEngine sre;
        CultureInfo ci;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            ci = new CultureInfo("ru-RU");
            sre = new SpeechRecognitionEngine(ci);
            sre.SetInputToDefaultAudioDevice();

            sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(Sre_SpeechRecognized);

            Choices ch = new Choices();
            ch.Add("Привет");

            GrammarBuilder gb = new GrammarBuilder();
            gb.Append(ch);

            Grammar grammar = new Grammar(gb);

            sre.LoadGrammar(grammar);
            sre.RecognizeAsync(RecognizeMode.Multiple);
        }

        private void Sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            if (e.Result.Confidence > 0.12)
            {
                MessageBox.Show(e.Result.Text);
            }
        }
  • Вопрос задан
  • 623 просмотра
Решения вопроса 1
@MaxKozlov
Vosk
Пробовал только на питоне, но c# интерфейс вроде присутствует
https://github.com/alphacep/vosk-api
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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