我正在使用Node JS客户端开发Google Cloud Speech to Text API。 我在https://github.com/googleapis/nodejs-speech处找到了该项目,并从中试用了示例。 一切正常,但是我找不到用于alternateLanguageCodes的示例。 我发现它在V1P1Beta1版本中受支持,如下所示: https://cloud.google.com/speech-to-text/docs/reference/rest/v1p1beta1/RecognitionConfig, 如果我们提供AlternativeLanguageCodes,则api会尝试将音频转录为最相关的语言。 我观察到的是,它始终只转录为languageCode中指定的语言。
有人有机会尝试使用此API吗?如果是这样,您能否解释一下如何检测替代语言。
答案 0 :(得分:0)
使用下面的代码对我有用,尽管确实没有检测到正确的语言。考虑到此功能is still in Beta。无论如何,看到in official docs的内容为:
...功能非常适合...抄录语音命令或搜索之类的简短语句。
在我的代码中使用了这种特殊的音频(用英语说“布鲁克林大桥的年龄”),运行了几次,有时返回了正确的转录,有时则是“ bre kodbraća几岁“。此行为可能会有所不同,具体取决于所提供的语言,音频示例...
const speech = require('@google-cloud/speech').v1p1beta1;
var client = new speech.SpeechClient();
var languageCode = 'sr-SR';
var alternativeLanguageCodes = [`es-ES`,`en-US`];
var model = 'command_and_search';
const config = {
alternativeLanguageCodes:alternativeLanguageCodes,
model:model,
languageCode: languageCode,
};
var uri = 'gs://cloud-samples-tests/speech/brooklyn.flac';
const audio = {
uri: uri,
};
const request = {
config: config,
audio: audio,
};
client.recognize(request).then(data => {const response = data[0]; const transcription = response.results.map(result => result.alternatives[0].transcript).join('\n');console.log(`Transcription: `, transcription); }).catch(err => {console.error('Error:',err);});