Как рассчитать продолжительность аудиоклипа из байтового массива? - PullRequest
0 голосов
/ 12 апреля 2019

Я синтезирую речь, используя облачные API Google.У меня есть следующая информация об ответе синтеза речи.

  • Частота дискретизации: 8000 Гц
  • Аудиоформат: MP3
  • Длина массива байтов

Ответ от API - это байтовый массив.Учитывая эту информацию, как я могу приблизить или точно вычислить длину синтезированного звука?

1 Ответ

2 голосов
/ 13 апреля 2019

У вас недостаточно информации для вычисления продолжительности звука.

MP3 - это кодек с потерями, который может работать с различными битрейтами.Фактически, этот битрейт может меняться по всему файлу.Что еще хуже, у MP3 нет встроенной временной метки в обычном формате.Единственный реальный способ точно определить его длину - это декодировать его.

Кроме того, если вы знаете битрейт, вы можете разделить файл на битрейт и получить приблизительную длину.Если вы можете предположить, что во всем файле есть постоянный битрейт, вы можете получить бират, прочитав заголовок первого кадра.Смотрите также: http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm

...