微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

REST API 天蓝色语音到文本已识别:Text=undefined

如何解决REST API 天蓝色语音到文本已识别:Text=undefined

我正在尝试使用 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。