Я работаю над образцами преобразования речи в текст в облаке Google. Я взял образец по этой ссылке Пример преобразования речи в текст GoogleCloudPlatform И я сослался на Краткое руководство: использование клиентских библиотек Примеры файлов, приведенных в этом примере, работают нормально. Он дает текст этого аудиофайла. Но если я предоставлю свой собственный аудиофайл, он ничего не вернет.
Облачный запрос включает аудиофайл, AudioEncoding и SampleRateHertz. Проблема может быть в AudioEncoding и SampleRateHertz моего собственного аудиофайла.
Как определить AudioEncoding и SampleRateHertz аудиофайла?
Перечисление Java AudioEncoding
имеет следующие возможные значения:
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
вы можете использовать такой инструмент, как Тика от 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
Есть ли какой-нибудь образец Java для изменения свойств моего аудиофайла? Я хочу изменить кодировку аудиофайлов на AudioEncoding.FLAC и частоту дискретизации на 16000.