读取本地音频文件 STT Google 语音转文本
read Local audio file STT Google speech-to-text
我找不到如何在 curl 命令行中使用 Google STT 发送本地文件。
正如他们的教程所遵循的那样,这里是我的 request.json :
{
"config": {
"encoding":"FLAC",
"sample_rate": 16000,
"language_code": "fr-FR"
},
"audio": {
"uri":"audio-file.flac"
}
}
我的命令行是:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=MY_API_KEY"
但是我收到错误结果:
{
"error": {
"code": 400,
"message": "RecognitionAudio not set.",
"status": "INVALID_ARGUMENT"
}
}
如何编写request.json发送本地音频文件??
感谢帮助
:)
您需要在 request.json 文件的内容部分使用 base64。除了有更多的 base64 数据外,它应该看起来像这样:
{
'config': {
"encoding":"FLAC",
"sample_rate": 16000,
"language_code": "fr-FR"
},
'audio': {
'content':'UklGRuRDFQBXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YcBDFQAIAAgACAAIAAgA
CAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgA
CAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgA
CAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD4/wgACAD4//j/+P8IAPj/+P8IAAgA
+P8IAAgACAAIAAgA+
'
}
}
Google 不提供在 json 对象中指定本地文件路径的选项,而使用 curl command.We 需要将音频文件转换为 base64 并将输出传递到 json对象
base64 source_audio_file -w 0 > dest_base64_audio_file_content
或者 传递本地文件的最佳方法之一是使用 gcloud ml 命令.
gcloud ml speech recognize 'Clip48_Mike.wav' --language-code='en-US'
示例:
注意:
如果尚未完成,请按照以下命令激活 gcloud 帐户。
gcloud auth activate-service-account --key-file /tmp/account-name.json
我找不到如何在 curl 命令行中使用 Google STT 发送本地文件。 正如他们的教程所遵循的那样,这里是我的 request.json :
{
"config": {
"encoding":"FLAC",
"sample_rate": 16000,
"language_code": "fr-FR"
},
"audio": {
"uri":"audio-file.flac"
}
}
我的命令行是:
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=MY_API_KEY"
但是我收到错误结果:
{
"error": {
"code": 400,
"message": "RecognitionAudio not set.",
"status": "INVALID_ARGUMENT"
}
}
如何编写request.json发送本地音频文件?? 感谢帮助 :)
您需要在 request.json 文件的内容部分使用 base64。除了有更多的 base64 数据外,它应该看起来像这样:
{
'config': {
"encoding":"FLAC",
"sample_rate": 16000,
"language_code": "fr-FR"
},
'audio': {
'content':'UklGRuRDFQBXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YcBDFQAIAAgACAAIAAgA
CAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgA
CAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgA
CAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD4/wgACAD4//j/+P8IAPj/+P8IAAgA
+P8IAAgACAAIAAgA+
'
}
}
Google 不提供在 json 对象中指定本地文件路径的选项,而使用 curl command.We 需要将音频文件转换为 base64 并将输出传递到 json对象
base64 source_audio_file -w 0 > dest_base64_audio_file_content
或者 传递本地文件的最佳方法之一是使用 gcloud ml 命令.
gcloud ml speech recognize 'Clip48_Mike.wav' --language-code='en-US'
示例:
注意: 如果尚未完成,请按照以下命令激活 gcloud 帐户。
gcloud auth activate-service-account --key-file /tmp/account-name.json