介绍
Microsoft Speech SDK 是微软的语音识别和文本到语音 (TTS) 解决方案。该 SDK 可以用于在浏览器中使用语音技术。在浏览器中使用 Speech SDK,可通过 npm 包 microsoft-speech-browser-sdk 来完成。本文将详细介绍 npm 包 microsoft-speech-browser-sdk 的安装和使用。
准备工作
注册 Azure 订阅
要使用 Speech SDK,你需要一个 Azure 订阅。如果你还没有 Azure 订阅,请在以下网站注册:https://azure.microsoft.com/free/
创建 Azure 资源
在 Azure 订阅中,需要创建一个 Cognitive Services 资源。该资源用于访问 Speech SDK 的 API。可按照以下步骤创建 Cognitive Services 资源:
- 登录 Azure 门户 (https://portal.azure.com/),选择“创建资源”。
- 在“创建资源”页中,选择“AI + Machine Learning”,然后选择“Cognitive Services”。
- 在“Cognitive Services”页中,选择“语音服务”。
- 在“语音服务”页中,输入名称和相关信息。
- 选择“定价”和“资源组”。然后创建资源。
- 在资源创建完毕后,可在资源概述页面中获取相关信息。
获取 Endpoint 和 Key
创建 Cognitive Services 资源后,需要获取 Endpoint 和 Key。以下是获取 Endpoint 和 Key 的步骤:
- 进入 Cognitive Services 资源概述页面。
- 在“资源管理”中,选择“Keys and Endpoint”。
- 在“Keys and Endpoint”页面中,复制“Key1”;然后点击“Show Endpoint”,复制“Endpoint”。这些信息稍后要用作 Speech SDK 的输入。
安装 npm 包
要使用 Speech SDK,需要在项目中安装 npm 包 microsoft-speech-browser-sdk。以下是安装 npm 包的步骤:
- 打开命令行界面。
- 输入以下命令,安装 npm 包:
npm install microsoft-speech-browser-sdk
使用 Speech SDK
引入 SDK
要使用 Speech SDK,在项目中引入 SDK。以下是引入 SDK 的代码示例:
const sdk = require("microsoft-speech-browser-sdk"); const Speech = sdk.Speech; const SpeechConfig = sdk.SpeechConfig; const SpeechRecognizer = sdk.SpeechRecognizer;
设置 SpeechConfig
在使用 Speech SDK 时,需要创建 SpeechConfig 对象。该对象用于设置语音识别目标语言、Endpoint 和 Key 等。以下是设置 SpeechConfig 的代码示例:
const speechConfig = SpeechConfig.fromSubscription("<SUBSCRIPTION_KEY>", "<SERVICE_REGION>"); speechConfig.speechRecognitionLanguage = "en-US"; speechConfig.endpointId = "<ENDPOINT_ID>"; speechConfig.enableDictation();
创建 SpeechRecognizer
设置 SpeechConfig 后,需要创建 SpeechRecognizer 对象。该对象用于处理语音输入和语音识别。以下是创建 SpeechRecognizer 的代码示例:
const recognizer = new SpeechRecognizer(speechConfig);
输入语音
创建 SpeechRecognizer 对象后,需要通过浏览器输入语音。可以通过麦克风或音频文件输入语音。以下是输入语音的代码示例:
使用麦克风输入语音
可以使用浏览器的 WebRTC 访问麦克风。以下是使用麦克风输入语音的代码示例:
const audioConfig = Speech.AudioConfig.fromDefaultMicrophoneInput(); recognizer.recognizeOnceAsync(result => { console.log(result.text); }, error => { console.log(error); });
使用音频文件输入语音
可以使用 FileReader API(https://developer.mozilla.org/en-US/docs/Web/API/FileReader)访问本地音频文件。以下是使用 FileReader API 输入语音的代码示例:
const audioConfig = Speech.AudioConfig.fromWavFileInput(fileReader.result); recognizer.recognizeOnceAsync(result => { console.log(result.text); }, error => { console.log(error); });
处理输出
SpeechRecognizer 对象接收语音之后,将执行识别操作。识别完成后,将触发回调函数,返回识别结果。以下是处理输出的代码示例:
recognizer.recognizeOnceAsync(result => { console.log(result.text); }, error => { console.log(error); });
结论
本文介绍了 npm 包 microsoft-speech-browser-sdk 的安装和使用。通过上述步骤,可以轻松地在浏览器中使用语音技术。Speech SDK 是目前市面上较为成熟、兼容性较好的语音解决方案之一,对于前端程序员来说具有很高的学习和应用价值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572cb81e8991b448e8f9c