//
запись...

Все статьи

Тайны динамического квантования (разрядности)


Сегодня я бы хотел развеять один миф, о котором до недавнего времени даже не подозревал. Он касается динамического квантования, то есть разрядности (Bit Depth).

Казалось бы, разрядность – математический показатель, у него должно быть строгое определение и стройное математическое объяснение. Но выяснилось, что и здесь не обошлось без теорий заговора и ауры таинственности.

В комментариях к моей статье Частота дискретизации и разрядность недавно появился вопрос примерно такого содержания:

Везде пишут, что разрядность – геометрическая прогрессия. Здесь тоже говорится, что при разрядности 16 бит система может передать 65536 уровней громкости (2 в степени 16). А при 24 битах — 16777216 уровней (2 в степени 24). Откуда взялись такие цифры? Сконвертируйте звуковой файл с увеличением частоты дискретизации в 2 раза, а потом изначальный файл с увеличением динамического квантования в 2 раза. Количество байт в конечных файлах будет одинаковым, и оба будут «весить» в 2 раза больше исходного. Никакой геометрической прогрессии нет! Откуда такие заблуждения?


Ранее я подобных тестов не проводил, и сначала мне все это показалось какой-то ерундой. Но закрались сомнения, а потому я решил проверить.

Чтобы исключить влияние других факторов, в первую очередь я решил удостовериться, что сама по себе прорисовка волны не влияет на размер файла. В этом у меня сомнений не было, поскольку два одинаковых по длительности wav-файла при идентичных параметрах «весят» всегда одинаково, но все же я еще раз в этом убедился следующим образом:

Я открыл 16-битный файл (#1) в редакторе и сделал ему лимитирование с поднятием чувствительности на +20 дБ, чтобы значительно изменить форму волны, но оставить без изменения длительность. Результат сохранил в новый файл (#2).

Затем я понизил громкость исходного файла на 96 дБ (разрешающая способность 16 бит) и сохранил это в третий файл (#3).

Далее я выделил в исходном файле всю волновую информацию, заменил ее тишиной (Insert Silence) и сохранил еще один файл (#4).

Теперь я проверил размеры файлов. Файлы #1, #2 и #3 были абсолютно равны, а вот файл #4 был значительно меньше. Вывод: прорисовка волны не влияет на размер файла, на него влияет лишь само наличие волны (в файле с тишиной ее не было).

Что это значит? Что информация в звуковых файлах содержится в виде точек, у которых есть координаты времени и амплитуды. Время задается на абсциссе (шкале X) и измеряется в семплах, а амплитуда задается на ординате (шкале Y) в виде дискретного значения, размер которого задается разрядностью. Главный вывод в том, что и очень тихий, и очень громкий семплы будут равными по размеру, ведь это всего лишь точки. Обратите внимание на рисунок: если бы уровень громкости каждого семпла задавался не точкой, а вертикальным отрезком, то громкие записи занимали бы больше места, так как фиксировалась бы вся информация, залитая черным цветом в нижней части схемы.

Эксперимент с удвоением частоты дискретизации и разрядности

Настало время перейти к увеличению частоты дискретизации и разрядности и сравнению результатов с исходными файлами. Я взял 8-битный файл и увеличил его разрядность до 16. Размер нового файла действительно увеличился ровно вдвое – с точностью до байта. Аналогичное увеличение размера давало удвоение дискретизации. Получается, вопрос имел смысл!

Дальше последовали небольшие теоретические расчеты. Для простоты я взял числа с меньшими степенями:

  • 2^4 = 16 – разрядность 4, количество дискретных значений – 16.
  • 2^8 = 256 – разрядность 8, количество дискретных значений – 256.

Чтобы задать амплитуду каждого семпла, аудиоредактор в первом случае командует: помести на точке X (номер семпла) значение Y в одну из 16 возможных ячеек (по высоте). Во втором случае – в одну из 256.

На этом этапе и возникает загвоздка: если 256 больше 16 в 16 раз, то размер файла должен увеличиться как раз в 16 раз. Но это противоречит данным, полученным эмпирически!

И тут я вспомнил, что программа не может работать с числами 16 и 256, поскольку система счисления аудиоредактора двоичная, он оперирует только нулями и единицами. Казалось, отгадка найдена, но расчеты все равно не сходились: 16 в двоичной системе – это 10000 (5 символов), а 256 – 100000000 (9 символов). Переход от одного к другому даст увеличение более чем в два раза.

На выручку пришел старый добрый… MIDI-протокол! Я вспомнил его важную особенность: несмотря на то, что значений у каждого параметра 128 (2^7), максимальное значение всегда 127. Отсчет ведется не от единицы, а от нуля, и вместе с ним значений становится 128.

Получается, что в приведенных выше расчетах нужно учитывать значения от 0 до 15 и от 0 до 255.

В 4-разрядной системе мы считаем от 0000 до 1111 (15 в двоичной системе – 1111).

В 8-разрядной системе мы считаем от 00000000 до 11111111 (255 в двоичной системе – 11111111).

Вуаля! Для записи 1111 требуется 4 ячейки, для записи 11111111 – 8, то есть ровно вдвое больше.

Вывод: количество возможных уровней громкости с удвоением динамического квантования увеличивается в геометрической прогрессии, но объем записанного в двоичной системе счисления файла увеличился лишь вдвое.

Этот вопрос к статье я увидел поздно ночью накануне вылета на гастроли. Но пока я не пришел к его решению, я не мог уснуть. В аэропорт я поехал сонным, но довольным! Думаю, для людей с техническим образованием приведенные выкладки покажутся смешными. Но ведь в музыке много людей с гуманитарным складом мышления, и надеюсь, что мне удалось объяснить так, чтобы и далекий от инженерных дел музыкант понял, что парадокса в этом вопросе нет.

Если вы гуманитарий, но хотите создавать технически грамотную музыку, а также если вы инженер, но в душе остаетесь творческой натурой и мечтаете реализовать себя в музыке, – обратите внимание на мою книгу «Академия Мюзикмейкера». В ней есть вся необходимая информация для создания музыки от А до Я. Плюсы книги в том, что она написана простым человеческим языком, сопровождается реальными историями из личной практики, снабжена большим количеством иллюстраций и схем, а также ссылками на музыкальные произведения, в которых применены описываемые в книге приемы работы. Книга продается во многих городах России и за рубежом, адреса магазинов указаны на сайте.

Ну а если вам привычнее и удобнее получать информацию в электронном виде – подписывайтесь на этот блог, постепенно самые важные и интересные разделы книги будут опубликованы здесь, причем совершенно бесплатно. Также добро пожаловать в мою группу о синтезаторах Вконтакте и в мой Инстаграм.


© Алексей Данилов
Иллюстрация: А. Рублевский
При перепечатывании ссылка на источник обязательна

Интересное: