Audio sounds slightly worse on Linux

Hello, I will be very straight forward. My laptops audio sounds slightly worse on Linux (by default). Why? It used dts audio processing on windows. There is something similar on Linux called easyeffects which I have tried. It works and improves audio significantly. But it uses a lot of cpu. So, is there a way to directly make audio better through pipewire. My speakers are Sonic Master and my laptop is Asus vivobook 14 e410ka_ew103_ws.

(Analoc speakers) and (I tried adding virtual surround sound but it didn’t work).

Which sound server do you use - pulseaudio or pipewire ?

You could also post straight forward your system settings :slight_smile:

inxi --admin --verbosity=5 --filter --no-host --width

Im not experienced around Linux Sound stuff.
But i love high quality sound and i still have good ears and sound quality was always pretty good with my creative dedicated sound card and showed no difference between Windows and Linux. :man_shrugging:

1 Like

See here:

https://wiki.archlinux.org/title/PipeWire#Audio_post-processing

Audio quality is always likely to seem better on Windows because it has built-in audio processing and users do not usually turn processing off to be able to make an accurate comparison to Linux

Easyeffects is a wrapper for pro-audio effects plugins with simplified controls for non-pro users
JamesDSP has built-in audio effects rather than relying on external plugins, that might reduce the CPU load, but any additional audio processing will load the CPU

Sonic Master is the in-house brand name for Asus speakers
Asus also use ICE Power instead of advising the actual audio codec
Specifications state there is ‘built-in speaker’ but no power-rating mentioned

The closest match for online data scan I could find is:
ASUSTek Computer VivoBook_ASUSLaptop E410KA_E410KA Notebooks
So you probably have the same device for onboard audio
Intel Jasper Lake HD Audio

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC256 Analog [ALC256 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

CPU is either Celeron(R) N4500 @ 1.10GHz or Pentium(R) Silver N6000 @ 1.10GHz

Have you checked audio quality with headphones or eternal speakers? if the onboard audio codec is ok without using speakers you could get external speakers with a 3.5mm jack. If it is not ok, USB speakers or a DAC

Audio quality is usually better for desktop systems with external speakers even with onboard audio codecs. Your card also has built-in DSP in ALSA that does not load the CPU

easyeffects requires pipewire and replaces pulseffects

See if this helps: [How To] Make Linux sound GREAT!

1 Like

It would be nice to have a description (as best as you can) as to how the audio differs. Lots of things can affect it.

I do have an example though, from some time back, which you won’t be able to access directly (yet) as it’s in the Member Hub, so I’ll post an excerpt here:

Thread title: [Audio improvements in a (quite) recent update, via wired connection. PulseAudio. Anyone else noticed?]

Opening post in that thread

I’m referring mainly to the deep bass response, sub 35Hz or so right down to the limits of my hearing (approx 17Hz) and crossing over well into feelable territory. Is this just me? (… I know it’s not, as my housemate has noticed as well, plus likely the neighbours). It’s accurate, precise, coherent and sounds bloody fantastic. It wasn’t like this a few months ago and I haven’t done anything to the stereo kit other than the usual volume adjustments; tone controls are bypassed.

I’m loving it, by the way, if you hadn’t already guessed that one.

Not noticed any difference with the headphones; I think the lower limit with those is about 20Hz & I use those via Bluetooth. Doqaus Care 1 which actually are a bit bass-heavy anyway within the response range.

Regarding PulseAudio vs. Pipewire: I can not tell the difference, and that is through decent audio equipment.

Though, I have no experience with audio from any Windows after 7, so I can’t compare with that; I don’t have a working Windows installation and would need to use the same hardware for a direct comparison anyway.

Means some love has been going in to Linux audio.

Most of the audio hardware is not new technology, just the same old technology but cheaper, smaller and lower power
Cortana microphones and Sound Open Firmware is new, but analog I/O is still using legacy driver snd_hda_intel under the hood
Linux LADSPA DSP plugins are almost 20 years old

OP would probably get better information from youtube videos made by audio engineers and producers than Linux users

I would suggest turn off all effects except the graphic equaliser and learn how to use that tool first

OP is not using decent audio equipment. Hardware would be ok for VOIP calls, but the bass reproduction on speakers would be negligible or non-existant - Hofmann’s Iron Law

If OP was using PulseAudio, increasing default sample-rate from 44100 Hz to 48000 Hz might improve audio quality for headphones. But PipeWire uses 48000 Hz by default

2 Likes

Pipewire.

Headphones are absolutely ok.

So, that sounds like it’s down to the quality of the speakers, if they are connected in the same way? e.g. ⅛" audio jack, or Bluetooth.

I don’t know about your particular speakers. Not enough detail there to research.

here:

System:
  Kernel: 6.9.12-3-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-6.9-x86_64
    root=UUID=de76af77-81b5-43f3-a100-a5e718b7043d rw rootflags=subvol=@ quiet
    splash udev.log_priority=3
  Desktop: KDE Plasma v: 6.0.5 tk: Qt v: N/A info: frameworks v: 6.5.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: VivoBook_ASUSLaptop E410KA_E410KA
    v: 1.0 serial: <superuser required>
  Mobo: ASUSTeK model: E410KA v: 1.0 serial: <superuser required>
    uuid: <superuser required> UEFI: American Megatrends LLC. v: E410KA.320
    date: 03/01/2024
Battery:
  ID-1: BAT0 charge: 31.9 Wh (100.0%) condition: 31.9/42.1 Wh (75.7%)
    volts: 11.8 min: 11.8 model: ASUSTeK ASUS Battery type: Li-ion serial: N/A
    status: not charging cycles: 112
Memory:
  System RAM: total: 8 GiB available: 7.54 GiB used: 1.9 GiB (25.2%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 32 GiB slots: 2 modules: 1 EC: None
    max-module-size: 16 GiB note: est.
  Device-1: Controller0-ChannelA-DIMM0 type: no module installed
  Device-2: Controller0-ChannelB type: DDR4 detail: synchronous size: 8 GiB
    speed: spec: 3200 MT/s actual: 2933 MT/s volts: note: check curr: 1 min: 1
    max: 1 width (bits): data: 64 total: 64 manufacturer: Micron Technology
    part-no: 4ATF51264HZ-3G2J1 serial: N/A
CPU:
  Info: model: Intel Pentium Silver N6000 bits: 64 type: MCP arch: Alder Lake
    level: v2 built: 2021+ process: Intel 7 (10nm ESF) family: 6
    model-id: 0x9C (156) stepping: 0 microcode: 0x24000026
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 4 smt: <unsupported> cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1.5 MiB desc: 1x1.5 MiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 800 min/max: 800/3300 scaling: driver: intel_pstate
    governor: powersave cores: 1: 800 2: 800 3: 800 4: 800 bogomips: 8912
  Flags: ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT disabled
  Type: reg_file_data_sampling mitigation: Clear Register File
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB: conditional;
    RSB filling; PBRSB-eIBRS: Not affected; BHI: SW loop, KVM: SW loop
  Type: srbds status: Vulnerable: No microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel JasperLake [UHD Graphics] vendor: ASUSTeK 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:4e71
    class-ID: 0300
  Device-2: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-4:3 chip-ID: 13d3:56e6
    class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.2
    compositor: kwin_x11 driver: X: loaded: modesetting alternate: fbdev,vesa
    dri: iris gpu: i915 display-ID: :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 0x07f6 built: 2020 res: 1920x1080
    hz: 60 dpi: 158 gamma: 1.2 size: 309x174mm (12.17x6.85") diag: 355mm (14")
    ratio: 16:9 modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast gbm: drv: iris surfaceless: drv: iris x11: drv: iris
    inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.1.6-arch1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics (JSL)
    device-ID: 8086:4e71 memory: 3.68 GiB unified: yes
  API: Vulkan v: 1.3.279 layers: N/A device: 0 type: integrated-gpu
    name: Intel UHD Graphics (JSL) driver: mesa intel v: 24.1.6-arch1.1
    device-ID: 8086:4e71 surfaces: xcb,xlib
Audio:
  Device-1: Intel Jasper Lake HD Audio vendor: ASUSTeK driver: snd_hda_intel
    v: kernel alternate: snd_soc_avs,snd_sof_pci_intel_icl bus-ID: 00:1f.3
    chip-ID: 8086:4dc8 class-ID: 0403
  API: ALSA v: k6.9.12-3-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.2.3 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
    vendor: AzureWave driver: ath10k_pci v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 bus-ID: 01:00.0 chip-ID: 168c:0042 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: IMC Networks driver: btusb v: 0.8 type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-8:4 chip-ID: 13d3:3496 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
Drives:
  Local Storage: total: 238.47 GiB used: 16.2 GiB (6.8%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: PC SN530
    SDBPNPZ-256G-1002 size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 21106000 temp: 34.9 C scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 238.17 GiB size: 238.17 GiB (100.00%) used: 16.2 GiB (6.8%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: de76af77-81b5-43f3-a100-a5e718b7043d
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 label: N/A
    uuid: 0CC4-A62F
  ID-3: /home raw-size: 238.17 GiB size: 238.17 GiB (100.00%)
    used: 16.2 GiB (6.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: de76af77-81b5-43f3-a100-a5e718b7043d
  ID-4: /var/log raw-size: 238.17 GiB size: 238.17 GiB (100.00%)
    used: 16.2 GiB (6.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: de76af77-81b5-43f3-a100-a5e718b7043d
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: file size: 512 MiB used: 0 KiB (0.0%) priority: -2
    file: /swap/swapfile
Sensors:
  System Temperatures: cpu: 58.0 C mobo: N/A
  Fan Speeds (rpm): cpu: 0
Info:
  Processes: 222 Power: uptime: 3m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 3 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 1233 libs: 356 tools: pamac pm: flatpak pkgs: 0
    Compilers: N/A Shell: Zsh v: 5.9 default: Bash v: 5.2.32 running-in: konsole
    inxi: 3.3.36

Edit: show terminal response with preformatted text – nikgnomic

laptop built in.

Built-in speakers aren’t exactly HiFi, even those Harman-Kardon ones in one of my netbooks. The ones in this T440 aren’t bad, but again, not HiFi.

If you’re referring to limited volume, you can override the maximum, at least in KDE. Up to 150%. But beware this can also cause clipping / distortion.

My speaker is alright. But easyeffects runs in the background and eats up a lot of cpu. Like 10/400%. It is bad. Easyeffects, like it’s name is an easy fix at the cost of high gpu usage.

Mark your code (Terminal Output), and press crlt+e for preformated text.

I never wanted to compare a dedicated sound with a cheap onboard sound + cheap Laptop Boxes.

Of course the dedicated soundcard + external expensive speakers wins.

I just compared my sound quality in Windows and Linux with the same hardware.

Allright, then maybe this is the big difference around Linux compared to Windows. That the default DSP effects has bad predefined values?

Thinkpad T and X series were considered the best laptops for audio production because:

  • The trackpoint
  • Lenovo made docks for the studio and extra battery packs for mobile use
  • The keyboard could handle someone spilling a drink on the keyboard

T440 has miniature loudspeakers that are a lot larger than sub-miniature speakers fitted on modern laptops and a large rear enclosure, for a laptop
Notebookcheck - Lenovo ThinkPad T440 20B6005YGE

That site also has information about OP’s CPU
Notebookcheck - Intel Pentium Silver N6000 Processor - Benchmarks and Specs
There is review linked from there to a laptop with the same CPU - Asus Vivobook 13
But that system has 4 speakers and smart amplifiers

I suggest you use htop and pw-top to get data about easyeffects and CPU
Turn off the spectrum analyzer
Turn off any plugins for audio input from microphone
Then turn off plugins for audio output one-by-one and see how much the load reduces

OP states that audio was slightly worse when using easyeffects compared to using software designed (and possibly configured) by a major audio company, so it might be possible to get easyeffects configured to have good sound without too much CPU load

CPU load is always a limiting factor when using multiple DSP effects
Pro-audio tool master_me also has similar reports about excessive CPU load
very high cpu usage · Issue #66 · trummerschlunk/master_me · GitHub

2 Likes

Can you give the output of command amixer? Also please reformat properly post #12 by editing it, selecting all your terminal output text and clicking the </> button so it is readable. Do the same if you post the output of amixer in reply.

1 Like