Skip to main content

Характеристики и форматы аудио

Любой звук — это волны разных частот и амплитуд, которые распространяются в воздухе. Чтобы получить аудиофайл, звуковые волны нужно преобразовать сначала в электрические сигналы, а потом — в двоичные данные, которые умеют обрабатывать электронные устройства.

Наиболее широко для оцифровки звуковых сигналов применяется импульсно-кодовая модуляция (PCM, Pulse-code Modulation).

Частота дискретизации и битовая глубина

Звуковые сигналы оцифровываются с помощью дискретизации — семплирования. Сигнал измеряется через равные промежутки времени, и значение амплитуды сигнала фиксируется в момент измерения — это и есть семпл. Если сигнал замеряется 16 000 раз за секунду, частота дискретизации (sample rate) равна 16 000 Гц. Например, для телефонной связи обычно используется частота 8 000 Гц.

Если есть выбор, при распознавании лучше использовать аудио с частотой 16 000 Гц и выше, так как дискретизация с меньшей частотой может привести к потере точности распознавания — особенно если в аудио есть фоновые шумы.

После оцифровки сигналы переводятся в двоичную форму. Битовая глубина (bit depth) определяет, сколько бит отводится для хранения одного семпла.

Чем больше битовая глубина и частота дискретизации, тем точнее получившийся цифровой сигнал соответствует исходному.

Сжатие и потеря качества

Аудиофайлы могут быть сжаты для хранения и передачи. Сжатие может происходить с потерями информации (lossy) или без (lossless).

При сжатии с потерями часть данных аудиосигнала отбрасывается, и восстановить их не удастся. Не сжатое аудио наиболее приближено к исходному звуку.

Какие форматы и кодеки поддерживаются

Формат аудио — это своеобразный контейнер, в который с помощью специальной программы — кодека — записывается аудиосигнал. Для некоторых форматов кодек можно определить однозначно. Например, для формата MP3 всегда используется кодек MPEG Audio Layer III, а для FLAC могут использоваться разные кодеки.

Таблица с кодеками и примеры форматов, которые поддерживаются в VoiceKit:

КодекиПримеры форматовРаспознавание речиСинтез речиБез потерьБез сжатия
LINEAR16 (Linear PCM)WAV, FLAC++++
ALAW (a-law)WAV, WMA, FLAC+++-
MULAW (μ-law)WAV, FLAC+++-
OPUSOgg, WebM, MPEG, MP4++--
MP3 (MPEG Audio Layer III)MP3, MPEG, MP4+---

Также можно использовать raw-файлы, которые содержат необработанные аудиосигналы. Если аудио находится в контейнере (WAV, Ogg и так далее), перед распознаванием его нужно декодировать — кроме MP3: его можно передавать, как есть.

Метод синтеза речи возвращает raw-файл — если нужно, запакуйте полученные семплы в нужный формат.

Как правильно указать encoding

Чтобы понять, какое значение encoding нужно указать для ваших аудиофайлов:

  1. Посмотрите на расширение файла:

    • .mp3 — указывайте MPEG_AUDIO;
    • .opus — указывайте RAW_OPUS;
    • .aac — указывайте ADTS_AAC.
  2. Воспользуйтесь специальными утилитами, чтобы проверить свойства аудио. Примеры запуска утилит для файла test.wav с выводом:

    • утилита file:

      $ file test.wav
      test.wav: RIFF (little-endian) data, WAVE audio, ITU G.711 mu-law, mono 48000 Hz
    • утилита sox:

      $ soxi test.wav

      Input File : 'test.wav'
      Channels : 1
      Sample Rate : 48000
      Precision : 14-bit
      Duration : 00:00:34.31 = 1646649 samples ~ 2572.89 CDDA sectors
      File Size : 1.65M
      Bit Rate : 384k
      Sample Encoding: 8-bit u-law
    • утилита ffprobe из ffmpeg:

      ffprobe -i

      Input #0, wav, from 'test.wav':
      Duration: 00:00:34.31, bitrate: 384 kb/s
      Stream #0:0: Audio: pcm_mulaw ([7][0][0][0] / 0x0007), 48000 Hz, 1 channels, s16, 384 kb/s

Таблица с важными значениями в выводе утилит и вариантами encoding для каждого значения:

filesoxffprobeencoding
A-law8-bit a-lawpcm_alawALAW
mu-law8-bit u-lawpcm_mulawMULAW
Microsoft PCM, 16 bit16-bit Signed Integer PCMpcm_s16le (или s16be)LINEAR16
Opus audioOpusopusRAW_OPUS
MPEGMPEG audio (layer I, II or III)mp3MPEG_AUDIO

openapi@tbank.ru

АО «ТБанк» использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом. «Cookie» представляют собой небольшие файлы, содержащие информацию о предыдущих посещениях веб-сайта. Если вы не хотите использовать файлы «cookie», измените настройки браузера.