
펄스오디오를 사용하면 마이크 소음 감소용 모듈을 쉽게 로드할 수 있습니다. 이 링크는 이를 명확하게 설명합니다. https://askubuntu.com/questions/18958/realtime-noise-removal-with-pulseaudio
모든 사용자의 마이크 소음을 취소하기 위해 rnnoise를 파이프와이어의 플러그인으로 추가하고 싶습니다.
저는 최소한의 솔루션을 찾고 있으며 응용 프로그램을 피하고 싶습니다. 이 같은: https://github.com/noisetorch/NoiseTorch?tab=readme-ov-file
답변1
설치하다음성에 대한 소음 억제. 2024년 4월 현재 Ubuntu 패키지는 없습니다.이 공개 문제설치 지침을 확인하세요. 그러나 Arch, Alpine, Gentoo 및 openSUSE용으로 패키지되어 있습니다. 조정할 수 있는 설정은 README를 참조하세요.
답변2
모든 사용자를 위한 플러그인 rnnoise
으로 로드하는 방법을 찾았습니다 .pipewire
1 단계:
이 페이지에서rnnoise
X86 Linux용으로 컴파일된 드라이버를 다운로드할 수 있습니다 . 이것은 의 마지막 버전이 아닙니다 rnnoise
. 최신 버전을 원한다면 다음에서 직접 컴파일을 수행해야 할 것 같습니다.공식 github 레포.
2 단계:
다운로드한 아카이브에서 필요한 Linux 라이브러리를 찾을 수 있습니다. 항상 모노 라이브러리를 사용하세요. 아마도 마이크가 하나만 있을 것입니다! 나는 그것들을 저장할 것을 제안합니다. /usr/lib/audio/
그래서 당신은 audio 폴더를 만들어야 할 것입니다. 파일 이름을 바꾸면서 이제 이 폴더에 있습니다.
- ladspa.so
- lv2.so
- vst3.so
- vst.so
3단계pipewire
이 경로를 얻으려면 2개의 폴더를 만듭니다 .
/etc/pipewire/pipewire.conf.d/
4단계
이 폴더에 파일을 만듭니다 99-mic-denoising.conf
. 이 파일에 다음 내용을 붙여넣습니다.
context.modules = [
{name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/audio/ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 90.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]
5단계
파이프와이어 데몬을 다시 시작합니다.
systemctl restart --user pipewire.service
이제 그놈 설정에서 소음이 제거된 마이크를 선택할 수 있습니다.
코멘트
- 우리는 파이프와이어 필터 체인 모듈을 사용합니다.. 문서를 확인하면 매우 유용합니다.
- 오디오를 사용하는 각 애플리케이션은 표준(오디오 플러그인 API라고 함)을 사용하도록 설계되었습니다.
- ladspa: 개방형 표준이지만...최신 표준은 아니지
- lv2: 개방형 표준...최신 표준
- vst3: 독점 표준(오픈 소스 프로그램에서는 볼 수 없음)
- vst: 독점 표준(그러면 안 됩니다 ....)
따라서 제가 제공한 솔루션은 lv2 오디오 플러그인을 사용하는 애플리케이션에는 적용되지 않습니다(독점 표준에는 관심이 없습니다). lv2에 대한 도움을 환영합니다.