none
Speech Recognization - Lento e sem precisão. RRS feed

  • Discussão Geral

  • Estou meio que explorando o Speech Recognization, então me basei em um código que encontrei na net para criar uma "memoria" para o programa, assim ele vai ouvindo e colocando o texto em uma rich textbox.

    O primeiro problema é que ele não "forma frases", ele ouve uma palavra por vez.

    Outro problema é a sensibilidade, as vezes eu morro de falar a palavra e nada, já fiz o teste utilizando o celular no google tradutor pensando ser meu "exemplar inglês" mais mesmo assim nada.

    E por ultimo eu queria guardar as palavras que ele "ouve" mais não estão disponíveis em sua memoria.

    Esse é o modulo principal que chamo no load do form:

    Imports System.Speech
    Imports System.Speech.Recognition
    Module Module1
        Dim WithEvents reco As New Recognition.SpeechRecognitionEngine
        Dim synth As New Synthesis.SpeechSynthesizer
        Public Sub CarregarIA()
            reco.SetInputToDefaultAudioDevice()
            Dim gram As New Recognition.SrgsGrammar.SrgsDocument
            Dim word_rule As New Recognition.SrgsGrammar.SrgsRule("palavras")
            Dim word_list As New Recognition.SrgsGrammar.SrgsOneOf(_memoria)
            word_rule.Add(word_list)
            gram.Rules.Add(word_rule)
            gram.Root = word_rule
            reco.LoadGrammar(New Recognition.Grammar(gram))
            reco.RecognizeAsync()
        End Sub
        Private Sub reco_RecognizeCompleted(ByVal sender As Object, ByVal e As System.Speech.Recognition.RecognizeCompletedEventArgs) Handles reco.RecognizeCompleted
            reco.RecognizeAsync()
            Form1.LbSaida.Text = "Entendi.."
        End Sub
        Private Sub reco_SpeechDetected(sender As Object, e As SpeechDetectedEventArgs) Handles reco.SpeechDetected
            Form1.LbSaida.Text = "Ouvindo..."
        End Sub
        Private Sub reco_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.RecognitionEventArgs) Handles reco.SpeechRecognized
            Form1.RichTextBox1.Text &= " " & e.Result.Text
        End Sub
    End Module
    

    Essa é minha "memoria" que é carrega no Speech:

    Module Memoria
        Public _memoria As String() = {"i", "you", "he", "she", "it", "yes", "no", "true", "false", "one",
    "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"}
    End Module
    

    • Tipo Alterado Marcos SJ segunda-feira, 7 de dezembro de 2015 11:59 Todas as threads de "How to" serão modificadas para discussão geral
    segunda-feira, 7 de dezembro de 2015 03:55

Todas as Respostas

  • Estou Meio que Explorando o discurso recognization, entao me Basei em hum código que encontrei na net "memoria" Pará CRIAR UMA o Programa para, ASSIM ELE vai Ouvindo e colocando o texto em Uma rica Caixa de texto.

    O Primeiro Problema E Que ELE não "forma frases", ELE Ouve Uma Palavra POR vez.

    Outro Problema E Uma Sensibilidade, as vezes eu morro de Falar a Palavra e nada, JA fiz o teste utilizando o celular no google tradutor pensando ser meu "exemplar inglês" mais MESMO ASSIM nada.

    E POR ultimo eu guardar quería As Palavras Que ele "Ouve" mais NÃO estao Disponíveis em SUA memoria.

    Esse É O modulo principais que chamo sem carga do Formulário:

    Imports System . Speech
     Imports System . Speech . Recognition
     Module Module1
     Dim  WithEvents reco As  New Recognition . SpeechRecognitionEngine
     Dim synth As  New Synthesis . SpeechSynthesizer
     Public  Sub CarregarIA () reco . SetInputToDefaultAudioDevice () 
            Dim gram As  New Recognition . SrgsGrammar . SrgsDocument
     Dim word_rule As  New Recognition . SrgsGrammar . SrgsRule ( "palavras" ) 
            Dim word_list As  New Recognition . SrgsGrammar . SrgsOneOf ( _memoria ) word_rule . Add ( word_list ) gram . Rules . Add ( word_rule ) gram . Root = word_rulereco . LoadGrammar ( New Recognition . Grammar ( gram )) reco . RecognizeAsync () 
        End  Sub 
        Private  Sub reco_RecognizeCompleted ( ByVal sender As  Object ,  ByVal e As System . Speech . Recognition . RecognizeCompletedEventArgs )  Handles reco . RecognizeCompletedreco . RecognizeAsync () Form1 . LbSaida . Text =  "Entendi.." 
        End  Sub 
        Private  Sub reco_SpeechDetected ( sender As  Object , e As SpeechDetectedEventArgs )  Handles reco . SpeechDetectedForm1 . LbSaida . Text =  "Ouvindo..." 
        End  Sub 
        Private  Sub reco_SpeechRecognized ( ByVal sender As  Object ,  ByVal e As System . Speech . Recognition . RecognitionEventArgs )  Handles reco . SpeechRecognizedForm1 . RichTextBox1 . Texto & =  ""  & e . Resultado . Texto
     End  Sub 
    End  Module

    Essa E minha "memoria" que è Carrega Nenhum discurso:

    Module Memoria
     Public _memoria As  String ()  =  { "i" ,  "you" ,  "he" ,  "she" ,  "it" ,  "yes" ,  "no" ,  "true" ,  "false" ,  "one" , 
    "two" ,  "three" ,  "four" ,  "five" ,  "six" ,  "seven" ,  "eight" ,  "nine" ,  "ten" } 
    End  Module

    Tiago Conseguiu Resolver Problema este? o meu TAMBÉM ... está super lento, as vezes demora muito pra responder...
    terça-feira, 17 de maio de 2016 00:02