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