PulseAudio noise cancellation

Problem: Microphone has excessive white noise

Attempted solutions:

  1. I opened PulseAudio Volume Control, clicked the "Input Devices" and slid the bar to around 15%. This significantly improved the signal/noise ratio, but the problem now is that I have to also increase the volume to high levels in order to hear the recording, because the recording is silent otherwise. I don't want to damage my ears by listening to a different audio after forgetting to reduce the volume, so I need a different solution to increasing signal/noise ratio - a solution that doesn't excessively reduce overall audio volume.
  2. So I decided to go to this webpage (PulseAudio - ArchWiki) and have a look at "Microphone echo/noise cancellation" section. It turns out that " <module-echo-cancel>" is missing in the list of modules (I checked by first writing pacmd in terminal, followed by list-modules ). According to this ArchWiki page, it means that I need to create this module by writing in the terminal:
    /etc/pulse/default.pa.d/noise-cancellation.pa
    Now I'm perfectly able to enter /etc/pulse/. But once I try to open default.pa or default.pa.d, I get this error message in the terminal: No such file or directory. This error is hindering me from creating the module I need to increase signal/noise ratio for my microphone. How do I get past this obstacle? Thanks!
inxi -Faz
System:
  Kernel: 5.10.88-2-lts x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
    root=UUID=8d05eb79-30ef-4c21-92f0-c8c7c8baee18 rw [email protected]
    quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    systemd.unified_cgroup_hierarchy=1 loglevel=3
  Desktop: Xfce 4.16.0 tk: Gtk 3.24.29 info: xfce4-panel wm: xfwm 4.16.1
    vt: 7 dm: LightDM 1.30.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: 41.5 Wh (100.0%) condition: 41.5/47.8 Wh (86.9%)
    volts: 11.9 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
    family: 6 model-id: 0x7E (126) stepping: 5 microcode: 0xA6
  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: 3302 high: 3404 min/max: 400/3400 scaling:
    driver: intel_pstate governor: performance cores: 1: 3288 2: 3117 3: 3404
    4: 3401 bogomips: 9523
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2
    mitigation: Enhanced IBRS, IBPB: conditional, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel Iris Plus Graphics G1 vendor: Acer Incorporated ALI
    driver: i915 v: kernel 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 1.21.1.2 compositor: xfwm4 v: 4.16.1 driver:
    loaded: intel unloaded: modesetting alternate: fbdev,vesa display-ID: :0.0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
    s-diag: 582mm (22.9")
  Monitor-1: eDP1 res: 1920x1080 hz: 60 dpi: 143
    size: 340x190mm (13.4x7.5") diag: 389mm (15.3")
  Message: Unable to show advanced 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 bus-ID: 00:1f.3
    chip-ID: 8086:34c8 class-ID: 0403
  Sound Server-1: ALSA v: k5.10.88-2-lts running: yes
  Sound Server-2: sndio v: N/A running: no
  Sound Server-3: JACK v: 1.9.19 running: no
  Sound Server-4: PulseAudio v: 15.0 running: yes
  Sound Server-5: PipeWire v: 0.3.42 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Acer Incorporated ALI driver: r8169 v: kernel 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 bus-ID: 02:00.0
    chip-ID: 168c:0042 class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IF-ID-1: anbox0 state: down mac: <filter>
  IF-ID-2: 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: down
    bt-service: enabled,running rfk-block: hardware: no software: yes
    address: <filter>
Drives:
  Local Storage: total: 238.47 GiB used: 152.04 GiB (63.8%)
  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: 48.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 152.04 GiB (63.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 562 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: 152.04 GiB (63.8%) 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: 152.04 GiB (63.8%) 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: 152.04 GiB (63.8%) 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.56 GiB used: 915.2 MiB (11.8%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 64.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 317 Uptime: 7d 7h 39m wakeups: 81 Memory: 7.56 GiB
  used: 3.76 GiB (49.8%) Init: systemd v: 249 tool: systemctl Compilers:
  gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 1873 lib: 441 Shell: Bash
  v: 5.1.12 running-in: xfce4-terminal inxi: 3.3.11




Before you open a new help request, read relevant sections of the Arch and Garuda wiki.
Thoroughly search your issue and any error messages in the forum and on the web.

Report everything you have already attempted to solve your problem.

I'm no audio expert at all, but I remember a few days ago I came accross a discussion leading to easyeffects (it is in the Arch repo). Maybe check if this could be useful:

2 Likes

I can also recommend JamesDSP. I find it a bit easier to work with than Easyeffects, however it is geared towards Pipewire rather than Pulseaudio.

You might find that Pipewire gives you better response at low latency, as well.

3 Likes

You need to create the file default.pa or directory default.pa.d .

Create the file or directory. :stuck_out_tongue_winking_eye:

the file already exists but it doesn't want to get opened for some reason. When I'm at /etc/pulse, and I write dir, I get this response:

client.conf daemon.conf default.pa system.pa

And then when I write cd default.pa, I get this message:

bash: cd: default.pa: Not a directory

And if I write default.pa, I get this message:

bash: default.pa: command not found

thanks, I will check it out when I have the opportunity

1 Like

thank you c00ter, I will check it out when I have the opportunity!

This shows that the file exists in /etc/pulse.
Better to use ls to show the contents of a directory. Dir is another alias, but clearly providing less info.
No need to cd, which is change directory (that's a file) or no need to simply enter the file name (as to execute a command).
To simply check the content you may
cat default.pa
or to modify the file
sudo micro default.pa

Now, reading back your initial post, I guess you should
sudo micro /etc/pulse/default.pa.d/noise-cancellation.pa
which will be blank initially, being a new file, enter there whatever is needed, exit with ctrl+q saving the changed file with y.

2 Likes

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