如何使用IBM Cloud Speech to Text API请求多个频道

问题描述 投票:0回答:1

我想在IBM Cloud上使用语音转文本将wav文件转换为文本。如何发送请求以获取两个渠道的结果?我是否使用websocketAPI?如果是这样,参数中是否有通道说明?

有人可以告诉我吗?

api request channel speech
1个回答
0
投票

谢谢您的回复。

我正在尝试使用javascript进行websocket连接。在以下程序中,没有响应“ websocket.send(blob);”。与blob对应的信息不正确吗?

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<script>
var websocket = null;
function start() {
    var IAM_access_token = "{my-token}";
    var wsURI = 'wss://gateway-tok.watsonplatform.net/speech-to-text/api/v1/recognize'
      + '?access_token=' + IAM_access_token
      + '&model=ja-JP_BroadbandModel';
    console.log(wsURI);
    websocket = new WebSocket(wsURI);
    websocket.onopen = function(evt) { onOpen(evt) };
    websocket.onclose = function(evt) { onClose(evt) };
    websocket.onmessage = function(evt) { onMessage(evt) };
    websocket.onerror = function(evt) { onError(evt) };

}

function onOpen(evt) {
  var message = {
    'action': 'start',
    'content-type': 'audio/wav'
  };
  console.log(JSON.stringify(message));
  websocket.send(JSON.stringify(message));
}

function onClose(evt) {
  websocket.close();
}

function onMessage(evt) {
  console.log(evt);
}

function onError(evt) {
  console.log(evt);
}

function sendfile() {
    console.log("send click!");
    console.log(document.getElementById( "data" ));
    var blob = document.getElementById( "data" );
    websocket.send(blob) ;
}
</script>
</head>
<body>
<form method="post" enctype="multipart/form-data">
  <div id="wrap">
    <button type="button" onclick="start();">start</button>
    <input type="file" id="data" name="data">
        <button type="button" id="send" onclick="sendfile();">send</button>
  </div>
</form>
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.