19

Window の音声認識 API を使用していますが、非常に低いバックグラウンド ノイズを "if" という単語として繰り返し検出しています。入力の受け入れを開始するための最小ボリューム要件を設定する方法を見つけようとしていますが、そのメンバーはすべて読み取り専用に設定されています。

マイクの音量の最小カットオフを設定するにはどうすればよいですか?

編集:平均を取得し、必要な平均を下回っている場合はテキストを無視する方法を考え出しました

public void hRecognition_AudioStateChanged(object sender, AudioStateChangedEventArgs e)
    {
        if (e.AudioState == AudioState.Stopped)
        {
            volumeAverage /= volumeCount;
        }
        else if (e.AudioState == AudioState.Speech)
        {
            volumeAverage = 0;
            volumeCount = 0;
        }
    }

    public void hRecognition_AudioLevelUpdated(object sender, AudioLevelUpdatedEventArgs e)
    {
        volumeAverage += e.AudioLevel;
        volumeCount += 1;
    }
4

1 に答える 1

1

良い質問です。いくつかのサウンド分析ソフトウェアで少し作業する必要がありました。また、サウンド フィルター、サウンド フィルターを実装することもできます。Windowsの音声認識の経験はありませんが、これが役立つことを願って、単純なノイズフィルターを処理する信号を調べてください

于 2011-05-20T10:57:42.730 に答える