
Mit pulseaudio war es einfach, ein Modul zur Mikrofon-Rauschunterdrückung zu laden. Dieser Link erklärt es deutlich: https://askubuntu.com/questions/18958/realtime-noise-removal-with-pulseaudio
Ich möchte rnnoise als Plugin von Pipewire hinzufügen, um das Mikrofonrauschen für alle Benutzer zu unterdrücken.
Ich suche eine minimalistische Lösung und möchte auf Applikationen verzichten. Wie diese hier: https://github.com/noisetorch/NoiseTorch?tab=readme-ov-file
Antwort1
InstallierenRauschunterdrückung für Sprache. Ab April 2024 gibt es kein Ubuntu-Paket, siehediese offene Fragefür Installationsanweisungen. Es ist jedoch für Arch, Alpine, Gentoo und openSUSE gepackt. In der README-Datei finden Sie Einstellungen, die Sie anpassen können.
Antwort2
Ich habe einen Weg gefunden, es rnnoise
als pipewire
Plugin für alle Benutzer zu laden.
Schritt 1:
Auf dieser Seiternnoise
Sie können die für X86-Linux kompilierten Treiber herunterladen . Dies ist nicht die letzte Version von rnnoise
. Wenn Sie die neueste Version möchten, müssen Sie die Kompilierung meines Erachtens selbst durchführen.offizielles GitHub-Repo.
Schritt 2:
Im heruntergeladenen Archiv finden Sie die benötigten Linux-Bibliotheken. Nehmen Sie immer Mono-Bibliotheken. Sie haben wahrscheinlich nur ein Mikrofon! Ich schlage vor, sie in zu speichern. /usr/lib/audio/
Sie müssen also den Ordner „Audio“ erstellen. Da ich die Dateien umbenannt habe, habe ich jetzt in diesem Ordner:
- ladspa.so
- lv2.so
- vst3.so
- vst.so
Schritt 3
Erstellen Sie die beiden pipewire
Ordner, um diesen Pfad zu erhalten:
/etc/pipewire/pipewire.conf.d/
Schritt 4
Erstellen Sie in diesem Ordner die Datei 99-mic-denoising.conf
. Fügen Sie in diese Datei diesen Inhalt ein:
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
}
}
}
]
Schritt 5
Starten Sie den Pipewire-Daemon neu:
systemctl restart --user pipewire.service
Jetzt können Sie in den Gnome-Einstellungen das Mikrofon mit Geräuschunterdrückung auswählen.
Kommentare
- Wir verwenden daher das Pipewire-Filterkettenmodul. Sehen Sie sich die Dokumentation an, sie ist sehr nützlich.
- Jede Anwendung (die Audio verwendet) wurde für die Verwendung eines Standards (Audio-Plugin-API genannt) entwickelt:
- ladspa: offener Standard...aber es ist nicht der neuste
- lv2: offener Standard ... der neuste
- vst3: proprietärer Standard (bei Open-Source-Programmen sollte er nicht vorkommen)
- vst: proprietärer Standard (das sollten Sie nicht tun ...)
Die von mir bereitgestellte Lösung deckt also keine Anwendungen ab, die das LV2-Audio-Plugin verwenden (proprietäre Standards sind mir egal). Jede Hilfe für LV2 ist willkommen.