0
Найти на сайте: параметры поиска

 

 

Шумоподавление и PulseAudio

подавление шума в микрофоне Скайп и пр.
  
Сообщений: 0
Доброго времени суток!

Хочу поделиться инфой по вопросу подавления шумов микрофона для Скайпа и пр. Может кому пригодится (нашел на буржуйских форумах). Сразу предупреждаю, решение не идеальное, но вполне работоспособное. Советчики и умники «покупать хорошее и дорогое чтобы потом не мучиться» будут сразу посланы в пешее эротическое путешествие. Я сам знаю, что лучше быть богатым но здоровым, чем бедным и больным. Короче с преамбулой все ясно, дальше описание проблемы

ОПИСАНИЕ ПРОБЛЕМЫ
Раньше покупал ноуты нормальных брендов, и этой проблемы не было (вернее она есть везде, но на хороших звуковых картах она не так заметна). Из-за сиганувшего американского рубля бренды стали кусачие, приходится обращаться к небрендам. Давеча приобрел изделие DEXP. Сама машинка вполне себе ничего. Нормальная рабочая коняга. А вот звуковая карта реальное говно (повторяю для умников с синдромом краткосрочной амнезии — не от хорошей жизни). Включил скайп и попробовал общаться — шум стоит такой, что мама не горюй. Поменял несколько микрофонов, купил хороший с шумоподавлением. Все равно шум спасу нет.

ПОИСК РЕШЕНИЯ
Издалека решение казалось простым и понятным. Есть в виндозных дровах реатека (как пример) функция шумоподавления. Шумит канал, нажал пимпу и дело с концом. По наивности душевной, я надеялся, что где-то кто-то в линухе уже что-то такое давно придумал и нужно только это что-то найти и скачать. Полтора дня ушло на осознание простого факта — такой зверь в природе не водится. Проблема постоянно поднимается, как на наших линукс-форумах, так и за бугром. Однако, до сих пор, никто ничего не сделал (в смысле чтобы полноценное шумоподавление по принципу «скачал, поставил и забыл»).

ТАНЦЫ С БУБНОМ
Итак, имеем вот такой аппарат. (см фото внизу)

На нем стоит ALSA и Pulse Audio. Карта говно и шумит мама не горюй. Советы «сделать потише чтобы не так шумело» сразу идут фтопку. Мне надо более-менее полноценное активное шумоподавление, чтобы меня было слышно хорошо, а все остальное было тихо.

Первое, что выскакивает на всяких форумах — это рассказы про module-echo-cancel, который и эхо подавляет и шумы убирает. Авторы клянутся здоровьем соседского поросенка, что работает. Может у кого-то оно и работает, у меня нет. В смысле немного он конечно убирает, но так как мне надо — нет.

После всех мытарств нашел решение тут
http://askubuntu.com/questions/18958/realtime-noise-removal-with-pulseaudio/608211#608211?newreg=6d7b1825ed4f4ce295e5e370cc3f20d4
(кто в буржуйской мове шарит может сразу читать оригинал, для остальных я сделал перевод ниже)

ПРИНЦИП РЕШЕНИЯ
Основная идея — обычное активное шумоподавление (берем синусоиду оригинального шума, переписываем ее в противофазу, складываем первое и второе, оно взаимосамоуничтожается, а мы наслаждаемся тишиной). Подробно расписано на Вики тут
https://ru.wikipedia.org/wiki/%D0%90%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B5_%D1%88%D1%83%D0%BC%D0%BE%D0%BF%D0%BE%D0%B4%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5

АЛГОРИТМ РЕШЕНИЯ (согласно инструкциям автора)
1) Создаем запись эталонного шума
Я записал в AUDACITY 10 секунд шума, сделал специальную папку NOISE поближе к корню и без русского языка в названиях каталогов, и сохранил туда файл как noise.wav

2) В темноте ручками
cd (путь к файлу)

потом

sox noise.wav -n noiseprof noise.prof.

3) В темноте ручками
sudo modprobe snd_aloop


4) В темноте ручками
paman

откроется диво-дивное, и написано там будет всякое. У меня этого paman не было, пришлось установить через судо апт-гет … ну это вы знаете. Когда откроется, просто оставьте на время. Зачем оно надо поймете в п.№5

5) Самое главное - болванка
(взял у автора на буржуйском сайте — там сцылка вверху. Ежели мое не сработает возьмите в оригинале)
pacat -r -d alsa_input.pci-0000_00_14.2.analog-stereo --latency=1msec|sox -b 16 -e signed -c 2 -r 44100 -t raw - -b 16 -e signed -c 2 -r 44100 -t raw - noisered noise.prof 0.2|pacat -p -d alsa_output.2.analog-stereo —latency=1msec

самое главное в болванке следующее
1) сигнал раз
alsa_input.pci-0000_00_14.2.analog-stereo
2) сигнал два
alsa_output.2.analog-stereo

и 1) и 2) — это понятное дело для образца приведено. Оно у вас будет свое-индивидуальное. И взять это нужно будет в предыдущем шаге №4 (там где диво-дивное). Мне повезло, я сразу нашел что надо и поставил куда нужно (очень может быть, что это потому, что я знаю английский, но не факт…). Ежели вам сразу не повезет, не отчаивайтесь, пробуйте. Количество вариантов не бесконечное.

6) После этого шага буржуйский автор советует включать какую-то pavucontrol
Мне ничего такого не понадобилось. Я сразу включил Audacity пощелкал в источниках звука (появились два новых канала). Один был пустой, а со второго шел сигнал. Я записал сам себя с микрофона — и ЭТО БЫЛО НЕРЕАЛЬНО КРУТО! АБСОЛЮТНО ЧИСТЫЙ СИГНАЛ!!!

Потом я включил скайп и проверил себя в эхе. Эха тоже показала, что все очень даже хорошо. Кроме меня — ничего. Абсолютная тишина (шум канала от компа гнобит эта программная приблуда, а внешние случайные шумы убивает система активного шумоподавления моей гарнитуры. Короче - красота)


ПОСЛЕСЛОВИЕ
Когда я радостный решил, что все проблемы преодолены и закрыл приложения, до меня медленно дошло, что второй раз может и не получиться. Так и оказалось. Записывать шумовой файл снова не пришлось, конечно. Однако, чтобы воспроизвести результат пришлось делать вот так

cd /home/nik/noise

sox noise.wav -n noiseprof noise.prof.

sudo modprobe snd_aloop

pacat -r -d alsa_input.pci-0000_00_1b.0.analog-stereo --latency=1msec|sox -b 16 -e signed -c 2 -r 44100 -t raw - -b 16 -e signed -c 2 -r 44100 -t raw - noisered noise.prof 0.2|pacat -p -d alsa_output.platform-snd_aloop.0.analog-stereo —latency=1msec

после чего и Скайп и Аудасити радостно подтвердили, что я все сделал правильно (а вентилятор охлаждения проца неодобрительно зашумел, подтверждая мои смутные догадки). На проц я забил. На то он и проц, чтобы работать и вентилятор ему для охлаждения. Мне главное результат.

Тут, конечное дело, мне захотелось и эти 4 действия автоматизировать-запрограммировать, но на такое моих слабых сил уже не хватило ибо я в Линуксе чел неопытный и все мои достижения они исключительно методом обезьяньего тыка + хорошее знание английского. Ничего, кроме этого я больше добавить не могу, так что спрашивать меня бесполезно.

Бесшумного вам счастья, короче.
Прикрепленные файлы:
001_9rnbc.png | 21.9 Кб | Скачали: 1044
Редактировалось: 1 раз (Последний: 3 июня 2016 в 02:37)
Сообщений: 0
Nick:

Доброго времени суток!

Хочу поделиться инфой по вопросу подавления шумов микрофона для Скайпа и пр. Может кому пригодится (нашел на буржуйских форумах). Сразу предупреждаю, решение не идеальное, но вполне работоспособное. Советчики и умники «покупать хорошее и дорогое чтобы потом не мучиться» будут сразу посланы в пешее эротическое путешествие. Я сам знаю, что лучше быть богатым но здоровым, чем бедным и больным. Короче с преамбулой все ясно, дальше описание проблемы

Бесшумного вам счастья, короче.

Спасибо за инфу.Тоже ноут ДНСовский клево, шумы тоже присутствуют.
У меня еще такой трабл наблюдается - пока не поклацаешь с цыфрового выхода на аналоговый в настройках звука микрофон не пашет. Один раз клацнул цифру потом аналог и все пашет.
В начало страницы 
|
Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.