C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Threading.Tasks; 5using System.Speech.Recognition; 6 7namespace ConsoleApplication1 8{ 9 static class Program 10 { 11 /// アプリケーションのメイン エントリ ポイントです。 12 [STAThread] 13 static void Main(string[] args) 14 { 15 //認識エンジン(既定のロケールを使用) 16 using (SpeechRecognitionEngine sre = new SpeechRecognitionEngine()) 17 { 18 19 //イベント登録 20 sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized); 21 22 //語彙登録 23 Choices words = new Choices(new string[] { "晴れ", "曇り", "雨", "雪" }); 24 25 //GrammarBuilderインスタンス 26 GrammarBuilder gb = new GrammarBuilder("今日の天気は"); 27 28 //GrammarBuilderインスタンスに語彙を追加 29 gb.Append(words); 30 31 //Grammarインスタンスを作成 32 Grammar g = new Grammar(gb); 33 34 //Grammarインスタンスをロード 35 sre.LoadGrammar(g); 36 37 Console.Write("認識開始" + "\n"); 38 39 //入力ソース(既定のマイク) 40 sre.SetInputToDefaultAudioDevice(); 41 42 //非同期で認識開始 43 sre.RecognizeAsync(RecognizeMode.Multiple); 44 45 while (true) 46 { 47 Console.ReadLine(); 48 } 49 } 50 } 51 static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 52 { 53 Console.WriteLine("認識しました:" + e.Result.Text + " 信頼度:" + e.Result.Confidence); 54 } 55 56 } 57}
いまWindows7のPCでUSB接続のマイクを通して音声認識をするプログラムを作っているんですが、
USB接続のマイクを繋いで音声認識のプログラムを動かしてみると、
エラーも発生することなく動作するのですが、
いざマイクから音声で入力しようと声を出してみても一文字も入力されません。
Windowsの元からある音声認識が悪いのかと思い起動してみたり、
Microsoft Speech SDKが入っていないのかと思って一応再インストールも試みましたが全く変化なし。
マイクのスイッチの確認したり、拾う音の大きさ?マイクの感度といいますかそれもMAXまで上げてみましたがこちらも変化ありませんでした。
おそらく一番可能性が高いのが必要なソースが足りていない。
だとおもいましたが、何が足りていないのか私自身では検討もつきませんでした。
どうかアドバイスのほどよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。