Существует ли это: программное обеспечение для шумоподавления

124357
Alterlife

Я знаю, что лучший вариант для шумоподавления - это купить себе наушники с шумоподавлением ...

Но есть ли какое-либо программное обеспечение, которое использовало бы компьютерный микрофон и наушники для блокировки фонового шума?

72
это невозможно ! joe 14 лет назад 0
Извините, ничего нового не существует, кроме более дешевых наушников с шумоподавлением. harrymc 11 лет назад 0
Если вы имеете в виду снижение шума, этот вопрос может быть актуальным: http://superuser.com/questions/274604/real-time-noise-suppression-echo-cancellation-software-for-windows-7 В одном ответе упоминается некоторое программное обеспечение, который * SoilCall Pro * работает (по крайней мере, чтобы уменьшить большую часть шума, который у меня был), но имеет некоторые проблемы с качеством звука. Qtax 9 лет назад 0
ДА ЕСТЬ ... лучшее качество тоже. Audacity, через 20 секунд после вашей записи вы проходите еще один шаг 4 щелчка, и шум исчезает ... цитата: Плагин для удаления шума тоже довольно хорош. Выберите сегмент звука, который является чистым шумом, затем включите средство удаления шума и скажите, чтобы «получить профиль шума». com.prehensible 6 лет назад 0

7 ответов на вопрос

39
bastibe

Есть в основном два метода подавления шума

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

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

Итак, в итоге, если бы программное обеспечение для этой цели существовало, оно не было бы очень эффективным :(. К сожалению. Alterlife 14 лет назад 2
as mentioned getting a nice set of headphones would make a huge difference both in general sound quality and in noise blocking. that means the type that covers beyond the ear not the ear bud type speakers. a relitive of mine got me some really nice ones one time as a present and i was astonished at the difference. Kendrick 11 лет назад 0
Интересно, может ли программное обеспечение работать для тех раздражающих повторяющихся или постоянных фоновых шумов, которые портят ваш слух. «... хроническое воздействие звука, даже если оно не особенно громкое, может нанести вред волосяным клеткам, что приведет их в расстройство и деградацию». http://well.blogs.nytimes.com/2013/03/25/what-causes-hearing-loss/ ekangas 10 лет назад 0
Я нашел эту недавнюю статью (январь 2013 г.) о фильтрах прогнозирующего шумоподавления после поиска в Google. Несмотря на то, что статья была опубликована в IET Signal Processing, она заняла только 27-е место на http://www.scimagojr.com/ по обработке сигналов. http://iem.kug.ac.at/fileadmin/media/iem/projects/2013/SPR-SI-guldenschuh_hoeldrich_13.pdf ekangas 10 лет назад 0
@ekangas это реализация (1). Эти фильтры работают довольно надежно в четко определенных неизменяемых условиях, но они требуют нетривиальной вычислительной мощности, и их трудно исправить, если шум нестационарный. Как я уже говорил в 2009 году, хорошая пара шумоизолирующих наушников обычно является более простым и дешевым вариантом. Они отлично работают для настройки телеконференций, хотя. bastibe 10 лет назад 1
16
Idiomatic

Не возможно по физическим / аппаратным причинам.

Наушники с шумоподавлением работают, записывая звук и воспроизводя звук с инверсией фазы, чтобы отменить его. С ноутбуком микрофон сперва отстой, и приятно перед вами это означает, что звук, идущий сзади, дойдет до ваших ушей, прежде чем он попадет в микрофон. Затем он должен пройти через компьютер на медленную звуковую карту (вероятно, пинг 0,1 секунды или более) к динамикам, где он будет играть. Это время задержки будет слишком велико, чтобы с ним справиться.

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

Это было бы, независимо от того, как оптимизированный результат в ужасном опыте.

Да. Недаром наушники NC ставят свои микрофоны прямо в наушники, в миллиметрах от ваших ушей. Как сказал давний критик раннего предложения об активном подавлении шума, «было бы невозможно организовать фазу», по крайней мере, на более высоких частотах, если бы они были намного дальше. Jamie Hanrahan 7 лет назад 0
Кстати, активное шумоподавление намного сложнее, чем вы думаете. Если у вас есть компонентный стерео с FM-тюнером, вы можете продемонстрировать это: Установите ваш тюнер на «моно» и измените полярность подключений к _one_ колонкам. Обратите внимание, сколько отмены вы НЕ получаете. Переместите динамики прямо рядом друг с другом, но все еще в одной плоскости - отмены не будет. Только после того, как вы установите два громкоговорителя прямо друг против друга и как можно ближе друг к другу, вы получите много отмены, и даже тогда вы, вероятно, будете удивлены, насколько они неполны. Jamie Hanrahan 7 лет назад 1
9
harrymc

Смотрите эту статью: Шумоподавление в программном обеспечении? ,

Это интересно, но не имеет решения.

Статья написана в 2005 году. Возможно, она больше не актуальна. Snark 14 лет назад 1
Большинство данных в нем кажется универсальным. harrymc 14 лет назад 1
Я действительно видел это! Google - замечательный инструмент :-). К сожалению, это аппаратное решение ... Я надеюсь на подобное программное решение. Alterlife 14 лет назад 0
Очень хороший подсчет «обратная сторона конверта» пользователя, который отвечает на этом форуме. Хорошая полезная ссылка. Иметь это объяснение в своих собственных словах в своем ответе было бы еще приятнее. Leo 7 лет назад 0
@DaveM Это ответ сообщества вики. Не стесняйтесь обновлять это самостоятельно вместо того, чтобы комментировать. DavidPostill 6 лет назад 0
5
d4v3y0rk

Using MATLAB and this guide / sample code:

http://www.mathworks.com/help/dsp/examples/acoustic-noise-cancellation-lms-.html

you could record the noise you are trying to cancel (to a wav) and build an audio output that would cancel it. You might also be able to modify the code to take the mic input as the noise and have it adaptively generate the output and play it out.

Keep in mind noise cancellation works best with low frequency "mechanical" type noises. High pitch (high frequency) noises are much more difficult to cancel.

4
Matthew Lock

На самом деле это не шумоподавление, но Chatterblocker может помочь вам маскировать / игнорировать внешние звуки.

3
Rolfensen

It should be possible for a constant sound (eg: fan bearing whine), but as other pointed out, for regular variable sound background environments, it surely won't work well with common hardware and software.

I also strongly doubt the software would have any reliable way of measuring the lag with high precision (for calibration), which is crucial for sound cancelling waves. (Edit: except maybe for doing manual calibration of phase.)

Regular kernels not being real-time also means that the audio lag can vary a little, which will also throw off any working noise cancellation.

Although computers can record and play sound, they were never designed to have the precision and definition necessary to cancel sound waves.

Implementing such a system on PC software might result in something which might increases noise instead of reducing it, so is avoided.

It still remains one of these topics which lend themselves to research and experimentation, even if just for the pleasure of it :)

Also, high end microphones and professional sound hardware can make a lot of difference.

Source: self proclaimed expert in everything.

2
user281793

If the sound you need to cancel is consistent, for example inside an airplane or the hum of a factory, it seems like the computer's lag shouldn't matter, because the sound is the same no matter how late it arrives. The key would be to accurately phase shift the resulting sound in your headphones. For example, one might try adjustable phase shifting software such as on http://freemusicsoftware.org/category/free-vst-effects-2/phase-shifter

You could even record the background noise and then replay it. You would have to adjust the phase until it was the opposite of what your ears hear directly.

If the poor laptop mic was an issue, you could bring along a used SM58 with you cheaply enough.

Any feedback on this idea?