Период, частота и амплитуда колебаний
Важнейшим
параметром, характеризующим механические,
звуковые, электрические, электромагнитные
и все другие виды колебаний, является
период
— время, в течение которого совершается
одно полное колебание. Если, например,
маятник часов-ходиков делает за 1 с два
полных колебания, период каждого
колебания равен 0,5с. Период колебаний
больших качелей около 2 с, а период
колебаний струны может составлять от
десятых до десятитысячных долей секунды.
I
Рисунок
2.4 — Колебание
где:
φ
– фаза колебания, I
– сила тока, Ia
– амплитудное значение силы тока
(амплитуда)
Т
– период колебания силы тока (период)
Другим
параметром, характеризующим колебания,
является частота
(от слова «часто») — число, показывающее,
сколько полных колебаний в секунду
совершают маятник часов, звучащее тело,
ток в проводнике и т.п. Частоту колебаний
оценивают единицей, носящей название
герц (сокращенно пишут Гц): 1 Гц—это одно
колебание в секунду. Если, например,
звучащая струна совершает 440 полных
колебаний в 1 с ( при этом она создает
тон «ля» третьей октавы), говорят, что
частота ее колебаний 440 Гц. Частота
переменного тока электроосветительной
сети 50 Гц. При этом токе электроны в
проводах сети в течение секунды текут
попеременно 50 раз в одном направлении
и столько же раз в обратном, т.е. совершают
за 1 с 50 полных колебаний.
Более
крупные единицы частоты — килогерц
(пишут кГц), равный 1000 Гц и мегагерц
(пишут МГц), равный 1000 кГц или 1 000 000 Гц.
Амплитуда
—
максимальное значение смещения или
изменения переменной величины при
колебательном или волновом движении.
Неотрицательная скалярная величина,
измеряется в единицах, зависящих от
типа волны или колебания.
Рисунок
2.5 — Синусоидальное колебание.
где,
y
— амплитуда волны, λ
— длина волны.
Например:
-
амплитуда
для механического колебания тела
(вибрация), для волн на струне или пружине
— это расстояние и записывается в
единицах длины; -
амплитуда
звуковых волн и аудио-сигналов обычно
относится к амплитуде давления воздуха
в волне, но иногда описывается как
амплитуда смещения относительно
равновесия (воздуха или диафрагмы
говорящего). Её логарифм обычно измеряется
в децибелах (дБ); -
для
электромагнитного излучения амплитуда
соответствует величине электрического
и магнитного поля.
Форма
изменения амплитуды называется огибающей
волной.
Звуковые колебания
Как
возникают звуковые волны в воздухе?
Воздух состоит из невидимых глазам
частиц. При ветре они могут переноситься
на большие расстояния. Но они, кроме
того, могут и колебаться. Например, если
в воздухе сделать резкое движение
палкой, то мы почувствуем легкий порыв
ветра и одновременно услышим слабый
звук. Звук
это — результат колебаний частиц
воздуха, возбужденных колебаниями
палки.
Проведем
такой опыт. Оттянем струну, например,
гитары, а потом отпустим ее. Струна
начнет дрожать — колебаться около
своего первоначального положения покоя.
Достаточно сильные колебания струны
заметны на глаз. Слабые колебания струны
можно только почувствовать как легкое
щекотание, если прикоснуться к ней
пальцем. Пока струна колеблется, мы
слышим звук. Как только струна успокоится,
звук затихнет. Рождение звука здесь —
результат сгущения и разрежения частиц
воздуха. Колеблясь из стороны в сторону,
струна теснит, как бы прессует перед
собой частицы воздуха, образуя в некотором
его объеме области повышенного давления,
а сзади, наоборот, области пониженного
давления. Это и есть звуковые
волны.
Распространяясь
в воздухе со скоростью около 340 м/с,
они несут в себе некоторый запас энергии.
В тот момент, когда до уха доходит область
повышенного давления звуковой волны,
она надавливает на барабанную перепонку,
несколько прогибая ее внутрь. Когда же
до уха доходит разреженная область
звуковой волны, барабанная перепонка
выгибается несколько наружу. Барабанная
перепонка все время колеблется в такт
с чередующимися областями повышенного
и пониженного давления воздуха. Эти
колебания передаются по слуховому нерву
в мозг, и мы воспринимаем их как звук.
Чем больше амплитуды звуковых волн, тем
больше энергии несут они в себе, тем
громче воспринимаемый нами звук.
Звуковые
волны, как и водяные или электрические
колебания, изображают волнистой линией
— синусоидой. Ее горбы соответствуют
областям повышенного давления, а
впадины—областям пониженного давления
воздуха. Область повышенного давления
и следующая за нею область пониженного
давления образуют звуковую волну.
По
частоте колебаний звучащего тела можно
судить о тоне или высоте звука. Чем
больше частота, тем выше тон звука, и
наоборот, чем меньше частота, тем ниже
тон звука. Наше ухо способно реагировать
на сравнительно небольшую полосу
(участок) частот
звуковых
колебаний — примерно от 20 Гц до 20 кГц.
Тем не менее эта полоса частот вмещает
всю обширнейшую гамму звуков, создаваемых
голосом человека, симфоническим
оркестром: от очень низких тонов, похожих
на звук жужжания жука, до еле уловимого
высокого писка комара. Колебания частотой
до
20 Гц, называемые инфразвуковыми,
и свыше
20 кГц, называемые ультразвуковыми,
мы не слышим. А если бы барабанная
перепонка нашего уха оказалась способной
реагировать и на ультразвуковые
колебания, мы могли бы тогда услышать
писк летучих мышей, голос дельфина.
Дельфины издают и слышат ультразвуковые
колебания с частотами до 180 кГц.
Но
нельзя путать высоту, т.е. тон звука с
его силой. Высота звука зависит не от
амплитуды, а от частоты колебаний.
Толстая и длинная струна музыкального
инструмента, например, создает низкий
тон звука, т.е. колеблется медленнее,
чем тонкая и короткая струна, создающая
высокий тон звука (рис. 1).
Рисунок
2.6 — Звуковые волны
Чем
больше частота колебаний струны, тем
короче звуковые волны и выше тон звука.
В
электро — и радиотехнике используют
переменные токи частотой от нескольких
герц до тысяч гигагерц. Антенны
широковещательных радиостанций,
например, питаются токами частотой
примерно от 150 кГц до 100 МГц.
Эти
быстропеременные колебания, называемые
колебаниями радиочастоты, и являются
тем средством, с помощью которого
осуществляется передача звуков на
большие расстояния без проводов.
Весь
огромный диапазон переменных токов
принято подразделять на несколько
участков — поддиапазонов.
—
Токи частотой от 20 Гц до 20 кГц,
соответствующие колебаниям, воспринимаемым
нами как звуки разной тональности,
называют токами
(или колебаниями) звуковой
частоты,
а токи частотой выше 20 кГц — токами
ультразвуковой частоты.
—
Токи частотой от 100 кГц до 30 МГц называют
токами
высокой частоты,
—
Токи частотой выше 30 МГц — токами
ультравысокой и сверхвысокой частоты.
Соседние файлы в папке Связь1
- #
- #
- #
Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки
Время на прочтение
14 мин
Количество просмотров 199K
Звук, как и цвет, люди воспринимают по-разному. Например, то, что кажется слишком громким или некачественным одним, может быть нормальным для других.
Для работы над Яндекс.Музыкой нам всегда важно помнить о разных тонкостях, которые таит в себе звук. Что такое громкость, как она меняется и от чего зависит? Как работают звуковые фильтры? Какие бывают шумы? Как меняется звук? Как люди его воспринимают.
Мы довольно много узнали обо всём этом, работая над нашим проектом, и сегодня я попробую описать на пальцах некоторые основные понятия, которые требуется знать, если вы имеете дело с цифровой обработкой звука. В этой статье нет серьёзной математики вроде быстрых преобразований Фурье и прочего — эти формулы несложно найти в сети. Я опишу суть и смысл вещей, с которыми придётся столкнуться.
Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (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/Алиасинг
Зелёным показана частотная составляющая, частота которой выше частоты Найквиста. При оцифровке такой частотной составляющей не удаётся записать достаточно данных для её корректного описания. В результате при воспроизведении получается совершенно другой сигнал — жёлтая кривая.
Уровень сигнала
Для начала стоит сразу понять, что когда речь идёт о цифровом сигнале, то можно говорить только об относительном уровне сигнала. Абсолютный зависит в первую очередь от воспроизводящей аппаратуры и прямо пропорционален относительному. При расчётах относительных уровней сигнала принято использовать децибелы. При этом за точку отсчёта берётся сигнал с максимально возможной амплитудой при заданной глубине дискретизации. Этот уровень указывается как 0 dBFS (dB — децибел, FS = Full Scale — полная шкала). Более низкие уровни сигнала указываются как -1 dBFS, -2 dBFS и т.д. Вполне очевидно, что более высоких уровней просто не бывает (мы изначально берём максимально возможный уровень).
Поначалу бывает тяжело разобраться с тем, как соотносятся децибелы и реальный уровень сигнала. На самом деле всё просто. Каждые ~6 dB (точнее 20 log(2) ~ 6.02 dB) указывают на изменение уровня сигнала в два раза. То есть, когда мы говорим о сигнале с уровнем -12 dBFS, понимаем, что это сигнал, уровень которого в четыре раза меньше максимального, а -18 dBFS — в восемь, и так далее. Если посмотреть на определение децибела, в нём указывается значение — тогда откуда берётся 20? Всё дело в том, что децибел — это логарифм отношения двух одноимённых энергетических величин, умноженный на 10. Амплитуда же не является энергетической величиной, следовательно её нужно перевести в подходящую величину. Мощность, которую переносят волны с разными амплитудами, пропорциональна квадрату амплитуды. Следовательно для амплитуды (если все прочие условия, кроме амплитуды принять неизменными) формулу можно записать как
N.B. Стоит упомянуть, что логарифм в данном случае берётся десятичный, в то время как большинство библиотек под функцией с названием log подразумевает натуральный логарифм.
При различной глубине дискретизации уровень сигнала по этой шкале изменяться не будет. Сигнал с уровнем -6 dBFS останется сигналом с уровнем -6 dBFS. Но всё же одна характеристика изменится — динамический диапазон. Динамический диапазон сигнала — это разница между его минимальным и максимальным значением. Он рассчитывается по формуле , где n — глубина дискретизации (для грубых оценок можно пользоваться более простой формулой: n * 6). Для 16 бит это ~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 и обратно. Для дальнейших объяснений это будет полезным.
// Минимальное значение громкости - на этом уровне идёт отключение звука
var EPSILON = 0.001;
// Коэффициент для преобразований в dBFS и обратно
var DBFS_COEF = 20 / Math.log(10);
// По положению на шкале вычисляет громкость
var volumeToExponent = function(value) {
var volume = Math.pow(EPSILON, 1 - value);
return volume > EPSILON ? volume : 0;
};
// По значению громкости вычисляет положение на шкале
var volumeFromExponent = function(volume) {
return 1 - Math.log(Math.max(volume, EPSILON)) / Math.log(EPSILON);
};
// Перевод значения громкости в dBFS
var volumeToDBFS = function(volume) {
return Math.log(volume) * DBFS_COEF;
};
// Перевод значения dBFS в громкость
var volumeFromDBFS = function(dbfs) {
return Math.exp(dbfs / DBFS_COEF);
}
Цифровая обработка
Теперь вернёмся к тому, что мы имеем цифровой, а не аналоговый сигнал. У цифрового сигнала есть две особенности, которые стоит учитывать при работе с громкостью:
- точность, с которой указывается уровень сигнала, ограничена (причём достаточно сильно. 16 бит — это в 2 раза меньше, чем используется для стандартного числа с плавающей точкой);
- у сигнала есть верхняя граница уровня, за которую он не может выйти.
Из того, что уровень сигнала имеет ограничение точности, следует две вещи:
- уровень шумов дробления возрастает при увеличении громкости. Для малых изменений обычно это не очень критично, так как изначальный уровень шума значительно тише ощутимого, и его можно безопасно поднимать в 4-8 раз (например, применять эквалайзер с ограничением шкалы в ±12dB);
- не стоит сначала сильно понижать уровень сигнала, а затем сильно его повышать — при этом могут появиться новые шумы дробления, которых изначально не было.
Из того, что сигнал имеет верхнее ограничение уровня, следует, что нельзя безопасно увеличивать громкость выше единицы. При этом пики, которые окажутся выше границы, будут «срезаны» и произойдёт потеря данных.
Рис. 7. Клиппинг.
Источник: https://en.wikipedia.org/wiki/Clipping_(audio)
На практике всё это означает, что стандартные для Audio-CD параметры дискретизации (16 бит, 44,1 кГц) не позволяют производить качественную обработку звука, потому что имеют очень малую избыточность. Для этих целей лучше использовать более избыточные форматы. Однако стоит учитывать, что общий размер файла пропорционален параметрам дискретизации, поэтому выдача таких файлов для он-лайн воспроизведения — не лучшая идея.
Измерение громкости
Для того чтобы сравнивать громкость двух разных сигналов, её для начала нужно как-то измерить. Существует по меньшей мере три метрики для измерения громкости сигналов — максимальное пиковое значение, усреднённое значение уровня сигнала и метрика ReplayGain.
Максимальное пиковое значение достаточно слабая метрика для оценки громкости. Она никак не учитывает общий уровень громкости — например, если записать грозу, то большую часть времени на записи будет тихо шелестеть дождь и лишь пару раз прогремит гром. Максимальное пиковое значение уровня сигнала у такой записи будет довольно высоким, но большая часть записи будет иметь весьма низкий уровень сигнала. Однако эта метрика всё равно является полезной — она позволяет вычислить максимальное усиление, которое можно применить к записи, при котором не будет потерь данных из-за «обрезания» пиков.
Усреднённое значение уровня сигнала — более полезная метрика и легко вычислимая, но всё же имеет существенные недостатки, связанные с тем, как мы воспринимаем звук. Визг циркулярной пилы и рокот водопада, записанные с одинаковым средним уровнем сигнала, будут восприниматься совершенно по-разному.
ReplayGain наиболее точно передает воспринимаемый уровень громкости записи и учитывает физиологические и психические особенности восприятия звука. Для промышленного выпуска записей многие звукозаписывающие студии используют именно её, также она поддерживается большинством популярных медиа-плееров. (Русская статья на WIKI содержит много неточностей и фактически не корректно описывает саму суть технологии)
Нормализация громкости
Если мы можем измерять громкость различных записей, мы можем её нормализовать. Идея нормализации состоит в том, чтобы привести разные звуки к одинаковому уровню воспринимаемой громкости. Для этого используется несколько различных подходов. Как правило, громкость стараются максимизировать, но это не всегда возможно из-за ограничений максимального уровня сигнала. Поэтому обычно берётся некоторое значение немного меньше максимума (например -14 dBFS), к которому пытаются привести все сигналы.
Иногда нормализацию громкости производят в рамках одной записи — при этом различные части записи усиливают на разные величины, чтобы их воспринимаемая громкость была одинаковой. Такой подход очень часто применяется в компьютерных видео-плеерах — звуковая дорожка многих фильмов может содержать участки с очень сильно отличающейся громкостью. В такой ситуации возникают проблемы при просмотре фильмов без наушников в позднее время — при громкости, на которой нормально слышен шёпот главных героев, выстрелы способны перебудить соседей. А на громкости, при которой выстрелы не бьют по ушам, шёпот становится вообще неразличим. При внутри-трековой нормализации громкости плеер автоматически увеличивает громкость на тихих участках и понижает на громких. Однако этот подход создаёт ощутимые артефакты воспроизведения при резких переходах между тихим и громким звуком, а также порой завышает громкость некоторых звуков, которые по задумке должны быть фоновыми и еле различимыми.
Также внутреннюю нормализацию порой производят, чтобы повысить общую громкость треков. Это называется нормализацией с компрессией. При этом подходе среднее значение уровня сигнала максимизируется за счёт усиления всего сигнала на заданную величину. Те участки, которые должны были быть подвергнуты «обрезанию», из-за превышения максимального уровня усиливаются на меньшую величину, позволяя избежать этого. Этот способ увеличения громкости значительно снижает качество звучания трека, но, тем не менее, многие звукозаписывающие студии не брезгуют его применять.
Фильтрация
Я не стану описывать совсем все аудио-фильтры, ограничусь только стандартными, которые присутствуют в Web Audio API. Самым простым и распространённым из них является биквадратный фильтр (BiquadFilterNode) — это активный фильтр второго порядка с бесконечной импульсной характеристикой, который может воспроизводить достаточно большое количество эффектов. Принцип работы этого фильтра основан на использовании двух буферов, каждый с двумя отсчётами. Один буфер содержит два последних отсчёта во входном сигнале, другой — два последних отсчёта в выходном сигнале. Результирующее значение получается с помощью суммирования пяти значений: текущего отсчёта и отсчётов из обоих буферов перемноженных на заранее вычисленные коэффициенты. Коэффициенты данного фильтра задаются не напрямую, а вычисляются из параметров частоты, добротности (Q) и усиления.
Все графики ниже отображают диапазон частот от 20 Гц до 20000 Гц. Горизонтальная ось отображает частоту, по ней применяется логарифмический масштаб, вертикальная — магнитуду (жёлтый график) от 0 до 2, или фазовый сдвиг (зелёный график) от -Pi до Pi. Частота всех фильтров (632 Гц) отмечена красной чертой на графике.
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].
Материалы
- О понятии громкости в цифровом представлении звука и о методах её повышения
- Звук
- Амплитуда
- Частота
- Цифровой сигнал
- Аналоговый сигнал
- Цифровая обработка сигналов
- Интерактивный пример сложения волн и оцифровки сигнала
- Аналогово-цифровой преобразователь
- Цифро-аналоговый преобразователь
- Импульсно-кодовая модуляция
- Формат PCM WAV
- Сэмплирование (en)
- Частота дискретизации
- Теорема Котельникова
- Частота Найквиста
- Глубина дискретизации
- Alias
- Децибел
- Строение уха
- Звуковое давление
- Воспринимаемая громкость
- Клиппинг
- ReplayGain описание
- ReplayGain спецификация
- Быстрое преобразование Фурье, вики, wiki
- Импульсная характеристика
- Фазо-частотная характеристика
- Амплитудо-частотная характеристика
- Фильтр с бесконечной импульсной характеристикой
- Фильтр с конечной импульсной характеристикой
- Биквадратный фильтр (en)
- BiquadFilterNode
- HTML5 Audio W3C
- Web Audio API
- Вейвшейпер
- Дисторшн
- Овердрайв
- Фузз
- Реверберации
- Свёртка
- Эквалайзер
Большое спасибо моим коллегам, которые помогали собирать материалы для этой статьи и давали полезные советы.
Отдельное спасибо Тарасу Audiophile Ковриженко за описание алгоритмов нормализации и максимизации громкости и Сергею forgotten Константинову за большое количество пояснений и советов по данной статье.
UPD. Поправил раздел про фильтрацию и добавил ссылки по разным типам фильтров. Спасибо Денису deniskreshikhin Крешихину и Никите merlin-vrn Киприянову за то, что обратили внимание.
Ухо здорового человека еще в утробе матери начинает улавливать и воспринимать самые разные звуки: разговор, музыку, стук и т.п. Так как различный звуковой шум окружает людей всю сознательную жизнь, мы редко задумываемся о том, что это за явление. Тем не менее, современная физика может подробнейшим образом ответить на этот вопрос, описать характеристики и свойства звука.
Что такое звук — определение в физике
Звуком называют механические колебания, распространяющиеся в окружающей среде и воспринимаемые органом слуха человека.
Раздел физики, который занимается изучением звуковых колебаний, называется акустикой.
Основные понятия явления
Звуковая волна — это поперечная волна, представляющая собой ряд чередующихся между собой разряженной и сжатой среды, которые имеют различную частоту. Звуковые волны возникают за счет колебаний, вызываемых и производимых вибрацией от любых тел.
Звуки могут возникать и распространяться в следующих видах упругой среды:
- газообразной;
- жидкой;
- твердой.
Возникая в одной из перечисленных сред, звуковые колебания влекут за собой изменения этой среды:
- плотности воздуха;
- давления воздуха;
- перемещение частиц воздуха и т.п.
Скорость звука находится в зависимости от двух условий:
- среды;
- температуры.
В атмосфере при температуре равной 0 градусов, скорость звука равняется 331 м/с, при повышении температуры на 1 градус, скорость увеличивается на 1,7 м/с.
Звукопоглощением называется процесс преобразования одного вида энергии (звуковой или колебательной) в другую (тепловую).
Теория звука и акустики понятным языком
Рассмотрим чуть подробнее физическую природу явления. Все звуки, которые распространяются в воздухе, являются вибрациями звуковой волны.
Эти вибрации возникают за счет колебания объекта и расходятся от источника по всем направлениям. Распространяясь в пространстве, звуковая волна отражается от всех объектов, которые встречаются ей на пути, и создает изменения в окружающей среде. Когда эти изменения достигают органов слуха, они воздействуют на барабанную перепонку, нервные окончания в ухе подают сигналы в мозг, и человек воспринимает колебания как звук.
Какими характеристиками обладают звуковые волны
Звуковые волны, как и любой другой вид волн, обладают рядом волновых свойств.
Описание волны и её свойства
Простейшая форма описания звуковых колебаний — это синусоида.
Несмотря на то, что такой вид волн редко встречается в природе, любые звуки могут быть представлены комбинацией синусоидных волн.
Синусоида позволяет продемонстрировать основные физические критерии звука, которые называются специальными терминами:
- частоту;
- амплитуду;
- фазу.
Частотой называется физическая величина, которая характеризует количество колебаний в единицу времени (секунду) и измеряется в герцах (Гц). Ухо человека способно воспринимать звуковые сигналы в диапазоне от 20 Гц до 20 КГц. Звуки, которые находятся выше указанного диапазона называется ультразвуком, ниже – инфразвуком, для человеческих органов слуха они неуловимы.
Амплитуда или интенсивность звуковой волны — это сила звука, которую органы слуха воспринимают как громкость звукового сигнала. Для измерения громкости звука используются фонометры, единицами ее измерения являются децибелы.
Значение длины волны соответствует одной из следующих формул:
( lambda=Vtimes T )
(lambda=frac Vv)
где ( lambda) — длина волны, (V ) — скорость распространения звуковой волны, (T) — период колебания, v — частота колебания.
Такая величина, как фаза, нужна для того, чтобы описать свойства 2-х звуковых волн. Если два звуковых сигнала обладают одинаковой амплитудой и частотностью, говорят о том, что они находятся в фазе. Диапазон измерения фазы лежит в пределах от 0 до 360, где 0 означает, что две волны синхронны, т.е находятся в фазе, а 180 означает, что волны находятся в противофазе.
При нахождении двух звуковых волн в фазе, происходит наложение звуков друг на друга и усиление сигнала. Если совместить два не совпадающих по амплитуде, сигнала, произойдет их подавление из-за разницы давления, что приведет к исчезновению звука. Этот эффект известен в физике как «подавление фазы».
Что такое децибел
Децибелы — это единицы измерения уровня электрического напряжения или звукового давления. Бел назван в честь ученого-американца — слишком большая единица для измерения звука, именно поэтому на практике стали использовать децибел, который составляет всего 1/10 от бела.
Громкость звука измеряется в децибелах. Этот показатель определяется амплитудой сигнала: чем выше амплитуда звуковой волны, тем громче сигнал. Громкость человеческого слуха измеряется в фонах и обозначается Фон.
Не можете разобраться со сложной темой по физике? По другому предмету? Не отчаивайтесь и не переживайте! Обращайтесь за помощью к экспертам Феникс.Хелп.