Цифровой звук, частота дискретизации звука |
[Jul. 2nd, 2008|07:46 pm] |
Я нифига не понимаю про звук с научной точки зрения, но потребляю музыку иногда (а ещё учился в муз. школе несколько лет).
Надо будет разобраться, что к чему. Сейчас набросок, если кто-нибудь даст интересные понятные комментарии или хотя бы ссылки, укажет, где я рассуждаю очень неверно, буду рад.
Обновление: я во многих отношениях домыслил неправильно, пишу следующую версию. Надо будет оценить дебильность версий (я надеюсь на не менее чем пяток версий до приемлемого уровня понимания механизмов), пусть у этой она будет 100 у.е. Дебильность — дебильность моих домыслов. Здесь наиболее стрёмно — там, где про "1.28 МГц", а также совсем неправильные предположения по содержанию теоремы Уиттекера-Найквиста-Котельникова-Шэннона.
Сейчас такое впечатление, что кодируют ("без потери качества") звук методом PCM или DSM. Что в малокультурной (мало, по-моему, терминов исконно русских или хотя бы исконно греческих, больше похоже на кальки с языков народов, не справившихся с латинским языком) отечественной терминологии можно обозвать ИКМ (импульсно-кодовая модуляция) и СДМ (сигма-дельта модуляция). При этом может применяться "частота дискретизации": "показания" снимают через равные промежутки времени.
По сути: ИКМ — измерение одним числом количественной характеристики звука каждый раз. Характерны частоты (сколько раз в секунду снимаются показания) 11025, 22050, 44100 (компакт-диск) герц. Дискретизация состоит в том, что значение битами кодируют, так что получается целое или дробное число на сколько-то бит. Популярные значения: целые на 8 и 16 (компакт-диск) бит, "продвинуто" — на 24 бита (на компьютере с этим могут быть заморочки: у кучи людей так или иначе сравнительно сильно глючит), а также более далёкие от простых людей форматы с целыми в более широких диапазонах или дробных числах (до 64 бит обычно всё, как я понимаю).
СДМ — измерение изменения количественной характеристики звука. Относится из известного, видимо, к Сони и их "супер-аудио-компакт-диска" — SACD. Частота бешенная обычно (более 2 МГц), но кодируется обычно вообще одним битом. Так что если без хитростей (то есть так, наверное, никто не делает, и вообще это "бухгалтерское" огрубление) попытаться, например, перекодировать в это 24-битный звук, то переход от минимума к максимуму займёт примерно 1/8 секунды. А если 16-битный, то примерно 1/2048 (это уже быстро). На самом деле, наверняка там много хитростей на эти (резкие переходы) случаи. Про то, как воспроизводят СДМ я здесь не рассуждаю.
Обновление: похоже, некоторых потенциальных по моему предположению проблем может и не быть. Подробнее разбираюсь с теоремой Уиттекера-Найквиста-Котельникова-Шэннона: возможно, предполагавшаяся мной идея приближения синусоидами неверна напрочь, что неудивительно. В то же время сам звук вполне адекватно, вроде бы, представляется непрерывной (и фактически ограниченной: мы не хотим, чтобы нам взорвали мозг) функцией с вещественным значением от времени. Ноты и всякие "чистые" звуки — синусоиды. Обычно с целым (и чётным) числом периодов в секунду. Когда звуки накладываются, то, грубо говоря, функции складываются.
То, что я обозвал "чистыми" звуками может иметь значение, так как в математике (функциональный анализ) популярно функции такого типа представлять в виде линейных комбинаций (сумм с коэффициентами) некоторых базовых функций. Если брать в качестве базовых функций синусоиды (sin(nx) и cos(nx) для разных n от примерно 1 до какого-то разумного числа: чем больше, тем лучше получится приближение; не для произвольного набора "базовых функций" всё так легко и просто, а также давно известно, как для синусоид, но для упомянутой науки синусоиды — просто частный случай), то вычисления получаются довольно простыми (если уметь быстро считать интегралы). Да, базовые функции-то периодические: мы приближаем не весь долгий звук, а одну его секунду, так можно.
Для воспроизведения звуков используются разложения в линейные комбинации базовых функций, но нужно уметь хорошо воспроизводить хотя бы их. Зачастую воспроизводятся легче какие-то угловатые уроды, а не синусоиды. На различие того, что в идеале, и того, что на самом деле, обычно, как я понимаю, плюют.
Итого: чтобы найти линейную комбинацию, приближающую функцию, нужно вычислить 2N коэффициентов, где N — граница сверху n а аргументе sin(nx).
Чтобы было легче запутаться, звук sin(nx) — звук частотой n герц, если одна секунда — 2π.
Однако для определения разумного N обычно используют соображение слышимости человеком звуков высокой частоты. Обычно порогом считают что-то около 20 кГц.
Тогда "бухгалтерски" ясно, что измерять надо хотя бы 2N раз в секунду (тогда вычисляем 2N чисел, решая линейную систему из 2N уравнений, иначе точно много вариантов разложения будет: информации не хватит). Технически задача может быть сложной, естественно, на ней будут изрядно халявить (как и на точности воспроизведения самих базовых функций).
Надо отметить, что звук с частотой, например, 400/3 герц будет раскладываться как-то сложно (и неточно, кажется). А звуки в 133 и 134 герца — точно в одно слагаемое каждый. А ещё есть фаза: если "сдвинуть" звук, например, вместо sin(400x) взять sin(1+400x), то также вместо одного слагаемого их станет море, разложение, наверное, точным быть перестанет.
Таким образом: воспроизводить скорее всего (если не ставят опыты на людях), будут частоты от нескольких герц до 20 кГц, а вот информации потребуется >40000 образцов в секунду, так что "частота дискретизации" будет >40 кГц. Для компакт-диска — частота 44100 герц.
Довольно правдоподобны такие рассуждения: соответственно, чтобы записать (в музыкальном смысле, а не цифровом) компакт диск может требоваться уже источник, у цифрового носителя которого частота дискретизации >88200 герц. И т.д. Это если не хочется терять качество. Для записей с частотой дискретизации 96 кГц и "глубиной" 24 бит (у меня только одна такая, но они уже довольно много лет выходят) студиям может потребоваться 192 кГц и 24 бит "глубины" (скорее всего, "глубина" у них будет больше, как взаимозаменять "глубину" и "частоту дискретизации" я не смотрел и не задумывался).
Польза от высокой частоты и большой "глубины" дискретизации ясна: возможности по точному воспроизведению в слышимом диапазоне от этого теоретически увеличиваются. Но каков (даже приблизительно) предел, за которым человек не сможет отличить — вопрос для меня открытый.
Обновление: в этом абзаце — чушь. Ибо эффект от отказа от нижних частот будет не такой очевидный. Ничего близкого. Что именно на самом деле — не знаю точно. Также, например, если мы вдруг не используем частот sin(nx) с n=0
2, то функцию мы приближаем каждый раз не на промежутке в 1 секунду, придётся брать промежутки в 1/32 секунды. А для каждого промежутка нужно будет те же >40000 образцов, итого: частота дискретизации будет больше 1280000 герц, 1.28 МГц.
Так что найти применение высокой частоте несложно. --- может и вывод неверный; но с точки зрения приближения функции количество базовых функций вполне полезно, конечно; со слышимостью человеческим ухом высоких частот это связано меньше, чем можно было бы предположить ---
Однако фактически, например,
1) мне всего один раз рекомендовали как очень качественную запись в этом самом "24/96", но на ней были слышимые огрехи воспроизводящего оборудования, не вдаваясь в подробности: если музыку в подземном переходе записать хоть на "64/1000000", то нежелательные голоса, шаги и т.п. прохожих не исчезнут
2) по-любому требуется относительно дорогая воспроизводящая техника
3) если на компьютере, то один вентилятор или жёсткий диск может своим шумом испортить всё впечатление
Советы, мысли? |
|
|