问题描述
在 Google Speech 算法页面 (https://cloud.google.com/speech-to-text) 上有一个“演示”部分,您可以在其中上传文件并检查结果。使用测试版功能我能够获得更好的结果,但我无法使用 @google-cloud/speech
库为同一视频文件获得类似的结果。
这些是它在演示部分中显示的配置:
{
"audio": {
"content": "/* Your audio */"
},"config": {
"audioChannelCount": 2,"enableAutomaticpunctuation": true,"enableSeparateRecognitionPerChannel": true,"encoding": "LINEAR16","languageCode": "en-US","model": "default"
}
}
它在 Video
模型选项卡下显示的最佳结果,因此我认为应该将 default
模型替换为 video
,尽管它也无济于事。
const speech = require('@google-cloud/speech').v1p1beta1;
const client = new speech.SpeechClient({});
const file = fs.readFileSync('filePath');
const audioBytes = file.toString('base64');
const config = {
languageCode: 'en-US',sampleRateHertz: 16000,encoding:'LINEAR16',audioChannelCount: 2,enableAutomaticpunctuation: true,enableSeparateRecognitionPerChannel: true,model: 'video',};
const request = { audio: { content: audioBytes },config };
const [operation] = await client.longRunningRecognize(request);
const data = await operation.promise();
return data;
有谁知道有什么不同? 谢谢
解决方法
是的,使用 v1p1beta,将模型设置为“视频”而不是“默认”。
上次我使用这个时,类似的配置给了我最好的结果,但我添加了一些你在配置中没有的东西:
- "useEnhanced: true"
- "speechContexts: {}" // 我给了识别器一些预期的短语
- “元数据”
您可以在 this link 中找到所有这些的文档。
但我相信 useEnhanced: true 会对您的情况产生影响。这似乎是识别器使用尖端模型的原因。
祝你好运!