Цифровой звук - это длинный список измерений: уровень звука, зафиксированный снова и снова, тысячи раз в секунду. Каждое такое измерение называется сэмплом. Формат сэмпла описывает, как записан один сэмпл: сколько бит он занимает и какого типа это число.
Какие файлы его содержат и откуда берется значение
Это поле относится к аудиоданным, поэтому встречается в аудиофайлах, таких как WAV, FLAC, MP3, AAC и OGG, а также в аудиодорожке видеофайлов, таких как MP4, MOV и MKV. Во многих отчетах по метаданным название сокращают до sample_fmt, где fmt - это просто сокращение от format.
Для несжатых форматов, таких как WAV, это значение является реальным свойством файла, выбранным записывающим устройством или программой, которая его сохранила. Для сжатых форматов оно описывает сэмплы, которые декодер выдает при воспроизведении файла, поэтому обычный MP3 часто сообщает формат с плавающей запятой, даже если в самом файле ничего явно на это не указывает.
Как выглядят значения
Значения - это короткие коды из буквы, числа и иногда завершающей p:
u8- беззнаковое 8 битs16- знаковое 16 битs32- знаковое 32 битflt- 32-битный формат с плавающей запятойdbl- 64-битный формат с плавающей запятойs16p,s32p,fltp,dblp- те же форматы, хранящиеся по плоскостям (planar)
Буквы показывают тип числа: s для знакового целого, которое может быть больше и меньше нуля, u для беззнакового, flt и dbl для чисел с плавающей запятой, которые позволяют передавать очень тихие и очень громкие фрагменты без клиппинга и используются аудиоредакторами. Цифры - это число бит на сэмпл. Если в отчете указано sample_fmt: s16, это значит, что каждый сэмпл - знаковое 16-битное число, тот же формат, что используется на аудио-CD. Звук, записанный в 24 бита, обычно передается в 32-битном формате, поэтому s32 встречается очень часто.
Завершающая p означает planar. Без нее каналы чередуются: левый сэмпл, правый сэмпл, левый сэмпл. С ней каждый канал хранится в своем собственном блоке. На звучание это не влияет; это важно только для программ, которые читают данные.
Почему это важно
Большее число бит на сэмпл означает более мелкие шаги между самым тихим и самым громким звуком, который может описать файл, поэтому тихие детали сохраняются лучше и возникает меньше слабого «зернистого» шума от округления. Поэтому в студиях записывают в 24 бита и сводят в формате с плавающей запятой, а отдают в 16 бит.
Это также влияет на размер. В несжатом файле переход с 16 бит на 24 бита делает аудиоданные в полтора раза больше при той же продолжительности и частоте дискретизации. И это сказывается на совместимости: многие аппаратные плееры, CD-рекордеры и старые программы принимают только 16-битные целые числа, поэтому мастер в формате с плавающей запятой обычно нужно конвертировать, прежде чем он будет воспроизводиться везде. Это поле ничего не сообщает о вас, вашем местоположении или оборудовании.