这是我的要求:
{
"processingStrategy": "DYNAMIC_BATCHING",
"files": [
{
"uri": "gs://{SECRET}/transcribes/1704048500788"
}
],
"recognitionOutputConfig": {
"inlineResponseConfig": {}
},
"config": {
"languageCodes": [
"he-IL"
],
"model": "chirp",
"autoDecodingConfig": {}
}
}
创建的操作,这是操作的响应:
{
"gs://{SECRET}/transcribes/1704044534650": {
"error": {
"code": 3,
"message": "The RecognitionConfig proto is invalid:\n * decoding_config: required oneof field 'decoding_config' must have one initialized field"
},
"metadata": {
"totalBilledDuration": "0s"
},
"transcript": {},
"inlineResult": {
"transcript": {}
}
}
}
我试图遵循此处的确切参考:https://cloud.google.com/speech-to-text/v2/docs/reference/rest/v2/projects.locations.recognizers#RecognitionConfig
但是还是不行。我也尝试手动设置解码选项,但仍然不起作用。 当我手动设置解码时遇到完全相同的问题。
这是我手动设置的主体:
{
"processingStrategy": "DYNAMIC_BATCHING",
"files": [
{
"uri": "gs://{SECRET}/transcribes/1704048774055"
}
],
"recognitionOutputConfig": {
"inlineResponseConfig": {}
},
"config": {
"languageCodes": [
"he-IL"
],
"model": "chirp",
"explicitDecodingConfig": {
"audioChannelCount": 1,
"encoding": "LINEAR16",
"sampleRateHertz": 16000
}
}
}
有什么想法吗?
我用这个 https://console.cloud.google.com/speech/recognizers/list 来生成识别器。然后我用这个 https://console.cloud.google.com/speech/transcriptions/list 进行转录。接下来,我单击顶部菜单栏上的复制代码按钮来获取 Nodejs 代码,它就可以工作了。
const fullPath = getStorage().bucket().file(
${uid}/${id}.m4a
)
.cloudStorageURI.href;
console.log(`Full path: ${fullPath}`);
const audioFiles = [{ uri: fullPath }];
// Full recognizer resource name created from `https://console.cloud.google.com/speech/recognizers/list?hl=en&project=${projectid}`
const recognizerName =
`projects/${projectid}/locations/${location}/recognizers/${name-of-recognizer-created}`;
const recognitionConfig = {
autoDecodingConfig: {},
model: "chirp",
languageCodes: ["auto"],
features: {
enableWordTimeOffsets: false,
enable_word_confidence: false,
},
};
const outputPath = {
inlineResponseConfig: {},
};
const request = {
recognizer: recognizerName,
files: audioFiles,
config: recognitionConfig,
recognitionOutputConfig: outputPath,
};
const callBatchRecoqnize = async () => {
const [operation] = await client.batchRecognize(request);
const [response] = await operation.promise();
return response;
};