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

Кодирования звука.

Звук – это звуковая волна, у которой непрерывно меняется амплитуда и частота. При этом амплитуда определяет громкость звука, а частота — его тон. Чем больше амплитуда звуковых колебаний, тем он громче. А частота писка комара больше частоты сигнала автомобиля. Частоту измеряют в Герцах. 1Гц — это одно колебание в секунду.

Кодирование звука.

Компьютер является мощнейшим устройством для обработки различных типов информации, в том числе и звуковой. Но аналоговый звук непригоден для обработки на компьютере, его необходимо преобразовать в цифровой. Для этого используются специальные устройства — аналого-цифровые преобразователи или АЦП. В компьютере роль АЦП выполняет звуковая карта. Каким же образом АЦП преобразует сигнал из аналогового в цифровой вид? Давайте разберемся.

Пусть у нас есть источник звука с частотой 440Гц, пусть это будет гитара. Сначала звук нужно превратить в электрический сигнал. Для этого используем микрофон. На выходе микрофона мы получим электрический сигнал с частотой 440Гц. Графически он выглядит таким образом:

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука

Следующая задача — преобразовать этот сигнал в цифровой вид, то есть в последовательность цифр. Для этого используется временная дискретизация — аналоговый звуковой сигнал разбивается на отдельные маленькие временные участки и для каждого такого участка устанавливается определенная величина интенсивности звука, которая зависит от амплитуды. Другими словами через какие-то промежутки времени мы измеряем уровень аналогового сигнала. Количество таких измерений за одну секунду называется частотой дискретизации. Частота дискретизации измеряется в Герцах. Соответственно, если мы будет измерять наш сигнал 100 раз в секунду, то частота дискретизации будет равна 100Гц.

Вот примеры некоторых используемых частот дискретизации звука:

В итоге наш аналоговый сигнал превратится в цифровой, а график станет уже не гладким, а ступенчатым, дискретным:

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука

Глубина кодирования звука — это количество возможных уровней сигнала. Другими словами глубина кодирования это точность измерения сигнала. Глубина кодирования измеряется в битах. Например, если количество возможных уровней сигнала равно 255, то глубина кодирования такого звука 8 бит. 16-битный звук уже позволяет работать с 65536 уровнями сигнала. Современные звуковые карты обеспечивают глубину кодирования в 16 и даже 24 бита, а это возможность кодирования 65536 и 16 777 216 различных уровней громкости соответственно.

Зная глубину кодирования, можно легко узнать количество уровней сигнала цифрового звука. Для этого используем формулу:

где N — количество уровней сигнала, а i — глубина кодирования.

Например, мы знаем, что глубина кодирования звука 16 бит. Значит количество уровней цифрового сигнала равно 2 16 =65536.

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

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

Кроме того, мы рассматривали монофонический (одноканальный) звук, если же звук стереофонический, то размер файла увеличивается в 2 раза, так как он содержит 2 канала.

Рассмотрим пример задачи.

Какой объем будет иметь звуковой монофонический файл содержащий звук, если длительность звука 1 минута, глубина кодирования 8 бит, а частота дискретизации 22050Гц?

Зная частоту дискретизации и длительность звука легко установить количество измерений уровня сигнала за все время. Если частота дискретизации 22050Гц — значит за 1 секунду происходит 22050 измерений, а за минуту таких измерений будет 22050*60=1 323 000.

На одно измерение требуется 8 бит памяти, следовательно на 1 323 000 измерений потребуется 1 323 000*8 = 10 584 000 бит памяти. Разделив полученное число на 8 получим объем файла в байтах — 10584000/8=1 323 000 байт. Далее, разделив полученное число на 1024 получим объем файла в килобайтах — 1 291,9921875 Кбайт. А разделив полученное число еще раз на 1024 и округлив до сотых получим размер файла в мегабайтах — 1 291,9921875/1024=1,26Мбайт.

Источник

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

Методическая копилка учителя информатики

Meet Your Teacher

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука

Click here to read about
Mrs. Smith

More Stuff

Current Poll

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука

Template tips

22. Кодирование звука.

Звуковую информацию можно представить разными способами. Например, музыку можно записать с помощью нот. Так же как числовую, текстовую и графическую информацию, звук можно кодировать с помощью чисел. Для этого используются специальные приемы и правила. Кодирование звука двоичными числами дает возможность автоматизировать хранение, обработку и передачу звуковых данных с помощью современных компьютеров. Также кодирование звука используется при работе практически любой современной бытовой аудиоаппаратуры.
Как и графика, звук по своей природе является непрерывным. Поэтому для кодирования звука непрерывный звуковой сигнал необходимо разделить на отдельные элементы. Для понимания правил преобразования непрерывного звукового сигнала в дискретный необходимо опираться на знания физической природы звука.

Рассмотрим в качестве примера процесс распространения звука в воздухе. Во время разговора голосовые связки человека заставляют колебаться частицы воздуха. В воздухе возникает волна, аналогичная той, что появляется в воде, когда дует ветер. Колебания частиц воздуха, в свою очередь, заставляют колебаться перепонку уха человека — человек воспринимает звук. Кроме голосовых связок, волновые колебания частиц воздуха, воспринимаемые как звук, могут быть вызваны ударами по барабану, колебаниями гитарных струн, перемещением ветром опавших листьев и многим другим. Волновые колебания частиц воздуха, а значит, и звуковые волны могут воспринимать большинство живы х организмов, обитающих на Земле.
Основными параметрами звуковой волны явл яются частота и амплитуда колебаний (рис. 47).

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука

Частота колебаний звуковой волны — это количество колебаний частиц среды в единицу времени. Чем больше частота звуковых колебаний, тем выше тон звука. Например, за один и тот же промежуток времени тонкая гитарная струна по сравнению с толстой струной колеблется большее количество раз. Поэтому тонкая струна издает высокий звук, а толстая — низкий звук. Количество колебаний в секунду — частота колебаний измеряется в герцах (Гц). Одно колебание в секунду соответствует 1 Гц. Диапазон частот звуковых колебаний, воспринимаемых человеком, составляет от 16 Гц до 20 кГц. Звук очень низкой частоты (инфразвук), который издают слоны, или звук очень высокой частоты (ультразвук), который издают летучие мыши, человек не слышит.
Амплитуда колебаний звуковой волны определяет размах колебаний, громкость звука. Чем больше амплитуда звуковых колебаний, чем интенсивнее их сила, тем громче звук. Громкость звука измеряется в децибелах (дБ). Человек слышит звуки громкостью от 0 (порог слышимости) до 140 дБ (болевой порог). Человек с нормальным слухом может услышать писк комара, который издает звук малой громкости. Шум двигателей реактивных самолетов или звук большой громкости из наушников плеера оказывают негативное воздействие на слух человека.
Преобразовать непрерывный звуковой сигнал в дискретный позволяет дискретизация по времени, которая заключается в разделении непрерывной волны на равные временные участки. Для каждого такого временного участка измеряется величина амплитуды колебания звуковой волны. Количество измерений в единицу времени называется частотой дискретизации звука.
Частота дискретизации звука, как и частота колебаний звуковой волны, измеряется в герцах (Гц). В данном случае 1 Гц — это 1 измерение амплитуды в 1 с.

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

Например, для хранения любого из восьми уровней амплитуды колебаний звука требуется 3 бита памяти (2′ = 8, / = 3 бит), а для хранения любого из 256 уровней требуется 8 бит памяти (2′ = 256, / = 8 бит). В первом случае глубина кодирования звука равна 3 битам, а во втором случае — 8 битам, что составляет 1 байт.

■ ПРИМЕР 1. Закодировать звуковой фрагмент (рис. 48, а), звучащий 1 с, если частота дискретизации звука равна 5 Гц, а глубина кодирования звука равна 2 битам.

* Решение. Поместим фрагмент звуковой волны в систему координат, в которой ось абсцисс соответствует времени, а ось ординат — амплитуде колебаний звуковой волны (рис. 48, б). Поскольку частота дискретизации звука равна 5 Гц (5 измерений параметров звука за 1 с), то отложим по оси абсцисс 5 одинаковых временных отрезков, которые в совокупности составляют 1 с (рис. 48, в). Используя для кодирования два двоичных разряда (глубина кодирования звука равна 2 битам), можно закодировать 4 различных уровня звука (22 = 4), обозначаемые как 00, 01, 10, И. Отложим по оси ординат три одинаковых отрезка и поставим в соответствие каждому из четырех уровней звука двоичный код, начиная с 00 и заканчивая 11. Непрерывную зависимость амплитуды колебаний звуковой волны от времени заменяем дискретной последовательностью уровней звука. Следует отметить, что ступеньки, каждой из которых соответствует один из четырех двоичных кодов, лишь приближенно заменяют гладкую кривую, отражающую колебание звуковой волны (см. рис. 48).

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука

Представим результаты пяти измерений в виде таблицы 38.
Таблица 38

t0t1t2t3t4
0110111000

Последовательность нулей и единиц, составленная из цифр второй строки этой таблицы, будет являться двоичным кодом данного звукового фрагмента.

Ответ. Двоичный код звукового фрагмента 0110111000.
Чем больше глубина кодирования и частота дискретизации, тем лучше запись звука будет передавать все нюансы реального звука. Запись и воспроизведение звука может осуществляться с использованием одного (монозапись), двух (стереозапись) и более каналов звучания. Однако чем качественнее запись звука отражает реальный звук, тем больший объем памяти необходим для хранения звуковых данных.
Объем памяти, необходимый для хранения звука, можно найти, зная глубину кодирования звука, частоту дискретизации звука, длительность звучания и количество каналов звучания.

Ответ. Для хранения стереозаписи звука потребуется примерно 215 Кбайтов памяти.

Оптимальные параметры для кодирования звука выбирают исходя из характера звука, требуемого качества воспроизведения и объема памяти, отводимого для хранения звукозаписи.
Установлено, что частота дискретизации звука должна быть как минимум вдвое больше частоты колебаний кодируемой звуковой волны. Поскольку человек может воспринимать частоту колебаний звука до 20 кГц, то частота дискретизации звука обычно находится в пределах от 8 до 48 кГц. В мобильных телефонах и цифровых автоответчиках для кодирования голоса человека (в этом случае частота колебаний звука не превышает 3 кГц) используется низкая частота дискретизации 8—11 кГц. При кодировании музыки используется высокая частота дискретизации 44,1 кГц, что обеспечивает высокое качество звукозаписи.
При глубине кодирования звука 8 бит количество различных уровней сигнала равно 256, а при глубине кодирования звука 16 бит количество различных уровней сигнала равно 65 536, что соответствует низкому и высокому качеству звукозаписи. Стандарт записи звука на компакт-дисках соответствует частоте дискретизации звука 44,1 кГц и глубине кодирования звука 16 бит для каждого канала звучания, что позволяет воспроизвести звук высокого качества.
Таким образом, кодирование звуковой информации основано на сопоставлении непрерывного звука дискретным числам — записи звука в виде двоичного кода. Так же как и в случае с символами, числами и изображениями, приведение звука к единой форме позволяет автоматизировать процессы хранения, обработки и передачи информации.

Источник

Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки

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

Для работы над Яндекс.Музыкой нам всегда важно помнить о разных тонкостях, которые таит в себе звук. Что такое громкость, как она меняется и от чего зависит? Как работают звуковые фильтры? Какие бывают шумы? Как меняется звук? Как люди его воспринимают.

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука

Мы довольно много узнали обо всём этом, работая над нашим проектом, и сегодня я попробую описать на пальцах некоторые основные понятия, которые требуется знать, если вы имеете дело с цифровой обработкой звука. В этой статье нет серьёзной математики вроде быстрых преобразований Фурье и прочего — эти формулы несложно найти в сети. Я опишу суть и смысл вещей, с которыми придётся столкнуться.

Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.

Оцифровка, или Туда и обратно

Прежде всего разберёмся с тем, что такое цифровой сигнал, как он получается из аналогового и откуда собственно берётся аналоговый сигнал. Последний максимально просто можно определить как колебания напряжения, возникающие из-за колебаний мембраны в микрофоне.

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 1. Осциллограмма звука

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

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 2. Интерактивный пример сложения волн и оцифровки сигнала.
Источник: www.desmos.com/calculator/aojmanpjrl

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

На аппаратном уровне это, разумеется, выглядит значительно сложнее, и в зависимости от аппаратуры сигнал может кодироваться совершенно разными способами. Самым распространённым из них является импульсно-кодовая модуляция, при которой записывается не конкретное значение уровня сигнала в каждый момент времени, а разница между текущим и предыдущим значением. Это позволяет снизить количество бит на каждый отсчёт примерно на 25%. Этот способ кодирования применяется в наиболее распространённых аудио-форматах (WAV, MP3, WMA, OGG, FLAC, APE), которые используют контейнер PCM WAV.

В реальности для создания стерео-эффекта при записи аудио чаще всего записывается не один, а сразу несколько каналов. В зависимости от используемого формата хранения они могут храниться независимо. Также уровни сигнала могут записываться как разница между уровнем основного канала и уровнем текущего.

Обратное преобразование из цифрового сигнала в аналоговый производится с помощью цифро-аналоговых преобразователей, которые могут иметь различное устройство и принципы работы. Я опущу описание этих принципов в данной статье.

Дискретизация

Как известно, цифровой сигнал — это набор значений уровня сигнала, записанный через заданные промежутки времени. Процесс преобразования непрерывного аналогового сигнала в цифровой сигнал называется дискретизацией (по времени и по уровню). Есть две основные характеристики цифрового сигнала — частота дискретизации и глубина дискретизации по уровню.

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 3. Дискретизация сигнала.
Источник: https://en.wikipedia.org/wiki/Sampling_(signal_processing)

Частота дискретизации указывает на то, с какими интервалами по времени идут данные об уровне сигнала. Существует теорема Котельникова (в западной литературе её упоминают как теорему Найквиста — Шеннона, хотя встречается и название Котельникова — Шеннона), которая утверждает: для возможности точного восстановления аналогового сигнала из дискретного требуется, чтобы частота дискретизации была минимум в два раза выше, чем максимальная частота в аналоговом сигнале. Если брать примерный диапазон воспринимаемых человеком частот звука 20 Гц — 20 кГц, то оптимальная частота дискретизации (частота Найквиста) должна быть в районе 40 кГц. У стандартных аудио-CD она составляет 44.1 кГц

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 4. Квантование сигнала.
Источник: https://ru.wikipedia.org/wiki/Квантование_(обработка сигналов)

Глубина дискретизации по уровню описывает разрядность числа, которым описывается уровень сигнала. Эта характеристика накладывает ограничение на точность записи уровня сигнала и на его минимальное значение. Стоит специально отметить, что данная характеристика не имеет отношения к громкости — она отражает точность записи сигнала. Стандартная глубина дискретизации на audio-CD — 16 бит. При этом, если не использовать специальную студийную аппаратуру, разницу в звучании большинство перестаёт замечать уже в районе 10-12 бит. Однако большая глубина дискретизации позволяет избежать появления шумов при дальнейшей обработке звука.

В цифровом звуке можно выделить три основных источника шумов.

Джиттер

Это случайные отклонения сигнала, как правило, возникающие из-за нестабильности частоты задающего генератора или различной скорости распространения разных частотных составляющих одного сигнала. Данная проблема возникает на стадии оцифровки. Если описывать «на пальцах» «на миллиметровке», это происходит из-за немного разного расстояния между вертикальными линиями.

Шум дробления

Он напрямую связан с глубиной дискретизации. Так как при оцифровке сигнала его реальные значения округляются с определённой точностью, возникают слабые шумы, связанные с её потерей. Эти шумы могут появляться не только на стадии оцифровки, но и в процессе цифровой обработки (например, если сначала уровень сигнала сильно понижается, а затем — снова повышается).

Алиасинг

При оцифровке возможна ситуация, при которой в цифровом сигнале могут появиться частотные составляющие, которых не было в оригинальном сигнале. Данная ошибка получила название Aliasing. Этот эффект напрямую связан с частотой дискретизации, а точнее — с частотой Найквиста. Проще всего понять, как это происходит, рассмотрев вот эту картинку:

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 5. Алиас. Источник: ru.wikipedia.org/wiki/Алиасинг

Зелёным показана частотная составляющая, частота которой выше частоты Найквиста. При оцифровке такой частотной составляющей не удаётся записать достаточно данных для её корректного описания. В результате при воспроизведении получается совершенно другой сигнал — жёлтая кривая.

Уровень сигнала

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

6 dB (точнее 20 log(2)

N.B. Стоит упомянуть, что логарифм в данном случае берётся десятичный, в то время как большинство библиотек под функцией с названием log подразумевает натуральный логарифм.

96.33 dB, для 24 бит

144.49 dB. Это означает, что самый большой перепад уровня, который можно описать с 24-битной глубиной дискретизации (144.49 dB), на 48.16 dB больше, чем самый большой перепад уровня с 16-битной глубиной (96.33 dB). Плюс к тому — шум дробления при 24 битах на 48 dB тише.

Восприятие

Когда мы говорим о восприятии звука человеком, следует сначала разобраться, каким образом люди воспринимают звук. Очевидно, что мы слышим с помощью ушей. Звуковые волны взаимодействуют с барабанной перепонкой, смещая её. Вибрации передаются во внутреннее ухо, где их улавливают рецепторы. То, насколько смещается барабанная перепонка, зависит от такой характеристики, как звуковое давление. При этом воспринимаемая громкость зависит от звукового давления не напрямую, а логарифмически. Поэтому при изменении громкости принято использовать относительную шкалу SPL (уровень звукового давления), значения которой указываются всё в тех же децибелах. Стоит также заметить, что воспринимаемая громкость звука зависит не только от уровня звукового давления, но ещё и от частоты звука:

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 6. Зависимость воспринимаемой громкости от частоты и амплитуды звука.
Источник: ru.wikipedia.org/wiki/Громкость_звука

Громкость

Простейшим примером обработки звука является изменение его громкости. При этом происходит просто умножение уровня сигнала на некоторое фиксированное значение. Однако даже в таком простом деле, как регулировка громкости, есть один подводный камень. Как я уже отметил ранее, воспринимаемая громкость зависит от логарифма звукового давления, а это значит, что использование линейной шкалы громкости оказывается не очень эффективным. При линейной шкале громкости возникает сразу две проблемы — для ощутимого изменения громкости, когда ползунок находится выше середины шкалы приходится достаточно далеко его сдвигать, при этом ближе к самому низу шкалы сдвиг меньше, чем на толщину волоса, может изменить громкость в два раза (думаю, с этим каждый сталкивался). Для решения данной проблемы используется логарифмическая шкала громкости. При этом на всей её длине передвижение ползунка на фиксированное расстояние меняет громкость в одинаковое количество раз. В профессиональной записывающей и обрабатывающей аппаратуре, как правило, используется именно логарифмическая шкала громкости.

Математика

Тут я, пожалуй, немного вернусь к математике, потому что реализация логарифмической шкалы оказывается не такой простой и очевидной вещью для многих, а найти в интернете данную формулу не так просто, как хотелось бы. Заодно покажу, как просто переводить значения громкости в dBFS и обратно. Для дальнейших объяснений это будет полезным.

Цифровая обработка

Из того, что сигнал имеет верхнее ограничение уровня, следует, что нельзя безопасно увеличивать громкость выше единицы. При этом пики, которые окажутся выше границы, будут «срезаны» и произойдёт потеря данных.

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 7. Клиппинг.
Источник: https://en.wikipedia.org/wiki/Clipping_(audio)

На практике всё это означает, что стандартные для Audio-CD параметры дискретизации (16 бит, 44,1 кГц) не позволяют производить качественную обработку звука, потому что имеют очень малую избыточность. Для этих целей лучше использовать более избыточные форматы. Однако стоит учитывать, что общий размер файла пропорционален параметрам дискретизации, поэтому выдача таких файлов для он-лайн воспроизведения — не лучшая идея.

Измерение громкости

Для того чтобы сравнивать громкость двух разных сигналов, её для начала нужно как-то измерить. Существует по меньшей мере три метрики для измерения громкости сигналов — максимальное пиковое значение, усреднённое значение уровня сигнала и метрика ReplayGain.

Максимальное пиковое значение достаточно слабая метрика для оценки громкости. Она никак не учитывает общий уровень громкости — например, если записать грозу, то большую часть времени на записи будет тихо шелестеть дождь и лишь пару раз прогремит гром. Максимальное пиковое значение уровня сигнала у такой записи будет довольно высоким, но большая часть записи будет иметь весьма низкий уровень сигнала. Однако эта метрика всё равно является полезной — она позволяет вычислить максимальное усиление, которое можно применить к записи, при котором не будет потерь данных из-за «обрезания» пиков.

Усреднённое значение уровня сигнала — более полезная метрика и легко вычислимая, но всё же имеет существенные недостатки, связанные с тем, как мы воспринимаем звук. Визг циркулярной пилы и рокот водопада, записанные с одинаковым средним уровнем сигнала, будут восприниматься совершенно по-разному.

ReplayGain наиболее точно передает воспринимаемый уровень громкости записи и учитывает физиологические и психические особенности восприятия звука. Для промышленного выпуска записей многие звукозаписывающие студии используют именно её, также она поддерживается большинством популярных медиа-плееров. (Русская статья на WIKI содержит много неточностей и фактически не корректно описывает саму суть технологии)

Нормализация громкости

Иногда нормализацию громкости производят в рамках одной записи — при этом различные части записи усиливают на разные величины, чтобы их воспринимаемая громкость была одинаковой. Такой подход очень часто применяется в компьютерных видео-плеерах — звуковая дорожка многих фильмов может содержать участки с очень сильно отличающейся громкостью. В такой ситуации возникают проблемы при просмотре фильмов без наушников в позднее время — при громкости, на которой нормально слышен шёпот главных героев, выстрелы способны перебудить соседей. А на громкости, при которой выстрелы не бьют по ушам, шёпот становится вообще неразличим. При внутри-трековой нормализации громкости плеер автоматически увеличивает громкость на тихих участках и понижает на громких. Однако этот подход создаёт ощутимые артефакты воспроизведения при резких переходах между тихим и громким звуком, а также порой завышает громкость некоторых звуков, которые по задумке должны быть фоновыми и еле различимыми.

Также внутреннюю нормализацию порой производят, чтобы повысить общую громкость треков. Это называется нормализацией с компрессией. При этом подходе среднее значение уровня сигнала максимизируется за счёт усиления всего сигнала на заданную величину. Те участки, которые должны были быть подвергнуты «обрезанию», из-за превышения максимального уровня усиливаются на меньшую величину, позволяя избежать этого. Этот способ увеличения громкости значительно снижает качество звучания трека, но, тем не менее, многие звукозаписывающие студии не брезгуют его применять.

Фильтрация

Я не стану описывать совсем все аудио-фильтры, ограничусь только стандартными, которые присутствуют в Web Audio API. Самым простым и распространённым из них является биквадратный фильтр (BiquadFilterNode) — это активный фильтр второго порядка с бесконечной импульсной характеристикой, который может воспроизводить достаточно большое количество эффектов. Принцип работы этого фильтра основан на использовании двух буферов, каждый с двумя отсчётами. Один буфер содержит два последних отсчёта во входном сигнале, другой — два последних отсчёта в выходном сигнале. Результирующее значение получается с помощью суммирования пяти значений: текущего отсчёта и отсчётов из обоих буферов перемноженных на заранее вычисленные коэффициенты. Коэффициенты данного фильтра задаются не напрямую, а вычисляются из параметров частоты, добротности (Q) и усиления.

Lowpass

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 8. Фильтр lowpass.

Пропускает только частоты ниже заданной частоты. Фильтр задаётся частотой и добротностью.

Highpass

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 9. Фильтр highpass.

Действует аналогично lowpass, за исключением того, что он пропускает частоты выше заданной, а не ниже.

Bandpass

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 10. Фильтр bandpass.

Этот фильтр более избирателен — он пропускает только определённую полосу частот.

Notch

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 11. Фильтр notch.

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

Lowshelf

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 12. Фильтр lowshelf.

Является более «умной» версией highpass — усиливает или ослабляет частоты ниже заданной, частоты выше пропускает без изменений. Фильтр задаётся частотой и усилением.

Highshelf

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 13. Фильтр highshelf.

Более умная версия lowpass — усиливает или ослабляет частоты выше заданной, частоты ниже пропускает без изменений.

Peaking

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 14. Фильтр peaking.

Это уже более «умная» версия notch — он усиливает или ослабляет частоты в заданном диапазоне и пропускает остальные частоты без изменений. Фильтр задаётся частотой, усилением и добротностью.

Фильтр allpass

что такое глубина кодирования звука. Смотреть фото что такое глубина кодирования звука. Смотреть картинку что такое глубина кодирования звука. Картинка про что такое глубина кодирования звука. Фото что такое глубина кодирования звука
Рис. 15. Фильтр allpass.

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

Фильтр WaveShaperNode

Вейвшейпер (en) применяется для формирования сложных эффектов звуковых искажений, в частности с помощью него можно реализовать эффекты «дисторшна», «овердрайва» и «фузза». Данный фильтр применяет к входному сигналу специальную формирующую функцию. Принципы построения подобных функций довольно сложные и тянут на отдельную статью, поэтому я опущу их описание.

Фильтр ConvolverNode

Фильтр, производящий линейную свёртку входного сигнала с аудио-буфером, задающим некую импульсную характеристику. Импульсная характеристика — это ответ некой системы на единичный импульс. Простым языком это можно назвать «фотографией» звука. Если реальная фотография содержит информацию о световых волнах, о том, насколько они отражаются, поглощаются и взаимодействуют, то импульсная характеристика содержит аналогичную информацию о звуковых волнах. Свёртка аудио-потока с подобной «фотографией» как бы накладывает эффекты окружения, в котором была сняла импульсная характеристика на входной сигнал.

Для работы данного фильтра требуется разложение сигнала на частотные составляющие. Это разложение производится с помощью быстрого преобразования Фурье (к сожалению, в русскоязычной Википедии совершенно несодержательная статья, написанная, судя по всему, для людей, которые и так знают, что такое БПФ и сами могут написать такую же несодержательную статью). Как я уже говорил во вступлении, не стану приводить в данной статье математику БПФ, однако не упомянуть краеугольный алгоритм для цифровой обработки сигналов было бы неправильно.

Данный фильтр реализует эффект реверберации. Существует множество библиотек готовых аудио-буферов для данного фильтра, которые реализуют различные эффекты (1, 2), подобные библиотеки хорошо находятся по запросу [impulse response mp3].

Материалы

Большое спасибо моим коллегам, которые помогали собирать материалы для этой статьи и давали полезные советы.

Отдельное спасибо Тарасу Audiophile Ковриженко за описание алгоритмов нормализации и максимизации громкости и Сергею forgotten Константинову за большое количество пояснений и советов по данной статье.

UPD. Поправил раздел про фильтрацию и добавил ссылки по разным типам фильтров. Спасибо Денису deniskreshikhin Крешихину и Никите merlin-vrn Киприянову за то, что обратили внимание.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *