我正在尝试使用Google Speech to Text API转录WAV音频文件。
除我经常点击的一个WAV文件外,大多数文本提取工作

我已推荐https://cloud.google.com/speech-to-text/docs/encoding

并尝试了两种编解码器,但仍然失败。
我试图通过soxi命令获取wav的详细信息

>> soxi org\ hearing.WAV
Input File     : 'org hearing.WAV'
Channels       : 1
Sample Rate    : 22050
Precision      : 13-bit
Duration       : 00:14:59.99 = 19844721 samples ~ 67499.1 CDDA sectors
File Size      : 9.99M
Bit Rate       : 88.8k
Sample Encoding: 4-bit IMA ADPCM
我可以知道编码格式是否支持“4位IMA ADPCM”吗?或对应格式的对应编解码器是什么?
https://cloud.google.com/speech-to-text/docs/encoding#audio-encodings
如果确实不是源文件中受支持的编解码器,是否仍要使用某些GCP功能将其转换为FLAC / WAV支持的编解码器,然后在无需用户手动转换的情况下提取文本?因为我正在与需要虚假友好提取功能的管理人员打交道。

最佳答案

您需要使用enums.RecognitionConfig.AudioEncoding.LINEAR16,这非常适合wav扩展名。
我可以看到您的采样率为22050,您无法将采样率设置为16000
当我的位深度未设置为16时,我也遇到了问题,因此请将您的位深度设置为16,
通过这些更改,它将起作用。
如果您使用的是 socks ,则可以轻松完成。下面是sox命令,用于更改采样率和位深度。

sox audio.wav -r 16000 -c 1 -b 16 audio_1.wav bandreject 200 3k
我已经使用bandreject实现了带通滤波器,如果不需要,可以删除此部分。

关于audio - 在Google Speech to Text API中需要WAV文件的正确编解码器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62835631/

10-13 08:29