Время и темп

Рассмотрим, как связаны времена в музыке.

При записи музыки нотами используют ритмическую временную шкалу, которая показывает музыкантам, в каком ритме играть ноты. Ритм и соответственно ноты можно исполнить в любом темпе и за разное время.

Темп (BPM) показывает количество ударов (долей) в минуту. Тем самым задает привязку ритма ко времени. Обычно, в качестве доли выступает 1/4 нота (quarter note / crotchet). Например, темп 120 означает, что будут две четвертные ноты в секунду.

Во время цифровой записи используется отсчетная шкала – за каждую секунду записывается определенное количество отсчетов, равное частоте дискретизации (например, 44100).

При обработке звука, иногда требуется рассчитать сколько отсчетов занимает какая-то нота. Для этого нужно определить, сколько времени длится нота исходя из ритмической длительности (1/2, 1/4  и т.д.) и темпа всего произведения. Полученное время умножаем на количество отсчетов в одной секунде (равно частоте дискретизации) и получаем искомое количество отсчетов.


Частота дискретизации Гц
Темп ударов в минуту
Длительность 1/4 cек. отсчетов



Удаление постоянной составляющей

При обработке звука сталкиваются с наличием постоянной составляющей в аудио-сигнале. Постоянная составляющая или смещение нуля (DC Offset / DC Bias) — отклонение среднего значения сигнала от нуля.

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

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

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

При удалении постоянной составляющей желательно «не навредить» и не внести фазовых или других искажений. Существует несколько подходов к устранению постоянной составляющей.

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

Вычитание скользящего среднего. Для обработки во время записи можно применить вычисление среднего «на лету» с помощью алгоритма скользящего среднего. Вычисленное среднее необходимо отнимать из задержанного сигнала. Время задержки сигнала должно быть равно половине длины линии задержки в алгоритме скользящего среднего.

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

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


Разностное уравнение, описывающее такой фильтр:

y(n)=α•y(n–1)+x(n)–x(n–1), 0<<α<1

Справа показан код для системы MathCAD, убирающий постоянную составляющую с помощью рекурсивного ВЧ фильтра (вычисления производятся с помощью показанного разностного уравнения).

Рассмотрим удаление постоянной составляющей с помощью скользящего среднего и второй способ — ВЧ фильтром. Для примера зададим частоту дискретизации (Fs) 44100Гц и частоту среза (Fc) 100Гц.

На графике справа, красным цветом обозначено влияние скользящего среднего на АЧХ сигнала. Длина линии задержки скользящего среднего вычисляется исходя из частоты дискретизации и частоты среза (D=441). Видно, что начиная с заданной частоты среза происходят затухающие амплитудные искажения. Если применить скользящее среднее второй раз, то эти искажения значительно уменьшатся (синяя линия на графике). При этом возрастет задержка сигнала. Каждое применение скользящего среднего вносит задержку на половину длины линии задержки. Достоинство этого метода — полное отсутствие фазовых искажений.

Вычисление постоянной времени для ВЧ фильтра осуществляется также, как и для экспоненциального сглаживающего фильтра и зависит от частоты дискретизации и частоты среза. Для нашего примера  α=0.98585. На графике результат применения ВЧ фильтра показан зеленой линией.

Рекомендованная литература.
Скользящее среднее
Экспоненциальный сглаживающий преобразователь

Скользящее среднее

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

Для реализации скользящего среднего необходимо организовать линию задержки сигнала. Длина линии задержки определяет время сглаживания.

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

Разностное уравнение, описывающее скользящее среднее:

y(n)= x(n)/Dx(nD)/D+y(n−1), где D — длина линии задержки

Рассмотрим пример реализации скользящего среднего в системе MathCAD (код слева). Функция MA(x,D) обрабатывает входной массив (x) и выдает результат в виде массива (y). Кроме основного цикла обработки, внимание уделено правильной инициализации начальных элементов массива (y).

Длина линии задержки (D) выбирается исходя из частоты дискретизации (Fs) и желаемой частоты среза (Fc). D=Fs/Fc

Для нашего примера частота дискретизации 44100Гц, частота среза 4410Гц и длина линии задержки 10.

Амплитудно-частотная характеристика (АЧХ) фильтра показана на графике красной линией. Мы видим, что на частоте среза (Fc — красная пунктирная линия) происходит сильное ослабление сигнала. И весь последующий сигнал ослаблен на 12дБ.

Для усиления эффекта подавления можно соединять несколько фильтров последовательно. Два скользящих средних, соединенных последовательно (в нашем примере) дают подавление больше 24дБ (на графике — синяя линия).

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

Рекомендованная литература:
Сигналы и преобразователи

Мощность цифрового сигнала

В аналоговом мире значение сигнала определяется в Вольтах (Volt), а мощность сигнала в Ваттах (Watt). Мгновенная мощность электрического сигнала определяется, как квадрат напряжения, разделенный на сопротивление в цепи, через которую проходит сигнал.

Сигнал после оцифровки x(t) является аналогом напряжения, а мощность цифрового сигнала определяется, как квадрат значения сигнала — x(t)2.

Среднеквадратичное или действующее значение сигнала (RMS) определяется, как квадратный корень из усредненного значения мощности сигнала.

Рассмотрим эти величины на примере.

Выберем частоту дискретизации сигнала 44100 Гц (Fs), период дискретизации (Ts) рассчитывается, как обратная величина к частоте. Будем генерировать сигнал с частотой 441Гц (очень близко к ноте ля первой октавы 440Гц). 

Сгенерируем 4 полных периода синусоидального сигнала на заданной частоте. Мы специально подобрали соотношение частоты дискретизации и сигнала (добавив 1Гц), чтобы количество отсчетов (N) было целым числом. Определим дискретное время (t) в пределах от 0 до N−1. Рассчитаем значения функции синус для всех значений заданного времени.


Полученный сигнал x(t) на графике отображается красной линией. Мы видим все 4 периода. Амплитуда сигнала в диапазоне от −1 до 1.


Рассчитаем значение мощности сигнала (P), как среднее всех мгновенных мощностей сигнала и среднеквадратичное значение (RMS), как корень из мощности (P).



Видим что значение мощности равно 0.5, а среднеквадратичное значение 0.707.. или точнее корень из двух на два.

Рассмотрим, как изменится мощность и среднеквадратичное значение, если мы умножим сигнал на это значение — на графике сигнал y(t) отображен синим цветом. Видим, что размах амплитуды ограничен этим значением, а мощность сигнала (Py) уменьшилась в два раза.


Часто понятия мощность и среднеквадратичное значения сигнала путают, причем эта путаница происходит в гигантских масштабах.Производители звукового оборудования (например Harman/Kardon, Marantz и прочие аудиофильские бренды) пишут RMS и измеряют это значение в Ваттах.

В поисках основного тона

Музыкальный сигнал одного инструмента содержит основную частоту и множество ее гармоник. Собственная / основная частота (fundamental frequency) — самая низкая частотная компонента сигнала. Считается, что на слух воспринимается до 10 гармоник, более высокие компоненты уже не слышны. Например, если основной тон имеет высоту 110Гц (ля большой октавы), то в сигнале, кроме основного тона, будут присутствовать его гармоники — 220Гц, 330Гц, 440Гц, и т.д. В этом легко убедится с помощью пианино. Достаточно плавно нажать клавишу ноты так, чтобы демпфер отошел от струны, а молоточек по струне не ударил. После этого сильно ударить и отпустить ноту октавой ниже. В результате, нижняя нота замолкнет, а верхняя из-за резонанса с гармоникой начнет играть.

Основной тон или высота звука (pitch) — слуховое восприятие частоты. Восприятие основного тона изменяется в зависимости от гармонических составляющих, присутствующих в сигнале. Возможно восприятие отсутствующего тона за счет наличия гармонических составляющих, обычно сопутствующих этому тону. Если акустическая система не в состоянии воспроизводить низкие частоты (например, при воспроизведении ля большой октавы, тон 110Гц не будет звучать), то все равно возможно восприятие этой частоты. Компания Waves Audio, производитель звуковых эффектов, запатентовала алгоритм (патент № 5,930,373), позволяющий создавать иллюзию наличия низких частот, синтезируя высшие гармоники по низкочастотному сигналу, и выпустила ряд устройств (MaxxBass), работающий по этому принципу.

В некоторых случаях при обработке звука (музыкального сигнала) требуется найти основной тон и его гармоники. Например, гитарный тюнер анализирует сигнал на лету и выдает погрешность настройки гитары, основываясь на измерениях основного тона.

Компания Antares Audio Technologies разработала систему Auto-Tune, которая позволяет анализировать голосовую партию и корректировать сигнал во время исполнения или записи. Эта система практически стала стандартом при записи вокала. Позже, эта же компания разработала технологию ATG-6, которая позволяет настраивать гитару прямо во время исполнения.

В программе Melodyne (компании Celemony Software GmbH) решается еще одна сложная задача — анализируется музыкальный сигнал, который может содержать несколько одновременно звучащих нот (аккорд) и соответственно содержать несколько основных тонов и их гармоник.

При решении подобных задач необходимо учитывать системы настройки музыкальных инструментов.

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

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

На современных музыкальных инструментах (начиная с рояля) обычно используется равномерно темперированный строй. Преимущества равномерной темперации в том, что можно транспонировать пьесу на произвольный интервал вверх или вниз, но при этом гармоники некоторых тонов звучат выше или ниже других тонов (на 1-2Гц), создавая иногда слышимые биения.

Существуют и другие строи, которые позволяют решить проблемы биений, но при этом значительно усложняют конструкцию инструмента и способ игры на нем. Например, строй 53-х равных делений октавы (53-РТ), содержит 53 ноты в пределах одной октавы.

Цифровой аудиосигнал

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

Среднее значение аналогового сигнала должно быть близко к 0В. Иначе постоянная составляющая будет вызывать затраты мощности без полезного действия. Часто усилители или активные колонки имеют защиту, которые выключают оборудование при появлении постоянной составляющей.

Дискретизация (sampling) — преобразование непрерывного аналогового сигнала в дискретный сигнал, производится Аналого-Цифровым Преобразователем (АЦП).

Перед дискретизацией сигнал транслируется в диапазон АЦП (например: от 0 до 5В). При трансляции нельзя допустить выход сигнала за диапазон АЦП, иначе возникнут неустранимые искажения — обрезание (clipping) сигнала.

Например, аналоговый сигнал, поступающий на АЦП, имеет диапазон от −1.5В до +1.5В. После трансляции получаем сигнал в диапазоне от 0.25 до 4.75В, который не выходит за рамки диапазона АЦП.

После дискретизации получаем цифровой сигнал, дискретные значения которого кодируются двоичным (прямым) кодом в диапазоне от 0 до M−1.

M = 2m, M — число уровней квантования, m — число разрядов.

Отсчет (sample) — одно значение дискретного сигнала. Цифровой сигнал является последовательностью отсчетов заданной разрядности, полученных с заданной частотой дискретизации.

Для цифровой обработки сигнал, полученный с АЦП, необходимо преобразовать в вещественное представление, чтобы оперировать теми же значениями, что и в аналоговом сигнале (в нашем примере: от −1.5 до 1.5).

Вещественные числа (real numbers) представляют в цифровом устройстве с помощью форматов с фиксированной или плавающей запятой.

Фиксированная запятая (fixed-point) — формат представления вещественного числа в памяти цифрового устройства в виде целого числа (integer). Основное преимущество такого представления то, что с такими числами можно производить арифметические операции, как с обычными целыми числами, но при этом нужно следить за порядком результата и не допускать переполнения.

Плавающая запятая (float-point) — форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени (порядка). Для реализации формата чисел с плавающей запятой требуется аппаратная поддержка процессора.

Параметры цифрового аудиосигнала

Разрядность цифрового сигнала (bits resolution) — количество уровней квантования дискретного сигнала. В профессиональной аудио обработке применяется разрядность 16, 20 и 24 бит.

Частота дискретизации (sampling rate) — частота, с которой аналоговый сигнал дискретизируется в дискретный сигнал. В профессиональной аудио обработке применяются частоты дискретизации 44100Гц или 48000Гц. Также используются частоты в 2 или 4 раза выше — 88200/96000 или 176400/192000.

Формат представления — целые (прямой код) или вещественные (фиксированная или плавающая точка) числа.

Количество каналов — сигнал может быть моно, стерео и многоканальный (3..8 каналов). В некоторых случаях аудио обработка должна учитывать количество каналов.

Также цифровой сигнал характеризуется общими с аналоговым сигналом параметрами — мощность сигнала, частотный диапазон (frequency range), динамический диапазон (dynamic range).

Сглаживающий фильтр

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

Разностное уравнения, описывающее сглаживающий преобразователь:

y(n)=(1−α)∙x(n)+α∙y(n−1), 0<α<1

Для вычисления этого преобразователя необходимо сохранять значение выходного сигнала с предыдущего шага вычисления.

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

Ослабление мощности сигнала в два раза по логарифмической шкале составит 10∙log(0.5)=−3Дб, а значения самого сигнала уменьшатся на 20∙log(0.5)=−6Дб по логарифмической шкале.

Например, задаем частоту дискретизации 44100Гц и частоту среза 50Гц. По формуле вычисляем коэффициенты
Разностное уравнения, описывающее сглаживающий фильтр с заданными параметрами:

y(n)=0.9929∙x(n)+0.0071∙y(n−1)

Получим импульсную характеристику, подав единичный отсчет на преобразователь. Задаем количество отсчетов — 1024, обнуляем все входные отсчеты кроме первого и получаем отклик системы, состоящий из 1024 отсчетов.

Далее вычисляем частотную характеристику с помощью дискретного преобразования Фурье.

Отображаем частоты в диапазоне от 0 до 4∙Fc. На нулевой частоте амплитуда единица, что означает отсутствие ослабления на низких частотах. На частоте 50Гц ослабление −3Дб

Второй подход рассматривать преобразователь во временной области. Постоянная времени (time constant) – это время, за которое переходная функция достигнет 63% от конечного значения. Постоянная времени связана
с частотой среза:

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

Описание и свойства преобразователей

Существует несколько способов описать дискретный преобразователь (или систему) – разностные уравнения, импульсная характеристика, частотная характеристика, переходная функция, передаточная функция. Все описания однозначно взаимосвязаны между собой.

Разностные уравнения с постоянными коэффициентами

Разностное уравнение — формула, по которой рассчитывается выходной отсчет y(n) на основании:
• текущего отсчета x(n)
• предыдущих отсчетов x(n−1), x(n−2),…,x(n−M)
• предыдущих выходных отсчетов y(n−1), y(n−2),…, y(n−N)

y(n) = ∑bix(n−i)−∑aj(n−j), i=0..M, j=1..N

Такая форма записи позволяет напрямую реализовывать преобразователи на цифровых устройствах.

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

y(n)=0.01∙x(n)−0.99∙y(n−1)

Для вычисления этого преобразователя необходимо сохранять значение выходного сигнала с предыдущего шага вычисления.

Отсчеты входного сигнала x(n) попадают в преобразователь с частотой дискретизации. Вычисления могут производиться с различной скоростью (зависит от мощности цифрового устройства), главное требование, чтобы скорость вычислений позволяла получать выходные отсчеты быстрее, чем период дискретизации.

Импульсная характеристика (impulse response)

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

Переходная функция (step response)

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

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

Частотная характеристика (frequency response)

Частотная характеристика преобразователя определяется как преобразование Фурье (дискретное преобразование Фурье в случае цифрового сигнала) от импульсной характеристики.

Дискретная передаточная функция (transfer function)

Дискретная передаточная функция представляет собой отношение Z-преобразования выходного сигнала к Z-преобразованию входного сигнала.

Рекомендованная литература:

Сигналы и преобразователи

Непрерывный сигнал (аналоговый сигнал). В любой момент времени значение сигнала может принимать произвольное значение.

Квантованный (непрерывно-дискретный) сигнал. В любой момент времени значение сигнала представляется элементом из дискретного множества.

Дискретно-непрерывный сигнал. В дискретные моменты времени значение сигнала может принимать произвольное значение.

Дискретный сигнал. В дискретные моменты времени значение сигнала представляется элементом из дискретного множества.

Цифровой сигнал – форма представления дискретного сигнала, дискретные значения которого кодируются двоичным кодом.

M = 2m, M — число уровней квантования, m — число разрядов

Преобразователь устройство или программа изменяющее входной сигнал в выходной.

Преобразователь (system) – математическая модель системы, основанная на операторе преобразования.

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

y(t) = H{x(t)}

Классификация преобразователей

Непрерывный преобразователь (аналоговое устройство). Непрерывный входной и выходной сигналы. Такой преобразователь не содержит импульсных элементов и квантователей уровней.

Дискретный преобразователь (цифровое устройство). Дискретный входной и выходные сигналы.

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

Линейный преобразователь (linear system). Преобразователь линейный, если сложный входной сигнал может быть описан как сумма простых сигналов и результат преобразования не изменяется.

α∙y1(t)+β∙y2(t)=H{ α∙x1(t)+ β∙x2(t)}

x1(t), x2(t) — входные сигналы

y1(t) = H{x1(t)}, y2(t) = H{x2(t)} — выходные сигналы

α, β — любые скалярные величины

Неизменяемый во времени преобразователь (time invariant). Преобразователь является инвариантным ко времени, когда результат преобразования не зависит от времени этого преобразования. Если входной сигнал x(t) поступает на преобразователь сейчас или через определенное время T, то результат преобразования будет идентичный первому, за исключением сдвига по времени — y(t) = y(t−T)

Практическое значение имеют преобразователи с ненарушенной причинно-следственной связью (causal), а именно выходной сигнал зависит только от предыдущий значений входного и выходного сигналов, и не зависит от будущих значений.

Линейный инвариантный ко времени преобразователь (causal LTI system). Линейные инвариантные ко времени преобразователи — основные преобразователи, применяемые при обработке сигналов. Такой преобразователь полностью описывается импульсной характеристикой, разностным уравнением, частотной характеристикой или передаточной функцией.

Компрессия аудио-сигнала

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

     Для понимания работы компрессора рассмотрим пример его динамической характеристики. По горизонтальной оси отложены уровни входного сигнала, а по вертикальной — выходного. Если входной сигнал находится в пределах от −100дБ до −60дБ, то выходной сигнал глушится до −100дБ. Такая обработка позволяет не пропускать сигнал ниже определенного уровня и применяется для подавления шума (noise gate).
     Следующий отрезок (−60дБ и −20дБ) наклонен под 45 градусов и означает линейную обработку, а именно входной сигнал будет усиливаться на 15дБ.
     Если входной сигнал попадает в рамки от −20дБ до 0дБ, то он будем сжиматься в диапазон от −5дБ до 0дБ. Разница между диапазонами 20 к 5 определяет соотношение компрессии 4:1. Динамическую характеристику принято описывать следующими параметрами:
Noise gate (уровень шума) — определяет уровень, ниже которого сигнал не проходит (обрезается).
Threshold (пороговый уровень) — задает граничный уровень между линейным участком и началом компрессии.
Ratio (соотношение между входным диапазоном и выходным) — задает степень компрессии. Если входной динамический диапазон меньше выходного, то происходит расширение динамического диапазона и компрессор становится экспандером (expander)
Makeup gain — уровень громкости. После компрессии уровень сигнала становится меньше исходного и выходным уровнем громкости можно «восстановить справедливость». В случае расширения диапазона уровень сигнала повысится, и громкость нужно будет понизить.
     В рассмотренном выше примере использовались такие значения параметров: Gate −60, Threshold −20, Ratio 4:1, Makeup 15.

     Цифровые компрессоры позволяют практически произвольно редактировать динамическую характеристику, что дает большую свободу при использовании.
Рассмотрим схему работы компрессора. Входной динамический диапазон сигнала рассчитывается по средней мощности входного сигнала (Vrms) или по пиковым значениям (Vpeak). В некоторых компрессорах есть выбор между этими двумя опциями. Детектор уровня (на схеме Level detection) формирует управляющий сигнал, который управляет ослаблением (Gain Reduction Device) основного аудио-потока. Вместо входного сигнала (на схеме Audio Input) можно использовать сигнал с другого трека или устройства (External Input), например функция удаления  свистящих согласных (De-Esser), реализуется с помощью этой возможности — на дополнительный вход подается фильтрованный сигнал (фильтр выделяет свистящий сигнал), который управляет ослаблением. Подобная схема применяется и при наложении голоса DJ-ея на музыку (Ducking). Голосовой сигнал подается на внешний канал, который управляет ослаблением.

     Кроме динамической характеристики компрессоры позволяют управлять временем срабатывания механизма ослабления звука.

Attack (время атаки) — время, которое проходит между превышением порогового значения и началом ослабления сигнала.
Release (время спада) — время, которое проходит между тем, как уровень входного сигнала стал ниже порога, и моментом, когда компрессор перестает ослаблять сигнал.
Некоторые компрессоры позволяют рассчитывать ослабление с упреждением (look-ahead). При этом основной сигнал задерживается на время упреждения. Такая техника позволяет недопустить превышение порогового значения и сделать компрессию более мягкой.

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

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

     При мастеринге также применяют многополосные (multi-band) компрессоры. Весь частотный диапазон разбивается на поддиапазоны (обычно 3 или 4) и параметры компрессии  в каждом диапазоне устанавливаются свои. Это позволяет, например, отделить мощные удары барабана, которые при общей компрессии могут привести к ослаблению вокала и других инструментов. Для разделения частот используют IIR или FIR фильтры. Фильтры IIR практически не вносят задержку в сигнал, но при этом возможны фазовые искажения. Фильтры FIR (с линейной фазовой характеристикой) задерживают сигнал на фиксированное время и рекомендуются для мастеринговых работ, где задержка сигнала не имеет принципиального значения.

Рекомендованная литература:
Цифровой звук. Начало.

Звуковые интерфейсы

Звуковые (аудио) интерфейсы — важная тема, без них невозможно начинать обработку звука на компьютере. Именно они задают начальное качество звукозаписи.
     По каким параметрам следует выбирать интерфейс. Первое что вспоминается — максимальная частота дискретизации и разрядность АЦП. Как ни странно цены на интерфейсы с параметрами 192/24 варьируются в очень широком диапазоне — от 100 до нескольких тысяч долларов. Смотрим на неравномерность АЧХ, динамический диапазон, уровень нелинейных искажений. Удивительно, но почти нет разницы. Дешевые и дорогие интерфейсы используют те же самые микросхемы и как следствие параметры очень похожи.

     Посмотрим на подключение, сколько есть входов/выходов и какие они бывают. Сбалансированный вход/выход (balanced input/output) — это подключение аналогового звукового сигнала по трем проводам, где по двум проводам сигнал передается в противофазе, а третий — общий. Такое подключение позволяет уменьшить шум, который одновременно наводится на кабель. Шум наводится (прибавляется) одновременно на два сигнала, в приемнике (на входе микшера например), сигналы складываются в противофазе и тем самым шум сигнал становится в два раза сильнее, наведенный шум удаляется. Сбалансированные кабеля обычно подключаются с помощью XLR разъемов.
     Также по трем проводам может подаваться фантомное питание (12..48В) для микрофонов. Дешевые интерфейсы, особенно встраиваемые внутрь компьютера, такого не имеют. Если есть микшер, то фантомное питание можно взять с него, и подключить микшер в аудио-интерфейс. Небольшой микшер и недорогая звуковая карта позволят получить вполне качественную запись и иметь приличную свободу подключений.
     Профессиональные аудио интерфейсы имеют больше входов/выходов, которые работают синхронно. Несомненно, это преимущество. Кроме аналоговых интерфейсов, возможно, понадобятся и цифровые подключения. Именно здесь профессиональная аппаратура на высоте.

     Цифровой интерфейс S/PDIF позволяет передавать стерео сигнал с разрешением до 24 бит и частотой дискретизации до 96кГц. Приемник автоматически подстраивается под частоту передачи, а старшие биты всегда находятся в одном и том же месте кадра, что позволяет автоматически отбрасывать младшие биты, если приемник рассчитан на более низкое битовое разрешение. В качестве физического интерфейса используется коаксиальный кабель (с волновым сопротивлением 75 Ом) или оптоволоконный кабель с интерфейсом TOSLINK (Toshiba Link).
     В профессиональной аппаратуре применяется интерфейс AES3 (другое имя AES/EBU). Стандарт AES3 позволяет передавать данные со скоростью до 192кГц при разрядности 24 бита. В AES3 используется другое напряжение (5В против 0.5В в S/PDIF) и сбалансированное подключение, что позволяет использовать его на больших расстояниях. При этом синхросигнал и данные кодируются таким же способом, как и в S/PDIF, и в некоторых случаях возможно совместное использование S/PDIF и AES3 аппаратуры с использованием преобразователей уровней напряжений.
     Цифровые интерфейсы ADAT (Alesis Digital Audio Tape) и TDIF (Tascam Digital Interconnect Format) позволяют одновременно передавать много треков по одному кабелю. Оптический интерфейс ADAT использует разъемы TOSLINK такие же, как и S/PDIF, и позволяет передавать до 8-ми каналов цифрового звука 48/24, а интерфейс TDIF использует 25 проводные кабели и позволяет передавать до 8 каналов в обе стороны. При этом при передаче цифрового звука с большей частотой дискретизации (96 или 192) уменьшается количество каналов.

     Джиттер (jitter) и откуда он появляется. При передаче цифрового сигнала, например по S/PDIF, приемник и передатчик настраиваются на одну и ту же скорость приема/передачи (например, 44100 отсчетов в секунду). Но мир неидеален и скорости приемника и передатчика отличаются на какие-то десятые процента, что рано или поздно может привести к потере отсчета (то есть передатчик передал 1000001 отсчет, а приемник работал чуть медленнее и принял его, как 1000000 или еще хуже — старший бит принял за младший). Для синхронизации передают синхросигнал в цифровом потоке, а приемник его декодирует и подстраивает свои часики. Чтобы часики шли точно, применяется кварцевый резонатор, но в бытовой аппаратуре, в целях экономии, его не ставят, а синхросигнал берется прямо из цифрового потока с использованием схем фазовой автоподстройки частоты (PLL). Схемы автоподстройки все время подстраивают частоту, немного больше, немного меньше и таким образом выдают частоту верную только в среднем, но в каждый момент времени немного отличающуюся от требуемой. Если принимаемый цифровой сигнал обращается в аналоговый звук, то отсчеты поступают неравномерно (с джиттером), что приводит к искажением в звуке. Для борьбы с джиттером синхросигнал можно передавать отдельным кабелем в интерфейс (world clock).
     Аудио интерфейсы могут подключаться к компьютеру по разному. Самые простые – это встроенные в материнскую плату. Из-за наводок внутри компьютера их можно использовать только, как цифровые интерфейсы, например по S/PDIF принимать и складывать на диск треки, для последующей обработки. Или выводить сигнал на внешний декодер для прослушивания. Платы, вставляемые в компьютер (например, подключаемые к шине PCI) могут быть хорошо защищены от наводок, но к ним сложнее будет подключать кабели. Выносные интерфейсы, подключаемые по USB или FireWire, обычно имеют удобные разъемы на передней панели и могут быть неплохим выбором для домашней студии. Отметим сразу, что USB интерфейс менее требователен и позволяет горячее подключение/отключение (без выключения компьютера). С FireWire лучше так не шутить, зато FireWire работает на больших скоростях (частотах дискретизации).
     Есть еще один вид интерфейсов, которые подключаются не напрямую в компьютер, а к платам ускорителям, на которых производится обработка звукового сигнала. Такие системы позволяют обрабатывать сигнал с минимальной задержкой (latency). Задержка в обработке сигнала проявляется, когда обработанный звук должен звучать в момент самой записи, например, голос обрабатывается на компьютере и звучит в наушниках исполнителя.

MIDI интерфейс

MIDI (Musical Instrument Digital Interface) это технология, позволяющая организовать связь между электронными музыкальными инструментам. Наиболее очевидное применение MIDI это передача нот (или команд) между MIDI клавиатурой и синтезатором. Источники команд принято называть MIDI контроллерами. Это клавиатуры, триггерные барабаны и любые другие устройства, формирующее MIDI команды. Команды принимаются синтезатором или секвенсором. Синтезатор воспроизводит звук, а секвенсор записывает последовательность команд (или нот), для последующего воспроизведения. Часто путают передачу команд с передачей звукового сигнала. Сразу отметим, что MIDI не передает звуковой сигнал, ни в аналоговом виде, ни в цифровом представлении. Стандарт MIDI 1.0 описывает способ подключения (разъемы, кабели и физические интерфейсы), протокол обмена (команды) и формат файлов (записанные команды).

Физическое подключение
Обычно инструмент имеет три гнезда MIDI In, Out и Thru. Команды передаются от гнезда Out одного инструмента (контроллера) к гнезду In другого инструмента (синтезатора или секвенсора), а в случае если инструмент обрабатывает не все команды, и часть из них должна быть передана в другой инструмент, то используется гнездо Thru. Если включаются несколько инструментов, принимающие команды от одного контроллера, и они последовательно соединяются через In/Thru гнезда, то возможна задержка передачи команд. Для того, чтобы избежать задержки, используется MIDI Thru box, который имеет один вход (In) и несколько выходов (Thru). 
     Для подключения инструментов используются кабеля с 5 штырьками. Хотя в разъеме и 5 гнезд, используются только 2 или 3. MIDI In подключается к двум линиям, а MIDI Out и Thru передают сигнал по двум проводам, а третий контакт используют для заземления самого кабеля, чтобы повысить помехозащищенность.
     Вместо соединения по MIDI кабелю можно использовать соединения через USB или FireWire. При этом программно устанавливается, какое устройство или компьютер играет роль контроллера, а какое принимает или передает дальше команды.

Команды
Формат команд позволяет организовать до 16 каналов управления. Каждое устройство может быть настроено на прием сообщений из определенного канала. Есть два основных вида команд MIDI Data Messages и MIDI System Messages. Первый тип команд (Data) направляются в заданный канал, а системные команды адресуется всем устройствам независимо от выбранного канала подключения. В системных командах может передаваться временной код для синхронизации всех устройств.

Файлы
Стандарт MIDI 1.0 также определяет формат миди-файлов. В миди-файлах не сохраняются звуковые данные или сэмплы, поэтому звучание одной и той же записи может сильно отличаться в зависимости от инструмента (синтезатора), который будет использоваться для воспроизведения.

General MIDI 1, 2 (GM1 и GM2) и Lite (GML)
Стандарт GM1 и его развитие GM2 описывают MIDI, как инструмент, добиваясь предсказуемого звучания в разных конфигурациях. Стандарт задает наименование инструментов (в том числе и перкуссионых) и минимальные требования к устройству, которое будет воспроизводить звук. Стандарт GML описывает требования к мобильным устройствам, воспроизводящим MIDI и специальный формат файлов для них.

Ода Дискретизации!

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

Какова минимально-допустимая частота дискретизации сигнала, ограниченного частотой 20 кГц? Ответ на троечку — 40кГц. На самом деле больше 40 и сейчас разберемся почему.

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

Дискретизация происходит в Аналого-Цифровом Преобразователе (АЦП), а сам процесс преобразования состоит из нескольких этапов. Аналоговый сигнал фильтруется аналоговым фильтром, который срезает частоты выше половины частоты дискретизации. Таким образом, предотвращается наложение частот (aliasing). Если в сигнале есть шум или даже полезный сигнал, с частотой выше половины частоты дискретизации то в цифровом сигнале он зеркально отобразится в нижние частоты и безвозвратно с ними смешается.

Фильтр, который недопускает наложения частот, называется anti-aliasing фильтр или АА-фильтр. Сразу отметим, что идеальных фильтров не бывает, и каждый физически реализуемый фильтр имеет переходную полосу, в которой сигнал ослабляется тем сильнее, чем дальше от частоты срезы. Поэтому для того, чтобы предотвратить отзеркаливание (наложения) верхних частот необходимо выбирать такой фильтр, чтобы на половине частоты дискретизации ослабление было максимально сильным (например -120дБ). При этом сигнал начнет ослабляться на меньших частотах из-за наличия переходной полосы. Чтобы не искажать полезный сигнал нужно увеличить частоту дискретизации так, чтобы ослабление сигнала начиналось там, где заканчивается спектр полезного сигнала. На графике изображена типичная АЧХ качественного звукового АА-фильтра.

В следующих выпусках, не пропустите!

Зачем на микшерных пультах есть кнопка включения ВЧ фильтра на микрофонных входах? Например, при записи вокала сигнал и так ограничен по частоте, зачем лишняя фильтрация!

Наверное, самый тяжелый вопрос, зачем использовать частоты дискретизации 96 и 192кГц? Ведь человеческое ухо не слышит частот свыше 20кГц в лучшем случае, а среднестатистический гражданин слышит и того меньше. При этом все профессионалы не жалея средств работают с материалом как можно большей частоты. В каких случаях это оправдано, а в каких пустая трата усилий.