Getting Professional-Grade Audio Working on Ubuntu 24.04
This setup was done on an HP EliteBook 840 with Intel Tiger Lake hardware, running Ubuntu 24.04 LTS.
Ubuntu 24.04 ships with PipeWire and WirePlumber by default, which is a solid foundation—but getting microphone, noise suppression, and sane device naming to work properly on this platform still requires some manual tuning.
This post documents the exact steps I use to achieve a reliable, high‑quality audio setup suitable for calls, recordings, and daily work.
TL;DR
- Hardware: HP EliteBook 840 (Intel Tiger Lake)
- OS: Ubuntu 24.04 LTS
- Switch the sound card to pro-audio mode
- Max out levels with
alsamixerand persist them - Use WirePlumber Lua rules to rename devices and disable unused ones
- Install PipeWire RNNoise for noise suppression
- Use Quick Settings Audio Panel for fast source/sink switching
Result: clean mic input, stable routing, and no cluttered device list.
Enable Pro Audio Mode
To properly use the microphone, the audio card must run in pro-audio profile.
pactl set-card-profile alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic pro-audio
pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-0
amixer -c 0 set Master 100%
pactl set-default-source rnnoise_source
After switching profiles:
- Open
alsamixerand set all relevant channels to 100% - Take the code above, put it in a script and run it on every reboot.
WirePlumber Configuration
WirePlumber allows fine-grained control over audio devices using Lua scripts.
Configuration files are placed in:
~/.config/wireplumber/main.lua.d/
Rename the Audio Device
Default ALSA device names are long and unreadable. This rule renames the main audio device to something human-friendly.
rule = {
matches = {
{
{ "device.name", "matches", "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" },
},
},
apply_properties = {
["device.description"] = "Laptop Audio"
},
}
table.insert(alsa_monitor.rules, rule)
Disable Unused Inputs and Outputs
Pro-audio mode exposes many unused nodes. Disabling them keeps the device list clean and avoids accidental routing.
rule = {
matches = {
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-3" } },
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-4" } },
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-5" } },
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-31" } },
{ { "node.name", "equals", "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-0" } },
{ { "node.name", "equals", "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-6" } },
},
apply_properties = {
["node.disabled"] = true,
},
}
table.insert(alsa_monitor.rules, rule)
Noise Suppression (PipeWire)
For calls and recordings, PipeWire-based noise suppression is essential.
Install RNNoise for PipeWire from here:
👉 https://github.com/werman/noise-suppression-for-voice
Once installed, set the RNNoise source as your default microphone.
Faster Audio Switching in GNOME
Install the GNOME extension:
Quick Settings Audio Panel
This makes switching audio sources and sinks fast and practical during daily work.
Final Result
On an HP EliteBook 840 (Intel Tiger Lake) with Ubuntu 24.04 LTS, this setup delivers:
- Clean and stable microphone input
- System-wide noise suppression
- Readable audio device names
- No unused or confusing audio nodes
With a bit of tuning, Ubuntu 24.04 becomes a serious, professional-grade audio platform on modern Intel laptops.
Have any thoughts or comments?