Android 谷歌语音Api的转录本不像以前那样准确
我正在使用阿拉伯语的谷歌语音API,它很早以前就已经转换了语音,并且达到了公认的准确度。但转录的准确性突然变得一点也不准确 我不知道怎么了。在这个问题上有什么帮助吗 编辑: 我的代码用于生成发送到api的请求 我用的是flac音频Android 谷歌语音Api的转录本不像以前那样准确,android,google-cloud-speech,Android,Google Cloud Speech,我正在使用阿拉伯语的谷歌语音API,它很早以前就已经转换了语音,并且达到了公认的准确度。但转录的准确性突然变得一点也不准确 我不知道怎么了。在这个问题上有什么帮助吗 编辑: 我的代码用于生成发送到api的请求 我用的是flac音频 try { OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(60, TimeUnit.SECONDS) .
try {
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.build();
JSONObject body = new JSONObject();
JSONObject configData = new JSONObject();
//config for flac files
configData.put("encoding", "FLAC");
configData.put("language_code", "ar-EG");
configData.put("sample_rate", 16000);
configData.put("enableAutomaticPunctuation", true);
JSONObject audioData = new JSONObject();
audioData.put("content", encodeFileToBase64Binary(filePath));
body.put("config", configData);
body.put("audio", audioData);
RequestBody requestBody = RequestBody.create(JSON, body.toString());
Request request = new Request.Builder()
.url("https://speech.googleapis.com/v1/speech:recognize?key=AIzaSyAhYB9C6a8axV7DMYbRluQ3QLa8nXCYL18")
.post(requestBody)
.build();
publishProgress(40);
Response response = client.newCall(request).execute();
String result = response.body().string();
publishProgress(80);
Log.d("SpeechApiResult", result);
return result;
} catch (Exception e) {
e.printStackTrace();
return null;
}
private String encodeFileToBase64Binary(String fileName) throws IOException {
byte[] bytes = FileUtils.readFileToByteArray(new File(fileName));
byte[] encoded = Base64.encodeBase64(bytes);
return new String(encoded);
}
看看这个代码片段,我可以想到两个主要的因果类别,它们会在使用时影响转录质量
- 是否确定代码中的
对象已正确用于填充?由于客户端库实现没有可见性,我无法确定它。确保你是configData
- 我看到您目前正在使用
参数。如果您不是从这种语言转录,我建议不要使用它enableautomaticpuntuation
- 您确定
对象的参数准确地描述了样本的音频属性吗?确保通过正确的方式记录、处理和编程设置样本RecognitionConfig
- 另一个陷阱是格式/编码混乱。确保你的样品符合要求。此外,将最初以有损格式记录的样本转换为无损格式后,将不会产生与最初以无损格式记录的样本相同的转录质量
- 你们的样品都有相同的阿拉伯语吗?有。在这种准确性的作用下,转录结果会有很大的不同,如果录音中包含当地方言或俚语,转录结果也可能会受到影响。扬声器清晰度和环境噪音也是重要因素
RecognitionConfig
对象
如果遵循这些建议并不能改善API的结果,请注意,语音到文本API与其他ML解决方案一样,可以使用预先训练好的预测模型。虽然这些模型在不断改进,但交付的结果仍然是近似的。如果您想帮助Google改进特定语言的API,您可以选择。请添加您使用的代码。您应该共享您的代码!我添加了我的代码“但是抄本的准确性突然变得一点也不准确”好吧,你在自己的应用程序中有什么改变吗?如果不是,问题就在谷歌的尽头。不,我没有,但是谷歌的尽头会有什么问题呢?