使用Windows语音识别,最小切断麦克风的音量

Dra*_*ake 19 c# voice-recognition

我正在使用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;
    }
Run Code Online (Sandbox Code Playgroud)

Rad*_*adu 1

好问题,我必须在一些声音分析软件上做一些工作。你可以实现一个声音过滤器,声音过滤器。我没有 Windows 语音识别经验,但希望这会有所帮助,请研究信号处理简单的噪声滤波器