Compare commits
3 Commits
5af13bb98f
...
38aaff30b3
Author | SHA1 | Date |
---|---|---|
Sanchayan Maity | 38aaff30b3 | |
Sanchayan Maity | 15fe363d7d | |
Sanchayan Maity | b53015dc7d |
|
@ -9,3 +9,6 @@ GST_DEBUG_DUMP_DOT_DIR=/tmp/gst-dot
|
|||
GHCUP_USE_XDG_DIRS=1
|
||||
|
||||
DEBUGINFOD_URLS="https://debuginfod.archlinux.org/"
|
||||
|
||||
DISABLE_RTKIT=1
|
||||
PIPEWIRE_LOG_COLOR=force
|
||||
|
|
|
@ -1,101 +0,0 @@
|
|||
# 10 band sink equalizer for DT 770 80 Ohms
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "DT770 Equalizer Sink"
|
||||
media.name = "DT770 Equalizer Sink"
|
||||
filter.graph = {
|
||||
nodes = [
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_1
|
||||
label = bq_highshelf
|
||||
control = { "Freq" = 0 "Q" = 1.0 "Gain" = -2.6 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_2
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 45.0 "Q" = 0.2 "Gain" = -5.2 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_3
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 75.0 "Q" = 1.4 "Gain" = 2.0 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_4
|
||||
label = bq_lowshelf
|
||||
control = { "Freq" = 105.0 "Q" = 0.71 "Gain" = 5.5 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_5
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 210.0 "Q" = 1.4 "Gain" = 4.0 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_6
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 2400.0 "Q" = 3.5 "Gain" = -2.3 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_7
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 3800.0 "Q" = 1.0 "Gain" = 3.0 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_8
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 4200.0 "Q" = 4.0 "Gain" = -1.3 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_9
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 6400.0 "Q" = 4.0 "Gain" = -6.2 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_10
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 8400.0 "Q" = 4.0 "Gain" = -1.4 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_11
|
||||
label = bq_highshelf
|
||||
control = { "Freq" = 10000.0 "Q" = 0.71 "Gain" = -4.0 }
|
||||
}
|
||||
]
|
||||
links = [
|
||||
{ output = "eq_band_1:Out" input = "eq_band_2:In" }
|
||||
{ output = "eq_band_2:Out" input = "eq_band_3:In" }
|
||||
{ output = "eq_band_3:Out" input = "eq_band_4:In" }
|
||||
{ output = "eq_band_4:Out" input = "eq_band_5:In" }
|
||||
{ output = "eq_band_5:Out" input = "eq_band_6:In" }
|
||||
{ output = "eq_band_6:Out" input = "eq_band_7:In" }
|
||||
{ output = "eq_band_7:Out" input = "eq_band_8:In" }
|
||||
{ output = "eq_band_8:Out" input = "eq_band_9:In" }
|
||||
{ output = "eq_band_9:Out" input = "eq_band_10:In" }
|
||||
{ output = "eq_band_10:Out" input = "eq_band_11:In" }
|
||||
]
|
||||
}
|
||||
audio.channels = 2
|
||||
audio.position = [ FL FR ]
|
||||
capture.props = {
|
||||
node.name = "dt770_effect_input.eq11"
|
||||
media.class = Audio/Sink
|
||||
}
|
||||
playback.props = {
|
||||
node.name = "dt770_effect_output.eq11"
|
||||
node.passive = true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,33 +0,0 @@
|
|||
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/ladspa/librnnoise_ladspa.so
|
||||
label = noise_suppressor_mono
|
||||
control = {
|
||||
"VAD Threshold (%)" = 50.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
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,175 +1,5 @@
|
|||
context.properties = {
|
||||
## Configure properties in the system.
|
||||
#library.name.system = support/libspa-support
|
||||
#context.data-loop.library.name.system = support/libspa-support
|
||||
#support.dbus = true
|
||||
#link.max-buffers = 64
|
||||
link.max-buffers = 16 # version < 3 clients can't handle more
|
||||
#mem.warn-mlock = false
|
||||
#mem.allow-mlock = true
|
||||
#mem.mlock-all = false
|
||||
#clock.power-of-two-quantum = true
|
||||
#log.level = 2
|
||||
|
||||
core.daemon = true # listening for socket connections
|
||||
core.name = pipewire-0 # core name and socket name
|
||||
|
||||
## Properties for the DSP configuration.
|
||||
## For iFi Zen DAC V2
|
||||
default.clock.rate = 192000
|
||||
default.clock.allowed-rates = [ 48000 88200 96000 176400 192000 352800 384000 ]
|
||||
#default.clock.quantum = 1024
|
||||
#default.clock.min-quantum = 32
|
||||
#default.clock.max-quantum = 8192
|
||||
#default.video.width = 640
|
||||
#default.video.height = 480
|
||||
#default.video.rate.num = 25
|
||||
#default.video.rate.denom = 1
|
||||
#
|
||||
# These overrides are only applied when running in a vm.
|
||||
vm.overrides = {
|
||||
default.clock.min-quantum = 1024
|
||||
}
|
||||
}
|
||||
|
||||
context.spa-libs = {
|
||||
#<factory-name regex> = <library-name>
|
||||
#
|
||||
# Used to find spa factory names. It maps an spa factory name
|
||||
# regular expression to a library name that should contain
|
||||
# that factory.
|
||||
#
|
||||
audio.convert.* = audioconvert/libspa-audioconvert
|
||||
api.alsa.* = alsa/libspa-alsa
|
||||
api.v4l2.* = v4l2/libspa-v4l2
|
||||
api.libcamera.* = libcamera/libspa-libcamera
|
||||
api.bluez5.* = bluez5/libspa-bluez5
|
||||
api.vulkan.* = vulkan/libspa-vulkan
|
||||
api.jack.* = jack/libspa-jack
|
||||
support.* = support/libspa-support
|
||||
#videotestsrc = videotestsrc/libspa-videotestsrc
|
||||
#audiotestsrc = audiotestsrc/libspa-audiotestsrc
|
||||
}
|
||||
|
||||
context.modules = [
|
||||
#{ name = <module-name>
|
||||
# [ args = { <key> = <value> ... } ]
|
||||
# [ flags = [ [ ifexists ] [ nofail ] ]
|
||||
#}
|
||||
#
|
||||
# Loads a module with the given parameters.
|
||||
# If ifexists is given, the module is ignored when it is not found.
|
||||
# If nofail is given, module initialization failures are ignored.
|
||||
#
|
||||
|
||||
# Uses RTKit to boost the data thread priority.
|
||||
{ name = libpipewire-module-rtkit
|
||||
args = {
|
||||
#nice.level = -11
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = 2000000
|
||||
#rt.time.hard = 2000000
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
|
||||
# Set thread priorities without using RTKit.
|
||||
#{ name = libpipewire-module-rt
|
||||
# args = {
|
||||
# nice.level = -11
|
||||
# rt.prio = 88
|
||||
# rt.time.soft = 2000000
|
||||
# rt.time.hard = 2000000
|
||||
# }
|
||||
# flags = [ ifexists nofail ]
|
||||
#}
|
||||
|
||||
# The profile module. Allows application to access profiler
|
||||
# and performance data. It provides an interface that is used
|
||||
# by pw-top and pw-profiler.
|
||||
{ name = libpipewire-module-profiler }
|
||||
|
||||
# Creates a factory for making devices that run in the
|
||||
# context of the PipeWire server.
|
||||
{ name = libpipewire-module-spa-device-factory }
|
||||
|
||||
# Creates a factory for making nodes that run in the
|
||||
# context of the PipeWire server.
|
||||
{ name = libpipewire-module-spa-node-factory }
|
||||
|
||||
# The portal module monitors the PID of the portal process
|
||||
# and tags connections with the same PID as portal
|
||||
# connections.
|
||||
{ name = libpipewire-module-portal
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
|
||||
# The access module can perform access checks and block
|
||||
# new clients.
|
||||
{ name = libpipewire-module-access
|
||||
args = {
|
||||
# access.allowed to list an array of paths of allowed
|
||||
# apps.
|
||||
#access.allowed = [
|
||||
# /usr/bin/pipewire-media-session
|
||||
#]
|
||||
|
||||
# An array of rejected paths.
|
||||
#access.rejected = [ ]
|
||||
|
||||
# An array of paths with restricted access.
|
||||
#access.restricted = [ ]
|
||||
|
||||
# Anything not in the above lists gets assigned the
|
||||
# access.force permission.
|
||||
#access.force = flatpak
|
||||
}
|
||||
}
|
||||
|
||||
# Makes a factory for wrapping nodes in an adapter with a
|
||||
# converter and resampler.
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
# Makes a factory for creating links between ports.
|
||||
{ name = libpipewire-module-link-factory }
|
||||
|
||||
# Provides factories to make session manager objects.
|
||||
{ name = libpipewire-module-session-manager }
|
||||
]
|
||||
|
||||
context.objects = [
|
||||
#{ factory = <factory-name>
|
||||
# [ args = { <key> = <value> ... } ]
|
||||
# [ flags = [ [ nofail ] ]
|
||||
#}
|
||||
#
|
||||
# Creates an object from a PipeWire factory with the given parameters.
|
||||
# If nofail is given, errors are ignored (and no object is created).
|
||||
#
|
||||
#{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } }
|
||||
#{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
|
||||
#{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
|
||||
#{ factory = spa-node-factory args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
|
||||
#{ factory = adapter args = { factory.name = audiotestsrc node.name = my-test } }
|
||||
#{ factory = spa-node-factory args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }
|
||||
|
||||
# A default dummy driver. This handles nodes marked with the "node.always-driver"
|
||||
# property when no other driver is currently active. JACK clients need this.
|
||||
{ factory = spa-node-factory
|
||||
args = {
|
||||
factory.name = support.node.driver
|
||||
node.name = Dummy-Driver
|
||||
node.group = pipewire.dummy
|
||||
priority.driver = 20000
|
||||
}
|
||||
}
|
||||
{ factory = spa-node-factory
|
||||
args = {
|
||||
factory.name = support.node.driver
|
||||
node.name = Freewheel-Driver
|
||||
priority.driver = 19000
|
||||
node.group = pipewire.freewheel
|
||||
node.freewheel = true
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
# 7 band sink equalizer for Truthear Zero:Red using Oratory1990 target
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Zero:Red Equalizer Sink"
|
||||
media.name = "Zero:Red Equalizer Sink"
|
||||
filter.graph = {
|
||||
nodes = [
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_1
|
||||
label = bq_highshelf
|
||||
control = { "Freq" = 0 "Q" = 1.0 "Gain" = -3.5 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_2
|
||||
label = bq_lowshelf
|
||||
control = { "Freq" = 100.0 "Q" = 0.71 "Gain" = 2.0 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_3
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 140.0 "Q" = 0.9 "Gain" = 3.0 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_4
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 780.0 "Q" = 2.0 "Gain" = 0.6 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_5
|
||||
label = bq_peaking
|
||||
control = { "Freq" = 1350.0 "Q" = 1.8 "Gain" = -1.4 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_6
|
||||
label = bq_highshelf
|
||||
control = { "Freq" = 3000.0 "Q" = 0.71 "Gain" = 0.0 }
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
name = eq_band_7
|
||||
label = bq_highshelf
|
||||
control = { "Freq" = 10000.0 "Q" = 0.71 "Gain" = 0.0 }
|
||||
}
|
||||
]
|
||||
links = [
|
||||
{ output = "eq_band_1:Out" input = "eq_band_2:In" }
|
||||
{ output = "eq_band_2:Out" input = "eq_band_3:In" }
|
||||
{ output = "eq_band_3:Out" input = "eq_band_4:In" }
|
||||
{ output = "eq_band_4:Out" input = "eq_band_5:In" }
|
||||
{ output = "eq_band_5:Out" input = "eq_band_6:In" }
|
||||
{ output = "eq_band_6:Out" input = "eq_band_7:In" }
|
||||
]
|
||||
}
|
||||
audio.channels = 2
|
||||
audio.position = [ FL FR ]
|
||||
capture.props = {
|
||||
node.name = "zerored_effect_input.eq7"
|
||||
media.class = Audio/Sink
|
||||
}
|
||||
playback.props = {
|
||||
node.name = "zerored_effect_output.eq7"
|
||||
node.passive = true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue