마이크-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.