19

我正在使用 Window 的语音识别 API,它会不断检测到非常低的背景噪音作为“如果”这个词。我一直在尝试找到一种方法来设置最小音量要求以开始接受输入,但它的所有成员都设置为只读。

如何设置麦克风音量的最小截止?

编辑:想出一种方法来获取平均值并忽略文本,如果它低于我想要的平均值

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 回答