如何禁用Microsoft Azure语音识别的自动标点功能?
解决Azure STT连续识别中禁用自动标点的问题
要禁用Azure语音转文本(STT)识别结果中的自动标点,即使启用了Dictation模式,你需要在SpeechConfig中显式关闭自动格式化功能——因为Dictation模式默认会自动添加标点符号,仅启用Dictation不会覆盖这个行为。
具体修改步骤
在你的SpeechConfig配置代码中,添加一行禁用自动格式化的配置:
// Get credentials and region from client's message. var speechConfig = SpeechConfig.FromSubscription(key, region); speechConfig.SpeechRecognitionLanguage = "it-IT"; speechConfig.EnableDictation(); // 保持Dictation模式 // 显式禁用自动标点/自动格式化 speechConfig.SetProperty(PropertyId.SpeechServiceResponse_AutoFormatting, "false"); // 或者如果使用较新的SDK版本,可直接使用属性: // speechConfig.DisableAutoFormatting = true;
代码说明
PropertyId.SpeechServiceResponse_AutoFormatting是控制服务端自动格式化(包括标点添加)的核心配置项,设置为"false"会完全禁用自动标点。- 部分新版本的Azure Speech SDK提供了更直观的
DisableAutoFormatting布尔属性,效果与设置上述属性一致,可根据你使用的SDK版本选择其中一种方式。
修改后重新运行连续识别,识别结果将不再包含自动添加的标点符号。
内容的提问来源于stack exchange,提问作者Piercarlo
相关产品推荐
相关产品推荐

