pulseaudio를 사용하면 마이크 소음 감소 모듈을 쉽게 로드할 수 있습니다. 이 링크는 매우 명확하게 설명합니다. 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용으로 패키지되어 있습니다. 조정할 수 있는 설정에 대해 알아보려면 추가 정보 파일을 참조하세요.
답변2
rnnoise
모든 사용자를 위해 플러그인을 로드하는 방법을 찾았습니다 .pipewire
1 단계:
이 페이지에서rnnoise
X86 Linux용으로 컴파일된 드라이버를 다운로드할 수 있습니다 . 이것은 마지막 버전이 아닙니다 rnnoise
. 최신 버전을 원한다면 직접 컴파일해야 할 것 같습니다.공식 github 저장소.
2 단계:
다운로드한 아카이브에서 필요한 Linux 라이브러리를 찾을 수 있습니다. 항상 모노 라이브러리를 사용하세요. 마이크는 하나만 있어도 됩니다! 오디오 폴더 에 저장하는 것이 좋으 /usr/lib/audio/
므로 직접 만들어야 합니다. 이 파일의 이름을 바꾸면 이제 다음 폴더에 있습니다.
- radespa.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단계
Pipewire 데몬을 다시 시작합니다.
systemctl restart --user pipewire.service
이제 그놈 설정에서 소음 제거 마이크를 선택할 수 있습니다.
논평
- 따라서 우리는 파이프라인와이어 필터 체인 모듈을 사용합니다.. 문서를 확인해 보세요. 매우 유용합니다.
- 오디오를 사용하는 모든 애플리케이션은 표준(오디오 플러그인 API라고 함)을 사용하도록 설계되었습니다.
- ladspa: 개방형 표준이지만...최신 버전이 아니에요
- lv2: 개방형 표준...최신
- vst3: 독점 표준(오픈 소스 프로그램에서는 볼 수 없음)
- vst: 독점 표준(그러면 안 됩니다...)
따라서 제가 제공하는 솔루션은 lv2 오디오 플러그인을 사용하는 애플리케이션에는 적용되지 않습니다(독점 표준에는 관심이 없습니다). LV2에 대한 도움을 환영합니다.