82acd4fcfcb2cb9edbb4bf0f20fedb31b43f530eb72f3de28f292268dc6a3642.json 21 KB

1
  1. {"ast":null,"code":"\"use strict\";\n\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar _asyncToGenerator = require(\"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/asyncToGenerator.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SpeakerServiceRecognizer = void 0;\nconst Exports_js_1 = require(\"../common.browser/Exports.js\");\nconst Exports_js_2 = require(\"../common/Exports.js\");\nconst Exports_js_3 = require(\"../sdk/Exports.js\");\nconst Exports_js_4 = require(\"./Exports.js\");\nconst SpeechConnectionMessage_Internal_js_1 = require(\"./SpeechConnectionMessage.Internal.js\");\n// eslint-disable-next-line max-classes-per-file\nclass SpeakerServiceRecognizer extends Exports_js_4.ServiceRecognizerBase {\n constructor(authentication, connectionFactory, audioSource, recognizerConfig, recognizer) {\n super(authentication, connectionFactory, audioSource, recognizerConfig, recognizer);\n this.privSpeakerRecognizer = recognizer;\n this.privSpeakerAudioSource = audioSource;\n this.recognizeSpeaker = model => this.recognizeSpeakerOnce(model);\n this.sendPrePayloadJSONOverride = () => this.noOp();\n }\n processTypeSpecificMessages(connectionMessage) {\n let processed = false;\n const resultProps = new Exports_js_3.PropertyCollection();\n if (connectionMessage.messageType === Exports_js_2.MessageType.Text) {\n resultProps.setProperty(Exports_js_3.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n }\n switch (connectionMessage.path.toLowerCase()) {\n case \"speaker.response\":\n const response = JSON.parse(connectionMessage.textBody);\n let result;\n if (response.status.statusCode.toLowerCase() !== \"success\") {\n result = new Exports_js_3.SpeakerRecognitionResult(response, Exports_js_3.ResultReason.Canceled, Exports_js_3.CancellationErrorCode.ServiceError, response.status.reason);\n } else {\n result = new Exports_js_3.SpeakerRecognitionResult(response, Exports_js_3.ResultReason.RecognizedSpeaker);\n }\n if (!!this.privResultDeferral) {\n this.privResultDeferral.resolve(result);\n }\n processed = true;\n break;\n default:\n break;\n }\n const defferal = new Exports_js_2.Deferred();\n defferal.resolve(processed);\n return defferal.promise;\n }\n // Cancels recognition.\n cancelRecognition(sessionId, requestId, cancellationReason, errorCode, error) {\n const properties = new Exports_js_3.PropertyCollection();\n properties.setProperty(Exports_js_4.CancellationErrorCodePropertyName, Exports_js_3.CancellationErrorCode[errorCode]);\n if (!!this.privResultDeferral) {\n const result = new Exports_js_3.SpeakerRecognitionResult({\n scenario: this.privSpeakerModel.scenario,\n status: {\n statusCode: error,\n reason: error\n }\n }, Exports_js_3.ResultReason.Canceled, errorCode, error);\n try {\n this.privResultDeferral.resolve(result);\n } catch (error) {\n this.privResultDeferral.reject(error);\n }\n }\n }\n recognizeSpeakerOnce(model) {\n var _this = this;\n return _asyncToGenerator(function* () {\n _this.privSpeakerModel = model;\n _this.voiceProfileType = model.scenario;\n if (!_this.privResultDeferral) {\n _this.privResultDeferral = new Exports_js_2.Deferred();\n }\n _this.privRequestSession.startNewRecognition();\n _this.privRequestSession.listenForServiceTelemetry(_this.privSpeakerAudioSource.events);\n _this.privRecognizerConfig.parameters.setProperty(Exports_js_3.PropertyId.Speech_SessionId, _this.privRequestSession.sessionId);\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\n const conPromise = _this.connectImpl();\n const preAudioPromise = _this.sendPreAudioMessages(_this.extractSpeakerContext(model));\n const node = yield _this.privSpeakerAudioSource.attach(_this.privRequestSession.audioNodeId);\n const format = yield _this.privSpeakerAudioSource.format;\n const deviceInfo = yield _this.privSpeakerAudioSource.deviceInfo;\n const audioNode = new Exports_js_1.ReplayableAudioNode(node, format.avgBytesPerSec);\n yield _this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false);\n _this.privRecognizerConfig.SpeechServiceConfig.Context.audio = {\n source: deviceInfo\n };\n try {\n yield conPromise;\n yield preAudioPromise;\n } catch (err) {\n _this.cancelRecognition(_this.privRequestSession.sessionId, _this.privRequestSession.requestId, Exports_js_3.CancellationReason.Error, Exports_js_3.CancellationErrorCode.ConnectionFailure, err);\n }\n const sessionStartEventArgs = new Exports_js_3.SessionEventArgs(_this.privRequestSession.sessionId);\n if (!!_this.privRecognizer.sessionStarted) {\n _this.privRecognizer.sessionStarted(_this.privRecognizer, sessionStartEventArgs);\n }\n void _this.receiveMessage();\n const audioSendPromise = _this.sendAudio(audioNode);\n // /* eslint-disable no-empty */\n audioSendPromise.then(() => {}, error => {\n _this.cancelRecognition(_this.privRequestSession.sessionId, _this.privRequestSession.requestId, Exports_js_3.CancellationReason.Error, Exports_js_3.CancellationErrorCode.RuntimeError, error);\n });\n return _this.privResultDeferral.promise;\n })();\n }\n sendPreAudioMessages(context) {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n const connection = yield _this2.fetchConnection();\n yield _this2.sendSpeakerRecognition(connection, context);\n // await this.sendWaveHeader(connection);\n })();\n }\n sendSpeakerRecognition(connection, context) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n const speakerContextJson = JSON.stringify(context);\n return connection.send(new SpeechConnectionMessage_Internal_js_1.SpeechConnectionMessage(Exports_js_2.MessageType.Text, \"speaker.context\", _this3.privRequestSession.requestId, \"application/json; charset=utf-8\", speakerContextJson));\n })();\n }\n extractSpeakerContext(model) {\n return {\n features: {\n interimResult: \"enabled\",\n progressiveDetection: \"disabled\"\n },\n profileIds: model.profileIds,\n scenario: model.scenario\n };\n }\n}\nexports.SpeakerServiceRecognizer = SpeakerServiceRecognizer;","map":{"version":3,"names":["_asyncToGenerator","require","default","Object","defineProperty","exports","value","SpeakerServiceRecognizer","Exports_js_1","Exports_js_2","Exports_js_3","Exports_js_4","SpeechConnectionMessage_Internal_js_1","ServiceRecognizerBase","constructor","authentication","connectionFactory","audioSource","recognizerConfig","recognizer","privSpeakerRecognizer","privSpeakerAudioSource","recognizeSpeaker","model","recognizeSpeakerOnce","sendPrePayloadJSONOverride","noOp","processTypeSpecificMessages","connectionMessage","processed","resultProps","PropertyCollection","messageType","MessageType","Text","setProperty","PropertyId","SpeechServiceResponse_JsonResult","textBody","path","toLowerCase","response","JSON","parse","result","status","statusCode","SpeakerRecognitionResult","ResultReason","Canceled","CancellationErrorCode","ServiceError","reason","RecognizedSpeaker","privResultDeferral","resolve","defferal","Deferred","promise","cancelRecognition","sessionId","requestId","cancellationReason","errorCode","error","properties","CancellationErrorCodePropertyName","scenario","privSpeakerModel","reject","_this","voiceProfileType","privRequestSession","startNewRecognition","listenForServiceTelemetry","events","privRecognizerConfig","parameters","Speech_SessionId","conPromise","connectImpl","preAudioPromise","sendPreAudioMessages","extractSpeakerContext","node","attach","audioNodeId","format","deviceInfo","audioNode","ReplayableAudioNode","avgBytesPerSec","onAudioSourceAttachCompleted","SpeechServiceConfig","Context","audio","source","err","CancellationReason","Error","ConnectionFailure","sessionStartEventArgs","SessionEventArgs","privRecognizer","sessionStarted","receiveMessage","audioSendPromise","sendAudio","then","RuntimeError","context","_this2","connection","fetchConnection","sendSpeakerRecognition","_this3","speakerContextJson","stringify","send","SpeechConnectionMessage","features","interimResult","progressiveDetection","profileIds"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeakerServiceRecognizer.js"],"sourcesContent":["\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeakerServiceRecognizer = void 0;\nconst Exports_js_1 = require(\"../common.browser/Exports.js\");\nconst Exports_js_2 = require(\"../common/Exports.js\");\nconst Exports_js_3 = require(\"../sdk/Exports.js\");\nconst Exports_js_4 = require(\"./Exports.js\");\nconst SpeechConnectionMessage_Internal_js_1 = require(\"./SpeechConnectionMessage.Internal.js\");\n// eslint-disable-next-line max-classes-per-file\nclass SpeakerServiceRecognizer extends Exports_js_4.ServiceRecognizerBase {\n constructor(authentication, connectionFactory, audioSource, recognizerConfig, recognizer) {\n super(authentication, connectionFactory, audioSource, recognizerConfig, recognizer);\n this.privSpeakerRecognizer = recognizer;\n this.privSpeakerAudioSource = audioSource;\n this.recognizeSpeaker = (model) => this.recognizeSpeakerOnce(model);\n this.sendPrePayloadJSONOverride = () => this.noOp();\n }\n processTypeSpecificMessages(connectionMessage) {\n let processed = false;\n const resultProps = new Exports_js_3.PropertyCollection();\n if (connectionMessage.messageType === Exports_js_2.MessageType.Text) {\n resultProps.setProperty(Exports_js_3.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n }\n switch (connectionMessage.path.toLowerCase()) {\n case \"speaker.response\":\n const response = JSON.parse(connectionMessage.textBody);\n let result;\n if (response.status.statusCode.toLowerCase() !== \"success\") {\n result = new Exports_js_3.SpeakerRecognitionResult(response, Exports_js_3.ResultReason.Canceled, Exports_js_3.CancellationErrorCode.ServiceError, response.status.reason);\n }\n else {\n result = new Exports_js_3.SpeakerRecognitionResult(response, Exports_js_3.ResultReason.RecognizedSpeaker);\n }\n if (!!this.privResultDeferral) {\n this.privResultDeferral.resolve(result);\n }\n processed = true;\n break;\n default:\n break;\n }\n const defferal = new Exports_js_2.Deferred();\n defferal.resolve(processed);\n return defferal.promise;\n }\n // Cancels recognition.\n cancelRecognition(sessionId, requestId, cancellationReason, errorCode, error) {\n const properties = new Exports_js_3.PropertyCollection();\n properties.setProperty(Exports_js_4.CancellationErrorCodePropertyName, Exports_js_3.CancellationErrorCode[errorCode]);\n if (!!this.privResultDeferral) {\n const result = new Exports_js_3.SpeakerRecognitionResult({\n scenario: this.privSpeakerModel.scenario,\n status: { statusCode: error, reason: error }\n }, Exports_js_3.ResultReason.Canceled, errorCode, error);\n try {\n this.privResultDeferral.resolve(result);\n }\n catch (error) {\n this.privResultDeferral.reject(error);\n }\n }\n }\n async recognizeSpeakerOnce(model) {\n this.privSpeakerModel = model;\n this.voiceProfileType = model.scenario;\n if (!this.privResultDeferral) {\n this.privResultDeferral = new Exports_js_2.Deferred();\n }\n this.privRequestSession.startNewRecognition();\n this.privRequestSession.listenForServiceTelemetry(this.privSpeakerAudioSource.events);\n this.privRecognizerConfig.parameters.setProperty(Exports_js_3.PropertyId.Speech_SessionId, this.privRequestSession.sessionId);\n // Start the connection to the service. The promise this will create is stored and will be used by configureConnection().\n const conPromise = this.connectImpl();\n const preAudioPromise = this.sendPreAudioMessages(this.extractSpeakerContext(model));\n const node = await this.privSpeakerAudioSource.attach(this.privRequestSession.audioNodeId);\n const format = await this.privSpeakerAudioSource.format;\n const deviceInfo = await this.privSpeakerAudioSource.deviceInfo;\n const audioNode = new Exports_js_1.ReplayableAudioNode(node, format.avgBytesPerSec);\n await this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false);\n this.privRecognizerConfig.SpeechServiceConfig.Context.audio = { source: deviceInfo };\n try {\n await conPromise;\n await preAudioPromise;\n }\n catch (err) {\n this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, Exports_js_3.CancellationReason.Error, Exports_js_3.CancellationErrorCode.ConnectionFailure, err);\n }\n const sessionStartEventArgs = new Exports_js_3.SessionEventArgs(this.privRequestSession.sessionId);\n if (!!this.privRecognizer.sessionStarted) {\n this.privRecognizer.sessionStarted(this.privRecognizer, sessionStartEventArgs);\n }\n void this.receiveMessage();\n const audioSendPromise = this.sendAudio(audioNode);\n // /* eslint-disable no-empty */\n audioSendPromise.then(() => { }, (error) => {\n this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, Exports_js_3.CancellationReason.Error, Exports_js_3.CancellationErrorCode.RuntimeError, error);\n });\n return this.privResultDeferral.promise;\n }\n async sendPreAudioMessages(context) {\n const connection = await this.fetchConnection();\n await this.sendSpeakerRecognition(connection, context);\n // await this.sendWaveHeader(connection);\n }\n async sendSpeakerRecognition(connection, context) {\n const speakerContextJson = JSON.stringify(context);\n return connection.send(new SpeechConnectionMessage_Internal_js_1.SpeechConnectionMessage(Exports_js_2.MessageType.Text, \"speaker.context\", this.privRequestSession.requestId, \"application/json; charset=utf-8\", speakerContextJson));\n }\n extractSpeakerContext(model) {\n return {\n features: {\n interimResult: \"enabled\",\n progressiveDetection: \"disabled\",\n },\n profileIds: model.profileIds,\n scenario: model.scenario,\n };\n }\n}\nexports.SpeakerServiceRecognizer = SpeakerServiceRecognizer;\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}