파이프라인 모듈을 사용하여 마이크 소음 감소

파이프라인 모듈을 사용하여 마이크 소음 감소

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 단계:
이 페이지에서rnnoiseX86 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

이제 그놈 설정에서 소음 제거 마이크를 선택할 수 있습니다.

논평

  1. 따라서 우리는 파이프라인와이어 필터 체인 모듈을 사용합니다.. 문서를 확인해 보세요. 매우 유용합니다.
  2. 오디오를 사용하는 모든 애플리케이션은 표준(오디오 플러그인 API라고 함)을 사용하도록 설계되었습니다.
    • ladspa: 개방형 표준이지만...최신 버전이 아니에요
    • lv2: 개방형 표준...최신
    • vst3: 독점 표준(오픈 소스 프로그램에서는 볼 수 없음)
    • vst: 독점 표준(그러면 안 됩니다...)

따라서 제가 제공하는 솔루션은 lv2 오디오 플러그인을 사용하는 애플리케이션에는 적용되지 않습니다(독점 표준에는 관심이 없습니다). LV2에 대한 도움을 환영합니다.

관련 정보