1

我正在使用 Google Speech to Text API 将 WAV 文件转换为文本。当我播放 WAV 文件时,它工作正常,但是当我运行 Google Speech To Text API 时,我收到此错误:

WAV header indicates an unsupported format.

当我尝试使用ffmpeg工具分析文件时,出现以下错误:

Output #0, wav, to '/home/shubham/workspace/intent-service/scripts/audio2.tmp.wav':
Metadata:
  ISFT            : Lavf57.83.100
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s
  Metadata:
    encoder         : Lavc57.107.100 pcm_s16le
[gsm_ms @ 0x55d4c255cd20] Packet is too small
Error while decoding stream #0:0: Invalid data found when processing input size=7924kB time=00:08:27.16 bitrate= 128.0kbits/s speed=3.72e+03x    
video:0kB audio:7924kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000961%

我错过了什么?

4

2 回答 2

1

问题是文件编码不是受支持的类型之一。我们曾经ffmpeg将编码更改为 mu-law,现在它工作正常。

于 2020-07-26T04:51:22.983 回答
0

是的,对于 .wav 文件,您应该添加一个标志,通过键入将其编码指定为 Linear16:--encoding=linear16。

与 Google STT API 兼容的唯一其他格式是 .flac,由于您拥有 ffmpeg,您可以将其转换为该格式并在命令中添加标志 --encoding=flac

于 2021-01-07T05:12:40.130 回答