【发布时间】:2017-11-05 19:24:18
【问题描述】:
我正在使用 IBM bluemix 转录一些音频,并且我想使用 API 说话人识别。
我这样设置识别器:
private RecognizeOptions getRecognizeOptions() {
return new RecognizeOptions.Builder()
.continuous(true)
.contentType(ContentType.OPUS.toString())
//.model("en-US")
.model("en-US_BroadbandModel")
.timestamps(true)
.smartFormatting(true)
.interimResults(true)
.speakerLabels(true)
.build();
}
但返回的 JSON 不包含扬声器标签。如何获取也使用 bluemix java API 返回的扬声器标签?
我在 Android 中的录音机如下所示:
private void recordMessage() {
//mic.setEnabled(false);
speechService = new SpeechToText();
speechService.setUsernameAndPassword("usr", "pwd");
if(listening != true) {
capture = new MicrophoneInputStream(true);
new Thread(new Runnable() {
@Override public void run() {
try {
speechService.recognizeUsingWebSocket(capture, getRecognizeOptions(), new MicrophoneRecognizeDelegate());
} catch (Exception e) {
showError(e);
}
}
}).start();
Log.v("TAG",getRecognizeOptions().toString());
listening = true;
Toast.makeText(MainActivity.this,"Listening....Click to Stop", Toast.LENGTH_LONG).show();
} else {
try {
capture.close();
listening = false;
Toast.makeText(MainActivity.this,"Stopped Listening....Click to Start", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
我认为你的意思是他应该添加语音到文本标签,而不是文本到语音;)
-
@bear 您使用的音频文件和识别方法是什么?你在使用 WebSockets 吗?
-
@bear
watson-developer-cloud-java-sdk版本。 -
@GermanAttanasio: ping,熊已经回答了
-
是的,我会使用 java-sdk 3.8.0 和你上面的代码。
标签: android ibm-cloud speech-to-text ibm-watson