我是一名Java开发人员,我有几个与Google语音API V1Beta1相关的问题。
我尝试上传(通过GCS)小尺寸(运行文件少于一分钟)音频文件到google speech api它正在工作但是置信度输出级别仅为0.32497215
。这是我的结果与我的音频输入不完全相同。
如何提高置信度输出?
我尝试了大尺寸音频文件(运行文件超过一分钟)。这个案例我使用了 API调用:
https://speech.googleapis.com/v1beta1/speech:asyncrecognize?key=XXXXXXXXXXXXXXXXXXXX
和有效负载:
"{"config":{"encoding":"LINEAR16","sample_rate": 16000},"audio":{"uri":"gs://" + bucketName +"/"+ objectName + ""}}"
这里我得到输出json ,如
{"name": "57...........................95"}.
获取此输出后,我使用此名称值进行新的API调用(操作界面)。
https://speech.googleapis.com/v1beta1/operations/57.................................95?key=XXXXXXXXXXXXXXXXX
我得到了输出
{
"name": "57....................................95",
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.speech.v1beta1.AsyncRecognizeResponse"
}
}
如何使用此值继续工作?我需要获得音频语音文本。
请帮我解决这个问题。提前谢谢。
答案 0 :(得分:1)
Question 1
的想法:
您应该在RecognitionConfig
对象中提供更多详细信息,例如指定languageCode
并通过SpeechContext
object添加提示。
回答Question 2
:
检查音频文件的sample rate
,您必须确保它等于您在请求中提供的费率。你可以检查它,例如使用以下代码soxi audio_file.flac
(此代码需要sox
)。