Skip to main content

语音服务troubleshooting

分类:  Azure认知服务 标签:  #Azure #人工智能 #语音服务 发布于: 2023-06-05 17:39:47

前面我们简要的介绍了语音服务的功能以及如何使用SDK进行语音服务的开发,同时为了提供精度以及为了自定义语音合成我们也介绍了如何使用speech studio工具训练自己的模型。本节我们简要的介绍一下如何在开会过程中进行troubleshooting。

注意所使用的服务定价层限制

需要注意到当你在使用Azure服务的时候,不同的定价层,是有不同的限制的,对于语音服务,目前仅仅只有两种定价层,一般情况这两种符合大部分的业务场景,但是也经常会遇到超限的情况存在,对于超限,需要注意的错误代码是429, 也即如果在通过rest api或者是SDK进行服务调用的时候遇到了错误代码429,那么一定是超限了,关于超限的详细说明,请参考Azure的官方文档说明:
Speech service Quotas and Limits - Azure Cognitive Services | Microsoft Docs

启用日志记录

SpeechSDK提供详细的日志,用于记录在使用SDK和服务之间的详细交互情况,根据这些日志可以在问题发生时记录到必要的追踪记录, 方便排查问题。建议只在问题复现和开发测试的过程中打开该设置,打开该设置的方法和步骤也很简单,只需要设置SDK配置对象的属性Speech_LogFilename就可以将需要的日志存储到指定的文件中,如下:

config.SetProperty(PropertyId.Speech_LogFilename, "LogfilePathAndName");
config.setProperty(PropertyId.Speech_LogFilename, "LogfilePathAndName");

更详细的介绍,可以参考:https://docs.microsoft.com/zh-cn/azure/cognitive-services/speech-service/how-to-use-logging, 该文档也详细的介绍了其他平台以及设备的开启方法。

跟踪SDK内存的使用情况

如果我们启用了SDK的日志记录,我们可以利用日志记录以及SDK的其他特性对如下的对象进行追踪:

  • TrackHandle和StopTracking
  • 对象类型
  • 受跟踪的对象的数目、对象的类型,以及当前受跟踪的数目

设置警告阈值

config.SetProperty("SPEECH-ObjectCountWarnThreshold", "10000");

设置错误阈值

config.SetProperty("SPEECH-ObjectCountErrorThreshold", "10000");