How to Improve audio granularity on headphones?

How can I increase the granularity of the audio control?

When I click the "increase volume" and "decrease volume" buttons on my keyboard, it's hard for me to get the right volume. I usually operate within the bottom 20% of the available audio range

image

When I listen to music, sometimes I get in this situation:
0% - silent
5% - too quiet
10% - too loud
15% - :boom: :skull_and_crossbones: RIP ears

How can I increase the granularity of the audio control for the lower sound levels (0-30% or so) such that pressing the increase/decrease volume buttons will change the volume by a smaller step on each button press?

$ garuda-inxi
System:
  Kernel: 6.1.23-1-lts arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
    root=UUID=4bc99fd1-6a7e-4096-8fca-ccd010a3944b rw rootflags=subvol=@
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3 ibt=off
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 info: xfce4-panel wm: xfwm
    v: 4.18.0 vt: 7 dm: LightDM v: 1.32.0 Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: Acer product: Aspire A315-56 v: V1.15
    serial: <superuser required>
  Mobo: IL model: Sleepy_IL v: V1.15 serial: <superuser required>
    UEFI: Insyde v: 1.15 date: 07/13/2020
Battery:
  ID-1: BAT1 charge: 40.2 Wh (100.0%) condition: 40.2/47.8 Wh (84.1%)
    volts: 12.3 min: 11.2 model: LGC AP18C8K type: Li-ion serial: N/A
    status: full
CPU:
  Info: model: Intel Core i3-1005G1 bits: 64 type: MT MCP arch: Ice Lake
    gen: core 10 level: v4 note: check built: 2019-21 process: Intel 10nm
    family: 6 model-id: 0x7E (126) stepping: 5 microcode: 0xB8
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 160 KiB desc: d-2x48 KiB; i-2x32 KiB L2: 1024 KiB desc: 2x512 KiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 3400 min/max: 400/3400 scaling: driver: intel_pstate
    governor: powersave cores: 1: 3400 2: 3400 3: 3400 4: 3400 bogomips: 9524
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Iris Plus Graphics G1 vendor: Acer Incorporated ALI
    driver: i915 v: kernel arch: Gen-11 process: Intel 10nm built: 2019-21
    ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:8a56
    class-ID: 0300
  Device-2: Quanta HD User Facing type: USB driver: uvcvideo bus-ID: 1-7:3
    chip-ID: 0408:a061 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.8 compositor: xfwm v: 4.18.0 driver: X:
    loaded: modesetting alternate: fbdev,intel,vesa dri: iris gpu: i915
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: BOE Display 0x07cb built: 2018 res: 1920x1080
    hz: 60 dpi: 142 gamma: 1.2 size: 344x193mm (13.54x7.6") diag: 394mm (15.5")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo
    missing.
Audio:
  Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Acer Incorporated ALI
    driver: snd_hda_intel v: kernel alternate: snd_sof_pci_intel_icl
    bus-ID: 00:1f.3 chip-ID: 8086:34c8 class-ID: 0403
  API: ALSA v: k6.1.23-1-lts status: kernel-api tools: N/A
  Server-1: PipeWire v: 0.3.68 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Acer Incorporated ALI driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 4000 bus-ID: 01:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp1s0 state: down mac: <filter>
  Device-2: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
    vendor: Lite-On driver: ath10k_pci v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 bus-ID: 02:00.0 chip-ID: 168c:0042 class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IF-ID-1: br-3c4b6f6d3dab state: down mac: <filter>
  IF-ID-2: br-f6b403f2c30d state: down mac: <filter>
  IF-ID-3: docker0 state: down mac: <filter>
  IF-ID-4: wg-mullvad state: unknown speed: N/A duplex: N/A mac: N/A
Bluetooth:
  Device-1: Lite-On Qualcomm Atheros QCA9377 Bluetooth type: USB driver: btusb
    v: 0.8 bus-ID: 1-10:4 chip-ID: 04ca:3015 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 2 state: up address: <filter>
Drives:
  Local Storage: total: 238.47 GiB used: 154.05 GiB (64.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston
    model: RBUSNS8154P3256GJ1 size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 15.8 Gb/s lanes: 2 type: SSD serial: <filter>
    rev: E8FK12.3 temp: 32.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 154.05 GiB (64.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 594 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 154.05 GiB (64.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 154.05 GiB (64.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 154.05 GiB (64.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 7.55 GiB used: 6.21 GiB (82.2%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 62.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 283 Uptime: 9d 11h 6m wakeups: 175 Memory: 7.55 GiB
  used: 3.45 GiB (45.6%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: 1738
  pm: pacman pkgs: 1733 libs: 419 tools: paru pm: flatpak pkgs: 5 Shell: Bash
  v: 5.1.16 running-in: qterminal inxi: 3.3.26
Garuda (2.6.16-1):
  System install date:     2022-09-11
  Last full system update: 2023-04-17 ↻
  Is partially upgraded:   No
  Relevant software:       snapper(custom) NetworkManager mkinitcpio
  Windows dual boot:       No/Undetected
  Failed units:            shadow.service 

Have you tried if using alsamixer anything changes? Or you have other config options (check man page, alsamixer.rc, ... sorry no idea...)?

3 Likes

I know very little about xfce, however this link appears to at least offer insight:

https://theblackzone.net/posts/2022/adjusting-volume-control/

4 Likes

I'm not on Xfce, does it have xfce4-pulseaudio-plugin installed or something like that?

You would have to write a shell script for that and bind it to your keyboard on your own.

Look at this post for the commands to manually define the step increase in volume and bind that command to your keyboard shortcut.
PS: I am no expert just sharing what I know at this moment. I haven't personally tried it but that's the only method I know

when I run pacman -Ss alsamixer, I don't get any search results

It's part of alsa-utils you should already have it.
https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#ALSA_utilities

3 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.