Алгоритм, чтобы решить, обрезает ли цифровые аудиоданные? - PullRequest
2 голосов
/ 10 сентября 2008

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

Ответы [ 5 ]

6 голосов
/ 10 сентября 2008

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

-Adam

5 голосов
/ 07 октября 2008

Простой ответ заключается в том, что если какой-либо сэмпл имеет максимальное или минимальное значение (-32768 и +32767 соответственно для 16-битных сэмплов), вы можете рассмотреть его отсечение. Это не совсем верно, так как это значение на самом деле может быть правильным, но невозможно определить, действительно ли значение +32767 должно было быть + 33000.

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

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

2 голосов
/ 13 сентября 2008

Я только что заметил, что есть даже хорошие реализации.

Например, в Audacity :
Анализ Найти отсечение…

2 голосов
/ 10 сентября 2008

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

Что может быть лучше подходит для цифрового звука, так это установить некоторый порог на основе ограничений вашего выходного Ц / Д. Если вы делаете VOIP, выберите порог, типичный для мобильных телефонов или сотовых телефонов, и назовите его «отсечение», если ваш цифровой звук становится выше этого. Если вы выводите на высококачественные домашние кинотеатры, то, вероятно, у вас не будет никакого «отсечения».

2 голосов
/ 10 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...