0

在 Google 语音算法页面 ( https://cloud.google.com/speech-to-text ) 上有一个“演示”部分,可以在其中上传文件并检查结果。使用 beta 功能我能够获得更好的结果,但我无法使用@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;

有谁知道什么可以有所作为?谢谢

4

1 回答 1

0

是的,使用 v1p1beta,将模型设置为“视频”而不是“默认”。

上次我使用这个时,一个类似的配置给了我最好的结果,但是我在你的配置中添加了一些你没有的东西:

  1. “使用增强:真”
  2. "speechContexts: {}" // 我给了识别器一些预期的短语
  3. “元数据”

您可以在此链接中找到所有这些的文档。

但我相信useEnhanced: true会对你的情况产生影响。这似乎是让识别器使用尖端模型的原因。

祝你好运 !

于 2021-01-21T14:15:29.993 回答