目前我正在使用创建STT应用程序
- NodeJS v16.x
- 微软-认知服务-语音-sdk v1.17.0
我已经在westeurope
区域创建了一个azure语音认知资源,并验证了密钥是正确的。
现在我使用下面的代码来执行语音识别:
class RecognizerAzure {
recognize(){
this.audioFormat = AudioStreamFormat.getWaveFormatPCM(sampleRate, 16, 1)
this.pushStream = AudioInputStream.createPushStream(this.audioFormat)
this.audioConfig = AudioConfig.fromStreamInput(this.pushStream)
this.speechConfig = SpeechConfig.fromSubscription(
'*************',
'westeurope'
)
this.speechConfig.speechRecognitionLanguage = "en_US"
this.recognizer = new SpeechRecognizerMicrosoftAzure(
this.speechConfig,
this.audioConfig
)
this.recognizer.startContinuousRecognitionAsync(() => {
if (this.recognizer) {
console.debug(inspect(this.recognizer))
this.recognizer.canceled = console.log
}
}, this.logger.warn)
}
然后,识别器将只记录一个带有消息Unable to contact server. StatusCode: 1006, undefined Reason: Unsupported type: object at: (shallow)
的事件。我已经根据Azure文档创建了一个语音服务,并按照Azure门户中示例实现中的定义实现了此代码。
遗憾的是,此错误消息对我没有太大帮助,我也无法在Azure知识库中找到任何内容。
其他人也有同样的问题吗?
2条答案
按热度按时间kt06eoxx1#
我可以通过使用package.json显式设置手动解决方案来解决此问题。这似乎源于asn1.js中使用的证书方法。感谢您的帮助。我在此处添加了以下行:
1bqhqjot2#
我通过更改订阅密钥解决了这个问题。
Azure在“语音服务概述”页上显示错误的订阅密钥。“密钥1”和“密钥2”显示相同的密钥,结果是“密钥2”。
然而,键也可以在“Keys and Endpoint”部分中找到,但是这里的“Key1”有另一个值,这对我很有效。