设置使用SpeechRecognitionEngine时的静音阈值

时间:2019-04-23 17:57:03

标签: c# .net speech-recognition

在.NET Framework的System.Speech.Recognition名称空间中使用SpeechRecognitionEngine类时,我会考虑保持静音(来自{{3的音频中的峰值幅度大约为-30 dbFS或更小) }})通常被认为是载入语法中具有较高置信度(90%或更高)的短语。

是否可以设置一个幅度/音量阈值,在该阈值以下,输入数据将被忽略和/或被认为是静音?在进行中的识别过程中,例如单词之间的停顿,可以保持沉默,但是当所有输入数据都低于幅度阈值时,不应引发识别事件。

有一些与静默超时有关的属性(InitialSilenceTimeoutEndSilenceTimeoutEndSilenceTimeoutAmbiguous),但是我一直找不到与定义静默自身特征有关的任何东西。

1 个答案:

答案 0 :(得分:0)

我最终使用RecognizedAudio.WriteToAudioStream()来获取与每次识别相关的音频数据并亲自进行阈值检查。

<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8">
<title>hello-world</title>

<!-- Imports polyfill -->
<!--<script src="../webcomponentsjs/webcomponents.min.js"></script>-->
<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents- 
bundle.js"></script>
<script src="https://unpkg.com/@webcomponents/webcomponentsjs@^2/"> 
</script>

<!--<script src="node_modules/custom-elements-es5-adapter/custom- 
elements-es5-adapter.js"></script>-->
<!-- Imports custom element -->
<!--<link rel="import" href="hello-world.html">-->
<!--<script src="shadowComponent.js"></script>-->
<style>

    .text {
        color: red;
    }
</style>

</head>
<body>

<div class="text">I should be red.</div>

<div id="myText"></div>

<script type="text/javascript">
    var element = document.getElementById('myText');
    var styles = '.text{color: blue; }';

    var content = 'I should be blue.';

    var style = document.createElement('style');
    style.type = 'text/css';
    style.appendChild(document.createTextNode(styles));

    var p = document.createElement('p');
    p.className = 'text';
    p.appendChild(document.createTextNode(content));

    var shadowRootContainer = element.attachShadow({ mode: 'open' });
    var innerContainer = document.createElement('div');
    shadowRootContainer.appendChild(innerContainer);

    var shadowRoot = innerContainer.attachShadow({ mode: 'open' });

    shadowRoot.appendChild(style);
    shadowRoot.appendChild(p);

</script>
</body>
</html>