Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Синтез и распознование речи в WPF


Автор: freem4n 30.4.2010, 22:37
Прошу всех кто сталкивался с данной проблемой помочь.
Как распознавать английскую речь и как её синтезировать я знаю, а вот что делать с русской ума не приложу. Если кто может скинуть пример кода или ссылку где можно посмотреть, а также если нужны какие-то доп. компоненты,  то откуда их поставить буду очень благодарен.

Автор: vikaz 1.5.2010, 06:49
Все просто, с русским языком у Вас ничего не получиться, так как в принципе его не поддерживают. По крайне мере так на Windows 7. А точнее можно поискать на сайте Microsoft. Сам там искал долго, но когда нашел не обрадовался..... smile

Автор: freem4n 1.5.2010, 09:42
Благодарю за ответ. Я Сам перерыл всё что только можно, думал может плохо искал... *Обидно* что великого и могучего никто не поддерживает. Может кто знает не стандартные движки которые реализуются на .NET или хотя бы предоставляют интерфейс для работы с ними из C#?

Автор: freem4n 3.5.2010, 20:55
Вот возникла новая проблема до этого работал на XP с .NET 3.5, сейчас на Windows 7 c .NET 4.0 VS 2010  почему то следующий код не работает просто ничего не распознаёт даже голоса не детектирует.
Код

SpeechRecognizer sp = new SpeechRecognizer();
        public MainWindow()
        {
            InitializeComponent();
           
            
        }

        void sp_SpeechDetected(object sender, SpeechDetectedEventArgs e)
        {
            MessageBox.Show("Detected:"+e.AudioPosition.ToString());
        }

        void sp_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            MessageBox.Show("You said:"+e.Result.Text);
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            
            Choices c = new Choices();
            c.Add("All","the","who","when","at");
            GrammarBuilder gb = new GrammarBuilder(c);
            Grammar g = new Grammar(gb);
            sp.LoadGrammar(g);
            g.Enabled = true;
            sp.Enabled = true;
            if (sp.State == RecognizerState.Listening)
            {
                MessageBox.Show("List");
            }
            sp.SpeechRecognized += sp_SpeechRecognized;

            sp.SpeechDetected += new EventHandler<SpeechDetectedEventArgs>(sp_SpeechDetected);
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            if (sp.State == RecognizerState.Listening)
            {
                MessageBox.Show("List");
            }
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)