当我尝试演示时,将音频转录为文本非常准确,这就是演示中的输出
Speaker 0:
Hello.
Speaker 1:
Hi is this Tina.
Speaker 0:
Yes it is who is this.
这是我的输出
Speaker 0:
Hello.
Speaker 1:
Hi is this Tina.
Speaker 0:
Yes it is this this
这是我在识别中设置的
private RecognizeOptions getRecognizeOptions(InputStream captureStream) {
return new RecognizeOptions.Builder()
.audio(captureStream)
.contentType(HttpMediaType.AUDIO_MP3)
.model("en-US_NarrowbandModel")
.interimResults(true)
.inactivityTimeout(-1)
.timestamps(true)
.speakerLabels(true)
.smartFormatting(true)
.build();
}
当我尝试将模型更改为en-USBroadband时,输出为
Speaker 0:
Hello.
Speaker 1:
Hi is this Tina. Yes it is who is this
区别是,是的,这是谁,谁是另一位发言人,所以预期结果将是这样
Speaker 0:
Hello.
Speaker 1:
Hi is this Tina.
Speaker 0:
Yes it is who is this.
请帮助解决此错误,或者我使用mp3文件而不是wav文件的方式对我的代码有错误
答案 0 :(得分:1)
您发现的是,转录时音频的采样率非常高。
摘自文档-https://console.bluemix.net/docs/services/speech-to-text/index.html#about
对至少以16 kHz采样率采样的音频使用宽带。 对至少以8 kHz采样率采样的音频使用窄带。
因此,在使用宽带模型时,以8kHz采样的音频不会被很好地转录。