feat: deep filter noise cancellation for pipewire

This commit is contained in:
hesam-init 2024-11-01 19:38:36 +03:30
parent ab34086fcc
commit 05531211dc
2 changed files with 83 additions and 22 deletions
hypr-configs/dotfiles/pipewire/pipewire.conf.d

View file

@ -1,22 +1,22 @@
context.modules = [
{
name = libpipewire-module-echo-cancel
args = {
library.name = aec/libspa-aec-webrtc
node.latency = 1024/48000
monitor.mode = false
capture.props = {
node.name = "Echo Cancellation Capture"
}
source.props = {
node.name = "Echo Cancellation Source"
}
sink.props = {
node.name = "Echo Cancellation Sink"
}
playback.props = {
node.name = "Echo Cancellation Playback"
}
}
}
]
# context.modules = [
# {
# name = libpipewire-module-echo-cancel
# args = {
# library.name = aec/libspa-aec-webrtc
# node.latency = 1024/48000
# monitor.mode = false
# capture.props = {
# node.name = "Echo Cancellation Capture"
# }
# source.props = {
# node.name = "Echo Cancellation Source"
# }
# sink.props = {
# node.name = "Echo Cancellation Chad"
# }
# playback.props = {
# node.name = "Echo Cancellation Playback"
# }
# }
# }
# ]

View file

@ -0,0 +1,61 @@
context.modules = [
{
name = libpipewire-module-filter-chain
args = {
node.description = "DeepFilter Noise Canceling Source"
media.name = "DeepFilter Noise Canceling Source"
filter.graph = {
nodes = [
{
type = ladspa
name = "DeepFilter Mono"
plugin = /home/hesam/Pipewire/libdeep_filter_ladspa-0.5.6-x86_64-unknown-linux-gnu.so
label = deep_filter_mono
control = {
"Attenuation Limit (dB)" 100
}
}
]
}
audio.rate = 48000
audio.position = [MONO]
capture.props = {
node.passive = true
}
playback.props = {
media.class = Audio/Source
}
}
},
# {
# name = libpipewire-module-filter-chain
# args = {
# node.description = "DeepFilter Noise Canceling Sink"
# media.name = "DeepFilter Noise Canceling Sink"
# filter.graph = {
# nodes = [
# {
# type = ladspa
# name = "DeepFilter Stereo"
# plugin = /home/hesam/Pipewire/libdeep_filter_ladspa-0.5.6-x86_64-unknown-linux-gnu.so
# label = deep_filter_stereo
# control = {
# "Attenuation Limit (dB)" 100
# }
# }
# ]
# }
# audio.rate = 48000
# audio.channels = 2
# audio.position = [FL FR]
# capture.props = {
# node.name = "deep_filter_stereo_input"
# media.class = Audio/Sink
# }
# playback.props = {
# node.name = "deep_filter_stereo_output"
# node.passive = true
# }
# }
# }
]