마이크-Linux에서 정적 배경 소음 억제


13

사운드 카드는 Realtek ALC 892입니다. Windows 7에서는 공식 Realtek 드라이버를 사용하고 Linux에서는 PulseAudio (Ubuntu 13.10)를 사용합니다. Windows와 Linux 모두에서 마이크 부스트 + 30db (마이크가 조용하기 때문에 필요)를 활성화하면 매우 성 가시고 큰 배경 소음이 발생합니다 (두 시스템에서 Audacity로 배경 소음을 확인했습니다).

그러나 Windows Realtek 드라이버에는 작동하는 소음 억제 옵션이 있습니다 (활성화 한 후 Audacity는 배경 소음이 없으며 귀가 배경 소음이 없음을 확인합니다).

노이즈 억제 옵션을 보여주는 이미지

내 질문은 ALSA / PulseAudio에서 백그라운드 노이즈 억제를 어떻게 활성화 할 수 있습니까? 설치할 수있는 모듈이 있습니까, 아니면 구성 파일에서 활성화 할 수있는 설정이 있습니까?

나는 해결책을 찾을 수 없으며 이것이 마이크를 많이 사용하여 이야기하고 Windows에서 Realtek 소프트웨어는 배경 소음을 완전히 제거하고 PulseAudio는 그것을 제거하지 않으므로 Linux로 완전히 전환하지 못하게하는 유일한 방법입니다. 리눅스에서 녹음 된 음성이 매우 나쁘다는 것을 의미합니다.

더 나은 사운드 카드와 마이크를 구입할 수 있다는 것을 알고 있지만 Windows Realtek 드라이버는 소프트웨어 수준에서 실시간으로 소음을 제거합니다 (즉, TeamSpeak3 / Steam / VoIP 프로그램과 대화 할 때 소음이 없음). 그러한 옵션이 있기를 바랍니다. 리눅스에서도.

이것은 또한 Ask Ubuntu에 크로스 포스팅 되어 있으며 여기 에 이미 답변되어 있습니다 .


1
Crossposted : askubuntu.com/questions/421671/… 명시 적으로 표시 하면 해당 IMO에 아무런 문제가 없습니다 . 그렇지 않으면 사람들이 중복 답변 등을 게시하는 데 시간을 낭비 할 가능성이 있습니다.
— goldilocks

2
@goldilocks는 중복 답변이 없는지 확인하기 위해 교차 게시 된 두 사이트에 정보를 추가했습니다.
— user1873947

답변:


5

에 따르면 리얼텍 사양 의

  • 음성 애플리케이션을위한 마이크 AEC (Acoustic Echo Cancellation), NS (Noise Suppression) 및 BF (Beam Forming) 기술

에 나열된되는 소프트웨어 기능의 목록입니다. 또한 ALC892 칩셋 데이터 시트를 살펴본 결과 실제로 칩셋의 기능이 아닙니다 . 따라서이 기능은 Windows ALC892 드라이버가 처리하는 소프트웨어 기능 일뿐입니다.

따라서 나는이 특정 드라이버에 묶이지 않고 리눅스에서 소음 억제의보다 일반적인 해결책에 노력을 기울일 것이다.

/programming//q/4875818/684229


답변 감사합니다. 그러나 당신이 연결 한 질문은 정적 배경 소음 감소와 다른 반향 제거에 대해 말합니다 (반향은 스피커에서 나오고 정적 잡음은 일반적으로 하드웨어에 의해 발생합니다).
— user1873947

분명히 Realtek (및 기타)은이 기능의 구현에 대해 특허 침해로 고소 당했습니다. lexology.com/library/… 여기에 언급 된 특허를 확인하는 것이 좋습니다.
— Fizz

그 링크의 내구성을 확신하지 못하기 때문에 : "미국 특허 번호 5,825,898 ( '898 특허); 6,483,923 ('923 특허); 6,049,607 ( '607 특허); 6,363,345 ('345 특허); 및 6,377,637 ( '637 특허)'.
— Fizz

3

이것이 장치와 함께 제공되는 소프트웨어가 아니라 장치의 기능인 경우, 아마도 이전 버전 일 경우 커널 드라이버에서 구현해야합니다. 1 일반적으로 Realtek PCI 사운드 카드는 실제로 Intel HDA 드라이버를 패치와 함께 사용하여 ALC 코덱을 지원하는 것으로 보입니다 (관심있는 사람 :) [src]/sound/pci/hda/patch_realtek.c.

커널 소스 문서에서 "노이즈 억제"또는 "에코 제거"를 검색하는 것은 이러한 장치와 관련하여 언급되지 않았습니다. 드라이버 소스 자체를 검색하는 것은 명시 적으로 언급되지 않았습니다. 그것이 구현 되었다면, 이것은 아마도 사용자 공간 소프트웨어가 사용할 수 있는 인터페이스 /proc나 /sys드라이버 모듈 옵션과 함께 문서화 될 것이라고 생각합니다 .

물론 문제는 대부분의 하드웨어 제조업체와 마찬가지로 Realtek은 드라이버 소스 코드를 비밀로 간주하여 타사가 Linux와 같은 Realtek이 완벽하게 지원하지 않는 시스템에 대한 드라이버를 만드는 것이 어렵거나 불가능하다는 것입니다. . Realtek에는 Linux 드라이버를 나열하는 페이지가 있지만 링크가 작동하지 않는 것 같습니다. 운이 좋으면 누군가 여기 에 설치 지침이 있습니다 (민트 지향 사이트이지만 프로세스는 배포판에서 동일합니다).2

하나 어딘가에 사본을 찾을 수 있더라도 찾을 수있는 언급이 없기 때문에 드라이버가 원하는 기능을 구현하는지 의심합니다. 대부분의 경우 이미 가지고있는 것과 거의 동일합니다. Mint 페이지는 커널 드라이버가 측면 및 후면 스피커를 교환한다고 언급하는 것이 약간 나을 수도 있지만, 트리 외부 드라이버가 커널 개발자에 의해 심사되지 않기 때문에 악화되거나 완전히 작동하지 않을 수도 있습니다. 저자가 알지 못하는 커널과 관련된 문제를 포함 할 수 있습니다 (인트 리 hda 패치의 작성자는 @realtek.com.tw이메일 주소를 가짐 ).

따라서 다른 말을 듣지 않으면 운이 나쁠 것입니다. 이것에 대한 소프트웨어 솔루션을 둘러 볼 수 있습니다. 그러한 기능은 Linux의 Skype에서 구현 된 것이므로 소프트웨어만으로도 실시간으로 작동 할 수 있습니다. 누군가도 종이를 썼습니다 그것에 를불행히도 더 이상 운을 찾지 못했습니다.

이 여기에 몇 가지 논의 의 기능을 사용하여 alsamixer약간의 소음 감소를 달성하기는. 내가 생각하는 당신이 그렇게하지 않도록 펄스 오디오해야합니다.


1. Pulseaudio는 실제로 커널의 사운드 하위 시스템 인 ALSA를 기반으로 구축 된 사용자 공간 도구입니다 (즉, pulseaudio는 하드웨어 액세스를 구현하지 않고 커널 드라이버에서 나오는 스트림으로 작동합니다).

2. 찾은 경우 2.6 버전이 아닌 3.0 버전이 필요합니다. 이 숫자는 호환 가능한 Linux 커널 버전을 나타내며 3.x 커널을 사용하고 있습니다. 그러나 다시 말하지만, 만약 당신의 소리가 괜찮다면, 나는 당신을 위해 아무것도 할 것 같지 않기 때문에 이것을 귀찮게 하지 말 것을 강력히 권합니다.


심층적 인 답변에 감사드립니다. 그러나 나는 여기에 설명 된 "webrtc-aec module"이라는 것을 발견했습니다 : wiki.gentoo.org/wiki/PulseAudio . 그러나 해당 모듈을 지원하는 앱에서만 작동하는 것 같습니다. 맞습니까? 또한 우분투에서 이것이 비활성화 될 가능성이 있습니다 .PulseAudio 에서이 모듈을 활성화하는 방법을 알고 있습니까? 그것은 내 문제에 대한 해결책이 될 수 있습니다
— user1873947

미안 해요 펄스 오디오 모듈은 소프트웨어 솔루션의 예입니다. 별도의 특정 질문으로 처리하는 것이 가장 좋을 것 같습니다.)
— goldilocks

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.