Azure Speech说话人Diarization行为变更,请求恢复私有预览版特性
恢复Azure Speech说话人分角色的unknown标记行为
问题概述
- 私有预览阶段:Azure Speech说话人分角色会将未说出7秒以上语句的说话人标记为unknown
- 公共预览版后:API改为标记为guest-n,但存在准确性问题——已识别的guest-1的短语句会被误标为guest-2,直到guest-2说出长语句才会修正
- 当前使用SDK版本:
implementation group: 'com.microsoft.cognitiveservices.speech', name: 'client-sdk', version: '1.34.0'
解决方案
根据Azure Speech官方文档内容,目前仍支持将短语句说话人标记为unknown的行为,可通过以下配置实现:
配置分角色参数
在初始化语音识别配置时,添加SpeechServiceConnection_Diarization_UnknownSpeakerLabel参数并设为true,同时可指定最小说话时长(对应原私有预览的7秒):
SpeechConfig speechConfig = SpeechConfig.fromSubscription("你的订阅密钥", "你的区域"); // 启用说话人分角色 speechConfig.setProperty("SpeechServiceConnection_Diarization", "true"); // 开启unknown标记模式,替代guest-n自动分配 speechConfig.setProperty("SpeechServiceConnection_Diarization_UnknownSpeakerLabel", "true"); // 设置触发说话人确认的最小语句时长(单位:毫秒) speechConfig.setProperty("SpeechServiceConnection_Diarization_MinSpeakerSegmentDurationMs", "7000");
效果验证
配置后,未达到设定时长的说话人语句会被标记为unknown,已确认身份的说话人则保留正确标签,避免guest-n的误分配问题。
注意事项
- 该参数支持SDK 1.30.0及以上版本,当前使用的1.34.0版本完全兼容
- 若SDK版本更新,需确认参数有效性,可参考官方文档的参数变更说明
内容的提问来源于stack exchange,提问作者Goofy
相关产品推荐
相关产品推荐

