избегайте статического электричества и искажений при соединении вместе сэмплов PCM

У меня проблема со сшиванием звуковых образцов PCM из разных частей аудиозаписи. Идея состоит в том, что это звуковая обратная связь от пользователя, ищущего запись на своего рода индикаторе выполнения. Они могут быть произвольной длины (скажем, от 0,1 до 0,5 секунды). Моя основная проблема заключается в том, что когда я воспроизвожу эти сэмплы, они приводят к значительному количеству шумовых артефактов, искажений и т. д.

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

Спасибо


person Jonathan S.    schedule 15.06.2012    source источник


Ответы (1)


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

Если ваши сегменты часто находятся на коротком конце диапазона от 0,1 до 0,5 мс, на пути могут мешать различные психоакустические явления. Вы должны начать с того, что ограничите себя более длинными сегментами и посмотрите, сработает ли это, а затем посмотрите, насколько короткими вы сможете его сделать. Таким образом, вы узнаете, связана ли проблема с вашим кодом или просто с его сокращением.

person Bjorn Roche    schedule 16.06.2012