javascript - REST API azure 语音转文本(已识别 : Text=undefined)

标签 javascript node.js azure api speech-to-text

我正在尝试使用 azure api(语音转文本),但是当我执行代码时,它没有给我音频结果。 音频采用请求的格式 (.WAV)。

代码示例文档

const fs = require('fs');
const sdk = require("microsoft-cognitiveservices-speech-sdk");
const speechConfig = sdk.SpeechConfig.fromSubscription("---", "eastus2");

function fromFile() {
    let pushStream = sdk.AudioInputStream.createPushStream();

    fs.createReadStream("audio/aboutSpeechSdk.wav").on('data', function (arrayBuffer) {
        pushStream.write(arrayBuffer.slice());
    }).on('end', function () {
        pushStream.close();
    });

    let audioConfig = sdk.AudioConfig.fromStreamInput(pushStream);
    let recognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
    recognizer.recognizeOnceAsync(result => {
        console.log(`RECOGNIZED: Text=${result.text}`);
        recognizer.close();
    });
}

fromFile();

最佳答案

根据您提供的代码,看来您没有配置语音识别语言。请将代码 speechConfig.speechRecognitionLanguage = "" 添加到您的示例中。更多语言详情请引用here

例如。您可以下载video进行测试。

var sdk = require("microsoft-cognitiveservices-speech-sdk");
var fs = require("fs");
var subscriptionKey = "";
var serviceRegion = "";
var language = "en-US";

function openPushStream(filename) {
  // create the push stream we need for the speech sdk.
  var pushStream = sdk.AudioInputStream.createPushStream();

  // open the file and push it to the push stream.
  fs.createReadStream(filename)
    .on("data", function (arrayBuffer) {
      pushStream.write(arrayBuffer.slice());
    })
    .on("end", function () {
      pushStream.close();
    });

  return pushStream;
}

var audioConfig = sdk.AudioConfig.fromStreamInput(
  openPushStream("aboutSpeechSdk.wav")
);
var speechConfig = sdk.SpeechConfig.fromSubscription(
  subscriptionKey,
  serviceRegion
);
speechConfig.speechRecognitionLanguage = language;
var recognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
recognizer.recognizeOnceAsync(
  function (result) {
    console.log(result.text);
    recognizer.close();
    recognizer = undefined;
  },
  function (err) {
    console.log(err);
    recognizer.close();
    recognizer = undefined;
  }

enter image description here

更多详情请引用blog

关于javascript - REST API azure 语音转文本(已识别 : Text=undefined),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66104848/

相关文章:

javascript - 通过点击框外激活功能

javascript - 不符合宽高比的溢出图像

javascript - next.js 应用程序如何针对移动屏幕进行优化?

javascript - node/jade - 在事先不知道 key 的情况下显示 JSON 项目

javascript - Node 的 Mongodb findOne 函数不返回几何数据

azure - 使用 sFTP 服务面向 Azure 存储 blob

javascript - Expresso 未安装在 Windows 7 上

node.js - 你如何在 tensorflow.js 中设置 Adam 优化器学习率?

android - 如何将 Firebase 云消息传递添加到 Xamarin.Forms 应用程序?

database - Azure 数据库延迟消除应用程序