В связи с сегодняшними событиями (как мне кажется тотальная блокировка discord) возникла потребность в хорошем аналоге для общения в голосовых каналах. Я уже написал простой сервер и клиент, которые работают по tcp и довольно таки хорошо (да да, но ведь я еще не реализовал систему комнат), использовал библиотеку NAudio и WaveInEvent для захвата аудио с микрофона, но вот беда, шумоподавление полностью отсутствует и помимо голоса слышен постоянный громкий шум дешевого микрофона. Как это исправить? Есть ли какие то библиотеки, которые хорошо справятся с удалением шума?
Самое простое и рабочее решение - реализовать это через средства самой ОС.
В настройках устройства может быть шумоподавление, либо можешь создать виртуальное устройство, которое будет удалять шумы
Как уже написали - шумодав легче всего делать на стороне клиента / силами возможно даже ОС (или сторонних программ).
Какой-нибудь nvidia broadcast например или через драйвер, да хоть тот же самый krisp, как у дискорда.
Василий Банников,
Если делается простенькое MVP - то можно и на стороне клиента силами ОС.
В дальнейшем, для более продвинутых аудио-видео конференций, надо будет ещё отрабатывать и Far-End echo cancelation. Когда на удалённой стороне не в наушниках с микрофонов человек сидит, а переговорная с колонками и микрофонами. И звук, идущий от нас, на дальней стороне выйдет из колонок, словится микрофонами и прилетит нам обратно...
Достаточно неприятное "эхо". Давится не то, чтобы очень просто...