none
Come impostare la lingua nel riconoscimento vocale RRS feed

  • Domanda

  • Vi riporto dei codici per ottenere il riconoscimento vocale.

    se non si specifica la cultura ("it-IT") che dal sistema nel PC che uso è l'italiano funziona,ma haimé i caratteri catturati sono resi come ideogrammi giapponesi. Se invece pongo CultureInfo "it-IT" compare l'errore nella funzione SpeechRecognitionEngine genera una eccezione: errore da "identificativo non trovato".

    Eppure ho impostato nel pannello di controllo per l'IME e la lingua di default l'italiano.

    Ricordo che per definire la cultura e la lingua di default ho usato la funzione appena sotto con SpeechRecognitionEngine()senza cultura quindi

        using(SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new CultureInfo("it-IT"))) 

    {

      recognizer.LoadGrammar(new DictationGrammar());

      recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

      recognizer.SetInputToDefaultAudioDevice();

      recognizer.RecognizeAsync(RecognizeMode.Multiple);

      int inc=0;

      int k=0;

     

       while(risultato.Length== k && inc++<1000)

      {

             System.Threading.Thread.Sleep(100);

             if(risultato.Length>k)

             {

                k= risultato.Length;

                inc =0;

              }

             if(inc == 70)

             {

                risultato +=" ";

                 inc =0;

             }

       }

        recognizer.RecognizeAsyncStop();

     

      File.WriteAllText("VSecretary_M.tmp",risultato);

    }

    static string risultato="";

    static void recognizer_SpeechRecognized(object sender,SpeechRecognizedEventArgs e)

    {

             risultato += e.Result.Text;

    }

      Ringrazio tantissimo a chi mi risponde

     Paolo

    venerdì 28 giugno 2019 23:39

Risposte

  • Gentile Sabrina. Ho risolto il problema. Quando si imposta la cultura con SpeechRecognitionEngine(new CultureInfo("it-IT")))  se questa è già presente nel sistema operativo allora viene accettata. Così in un portatile se non si mette CultureInfo e quindi SpeechRecognition mi prende il default che nel mio caso era il giapponese questo perché nel SO era impostato il giapponese come riconoscimento vocale. Il problema quindi va risolto nelle impostazioni di sistema alla voce 'Microfono'. La ringrazio comunque.
    giovedì 4 luglio 2019 12:16

Tutte le risposte

  • L'errore sai anche dirci su quale riga te lo da? sulla riga della using o dove?

    saluti

    Sabrina


    Sabrina C. - http://www.dotnetwork.it

    lunedì 1 luglio 2019 15:21
  • Gentile Sabrina. Ho risolto il problema. Quando si imposta la cultura con SpeechRecognitionEngine(new CultureInfo("it-IT")))  se questa è già presente nel sistema operativo allora viene accettata. Così in un portatile se non si mette CultureInfo e quindi SpeechRecognition mi prende il default che nel mio caso era il giapponese questo perché nel SO era impostato il giapponese come riconoscimento vocale. Il problema quindi va risolto nelle impostazioni di sistema alla voce 'Microfono'. La ringrazio comunque.
    giovedì 4 luglio 2019 12:16