当我尝试使用以下配置调用 Google Cloud Speech to Text Api 进行长期识别时:
pd.read_csv
我收到此错误
接收到无效的JSON有效负载。 “ config”处的名称未知“ encoding”:Proto字段未重复,无法启动列表
如何解决?
答案 0 :(得分:1)
能否请您提供更多信息...例如您在项目的此部分使用哪种语言和库版本?
假设您使用的是 Python ,您可以在此处找到连接到 Google云语音转文本 Api 的另一种官方方式:{{3 }}
我惯用的方法是将var person = {
name: "Brendan Eich",
hello: function(thing)
{
console.log(this.name + " says hello " + thing);
}
}
var bind = function(func, thisValue)
{
console.log("Arguments are:", arguments);
return func.apply(thisValue, arguments);
}
var boundHello = bind(person.hello, person);
//boundHello("world") // "Uncaught TypeError: boundHello is not a function"
phyton包与JSON数据结构一起使用,而不是与字典数据一起使用。
googleapiclient
如果您不知道如何安装python软件包,请参阅此官方文章:https://cloud.google.com/speech-to-text/docs/basics
有关LongRunning请求,请参阅: https://packaging.python.org/tutorials/installing-packages/#id13
在这种情况下,配置JSON结构为:
import base64
import googleapiclient.discovery
with open(speech_file, 'rb') as speech:
# Base64 encode the binary audio file for inclusion in the JSON
# request.
speech_content = base64.b64encode(speech.read())
# Construct the request
service = googleapiclient.discovery.build('speech', 'v1')
service_request = service.speech().recognize(
body={
"config": {
"encoding": "LINEAR16", # raw 16-bit signed LE samples
"sampleRateHertz": 16000, # 16 khz
"languageCode": "en-US", # a BCP-47 language tag
},
"audio": {
"content": speech_content
}
})
RecognitionConfig 是以下类型的JSON对象:
{
"config": {
object(RecognitionConfig)
},
"audio": {
object(RecognitionAudio)
}
}
RecognitionAudio 是这种类型的
{
"encoding": enum(AudioEncoding),
"sampleRateHertz": number,
"languageCode": string,
"maxAlternatives": number,
"profanityFilter": boolean,
"speechContexts": [
{
object(SpeechContext)
}
],
"enableWordTimeOffsets": boolean
}
对于LongRunning识别,您还可以参考以下链接: https://cloud.google.com/speech-to-text/docs/reference/rest/v1/speech/longrunningrecognize
它显示了如何将Phyton软件包{
// Union field audio_source can be only one of the following:
"content": string,
"uri": string
// End of list of possible types for union field audio_source.
}
用于长时间运行的请求,只需在Phyton类中使用以下方法即可:
googleapiclient.discovery