5.6 KiB
creation date | tags | |||||||
---|---|---|---|---|---|---|---|---|
2022-01-08 |
|
- See KB/Linux/Desktop/ArchLinux/Audio/pipewire.txt for packages
- See KB/Linux/Desktop/ArchLinux/Audio/pulseaudio.txt for packages
This document outlines how to get a decent audio setup utilizing a headphone EQ called dsp. It's targeted for Linux machines, but use EqualizerAPO to similarly use headphones EQ presets.
See HiFi 24bit and 192kHz Music Downloads are Very Silly Indeed
why not more than 44.1 kHz is needed. The following will not enforce 44.1kHz though.
Why?
A target curve T has been tested and be found most comfortable listening to. Try to get each Headphones with EQ settings near that curve T. EQ presets for a lot of headphones.
How-to for Linux
Baseline for this is the following website.
With PipeWire
Use PulseEffects
(X.org) or Easy Effects
(Wayland) presets for EQ settings and enable auto-start.
Make sure that lsp-plugins
is installed for EasyEffects
.
There are some very convenient settings you probably want to set.
-
Handle suspend (globally in
/etc
or as drop-ins in~/config/...
)-
In
/etc/pipewire/media-session.d/media-session.{conf|confpause}
comment outsuspend-node
to enable suspending feature -
In Wireplumber or
/etc/pipewire/media-session.d/alsa-monitor.conf
set a timeout so that your DAC/output device is able to always receive a signal if you like.node.pause-on-idle = false session.suspend-timeout-seconds = 0 # or any number as seconds
-
-
If you like, set a default sample rate in
/etc/pipewire/pipewire.conf
, e.g. for 44.1kHzdefault.clock.rate = 44100 default.clock.allowed-rates = [ 44100 ]
-
Use
systemctl --user restart wireplumber.service pipewire.service pipewire-pulse.service
to restart PipeWire
With PulseAudio
-
Allow direct communication to device for PulseAudio. Edit ALSA configuration
/etc/asound.conf
.# Use PulseAudio plugin hw pcm.!default { type plug slave.pcm hw }
-
(OPTIONAL, DO IF YOU WANT A REMAPPED VERSION OF MAIN AUDIO DEVICE IN sink_name=) Add some default sink names (remap them) in PulseAudio
/etc/pulse/default.pa
. Usepacmd list-sinks
andpacmd list-sources
to list your devices and insert as master below. Any user could usesink_main
andsrc_microphone
instead of the specific device assink_name=
. This is OPTIONAL if you use direct sink name in any user specific file later instead of "sink_main" and "src_microphone"# create remapped sink/sources with proper names and description # pacmd list-sinks load-module module-remap-sink sink_name="sink_main" master="alsa_output.pci-0000_31_00.4.iec958-stereo" sink_properties=device.description="Toslink" remix=no # pacmd list-sources load-module module-remap-source source_name="src_microphone" master="alsa_input.usb-Samson_Technologies_Samson_Meteor_Mic-00.analog-stereo" source_properties=device.description="Microphone" remix=no
-
Adapt
.config/pulse/daemon.conf
flat-volumes = no
default-sample-channels = 2
default-channel-map = front-left,front-right
default-sample-format = s32ne
;default-sample-rate = 44100
;alternate-sample-rate = 44100
;resample-method = speex-float-10
enable-lfe-remixing = no
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 9
rlimit-rtprio = 9
EQ
Install dsp.
Create and adapt configuration for dsp. See example below. Use EQ presets for your headphones.
-
Basic file structure
.config/ladspa_dsp ├── config_beyerdynamic_dt1990 └── eq └── beyerdynamic_dt1990.conf
-
The main configuration for an additional Pulse sink
.config/ladspa_dsp/config_beyerdynamic_dt1990
LC_NUMERIC=C effects_chain=@eq/beyerdynamic_dt1990.conf
-
The EQ settings derived from the target curve found for your headphones, e.g.
.config/ladspa_dsp/eq/beyerdynamic_dt1990.conf
# Beyerdynamic DT 1990 # preamp gain gain -4.0 lowshelf 90 0.7q +4.0 eq 220 0.7q -3.4 ...
-
Add a new sink based on above remapped sink_main for the EQ present in
.config/pulse/default.pa
(also some other reasonable default settings)# load system defaults .include /etc/pulse/default.pa # unload the cork stuff .nofail unload-module module-role-cork .fail # unload the idle suspend stuff .nofail unload-module module-suspend-on-idle .fail # dsp EQ stuff for various headphones .ifexists module-ladspa-sink.so .nofail load-module module-ladspa-sink sink_name=dsp_beyerdynamic_dt1990 sink_master="<MAIN SINK NAME> OR <sink_main from OPTIONAL STEP>" plugin=ladspa_dsp label=ladspa_dsp:beyerdynamic_dt1990 sink_properties=device.description="Beyerdynamic\ DT\ 1990\ Pro" .fail .endif
-
Restart PulseAudio, so that the new sink appears. In your settings, select the newly added DSP sink as default one. Maybe restart device.
Linux troubleshooting
- Something weird going on? Delete anything except for configuration files in
.config/pulse/
. - Restarting when changing anything in PulseAudio configuration is highly recommended as some applications might not be able to handle restarting audio system.