Что означают байты выборки в необработанных аудиофайлах?

Да, я знаю - т.е. в 16-битном целом числе со знаком каждые 2 байта представляют собой «выборку», которая представляет собой целое число от -32768 до 32767, но я не понимаю и не могу найти информацию, каково соответствие между фактическими значениями и звуками (параметры звуковой волны , если быть точным). Может ли кто-нибудь объяснить это мне или указать мне где-нибудь?


person Mariusz    schedule 13.05.2014    source источник
comment
См. здесь основы цифрового звука: audacity.sourceforge.net/manual-1.2/tutorial_basics_1. html   -  person bgporter    schedule 13.05.2014


Ответы (1)


Если вы визуализируете звуковую волну, это кривая в виде линии. А как мы все знаем, линия состоит из бесконечных точек. Поскольку жесткий диск ограничен в пространстве, он не может хранить бесконечное количество точек. Он просто может хранить несколько точек. Так что мы можем сделать? Мы просто берем несколько точек этой «линии» и сохраняем их. И каждый из этих пунктов является образцом. Это смещение звуковой волны в определенное время. Итак, если у вас есть такой звук:

скопировано из учебника Audacity
(источник: sourceforge.net)

Компьютер не может хранить всю волну. Он возьмет несколько точек этой волны и сохранит их. А сколько точек он вынимает для запоминания одной секунды, измеряется частотой дискретизации. Чем выше частота дискретизации, тем выше качество звука. Если бы частота дискретизации была бесконечным числом, качество было бы почти таким же хорошим, как исходная волна. Но почему почти? Это потому, что компьютер использует 8, 16, 24, 32, ... любые биты для хранения одного семпла. Чем больше битов он использует для хранения одного семпла, тем выше качество. В результате мы можем сказать, что теоретически качество звука было бы таким же хорошим, как исходный звук, если бы частота дискретизации была бесконечной И количество битов, используемых для хранения одного семпла, было бы бесконечным.

person Florian    schedule 13.05.2014
comment
Да, я понимаю, но допустим, моя программа прочитала значение: 10000 как значение одного сэмпла (скажем, это первый из 16000 семплов для этой секунды с аудиофайлом 16 кГц/16 бит). Что означает это точное значение 10000 с точки зрения звуковой волновой функции? Почему я могу просто добавить еще один образец, например, со значением 5000, чтобы смешать эти 2? - person Mariusz; 14.05.2014
comment
Ну, я бы предположил, что аппаратное обеспечение или его драйвер используют образцы для расчета выходного напряжения для динамиков. Это все. Но помните, что вы просто можете добавлять любые сэмплы (лишь бы они соответствовали указанному формату), но если вы добавите просто случайные значения, вы получите ужасный звук... - person Florian; 14.05.2014