質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Q&A

解決済

3回答

3944閲覧

Windows7 音声認識プログラム マイクが反応しない

konatushiro

総合スコア7

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

0グッド

0クリップ

投稿2016/11/29 05:13

編集2016/11/29 05:22

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まで上げてみましたがこちらも変化ありませんでした。
おそらく一番可能性が高いのが必要なソースが足りていない。
だとおもいましたが、何が足りていないのか私自身では検討もつきませんでした。
どうかアドバイスのほどよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

まさかとは思いますが、マイクの音量テストはされましたでしょうか。
そもそも、マイクが拾っていない可能性がありそうです。
http://qa.elecom.co.jp/faq_detail.html?id=2807

投稿2016/11/29 11:02

kpiyohiko

総合スコア658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

以下のサンプルとほとんど同じですね。
SpeechRecognitionEngine クラス (System.Speech.Recognition)

唯一違いそうなのが、明示的に カルチャー を指定していないということでしょうか。

以下、確認済みかもしれませんがチェックしてはどうでしょうか。

  1. 明示的にカルチャー指定してみる
  2. コントロール パネル\すべてのコントロール パネル項目\音声認識 において、「マイクのセットアップ」を実行してみる
  3. コントロール パネル\すべてのコントロール パネル項目\音声認識 において、「高度な音声オプション」で「音声認識」タブを確認する。【言語】、【マイク】あたりを中心に確認してみる

投稿2016/11/29 09:13

編集2016/11/29 09:15
qt6hy

総合スコア149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

konatushiro

2016/11/30 00:46

どうやらマイクの設定ができていなかったようです! まだ終わっていませんがおそらくいけそうです。 具体的な解決策を明示していただきありがとうございます! こちらの方の回答をベストアンサーにさせていただきます!!
guest

0

私の環境ではそのままのソースで認識されました。
USB接続のマイクが既定のデバイスに設定されていないということはありませんか?

投稿2016/11/29 07:11

sho_cs

総合スコア3541

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

konatushiro

2016/11/29 07:18

今確認してみました! しっかりと既定のデバイスになってました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問