我正在研究Google云语音转文本示例。 我从此链接GoogleCloudPlatform speech to text sample中提取了一个示例 我提到了Quickstart: Using Client Libraries 该示例中给出的示例文件可以正常工作。它给出了该音频文件的文本。 但是,如果我提供自己的音频文件,它将不会返回任何内容。
云请求包括音频文件,AudioEncoding和SampleRateHertz。 问题可能出在我自己的音频文件的AudioEncoding和SampleRateHertz中。
如何识别音频文件的AudioEncoding和SampleRateHertz?
答案 0 :(得分:1)
AudioEncoding
的Java枚举具有以下可能的值:
AudioEncoding.AMR
-> .awb / .3gp文件
AudioEncoding.AMR_WB
-> .awb / .3gp文件
AudioEncoding.FLAC
-> .flac 文件
AudioEncoding.LINEAR16
-> .wav 文件
AudioEncoding.MULAW
-> .wav 文件
AudioEncoding.OGG_OPUS
-> .ogg / .opus 文件
AudioEncoding.SPEEX_WITH_HEADER_BYTE
->不知道,也许是 .speex
因此,您可以通过文件扩展名进行初步猜测,对于SampleRateHertz
,您可以使用类似Tika by Apache的工具。这将为 commercial_stereo.wav 输出以下内容:
Content-Length: 6305632
Content-Type: audio/vnd.wave
X-Parsed-By: org.apache.tika.parser.DefaultParser
X-Parsed-By: org.apache.tika.parser.audio.AudioParser
X-TIKA:digest:MD5: 7e3e8837273e8bb143533894926f7da3
X-TIKA:digest:SHA256: 98fac004fb662ad8f720e680c81e3b4c9dea20190f5d1d908cece2cd6b30f01e
bits: 16
channels: 2
encoding: PCM_SIGNED
resourceName: commercial_stereo.wav
samplerate: 44100.0
xmpDM:audioSampleRate: 44100
xmpDM:audioSampleType: 16Int