Reset internal mic

I’m running Manjaro KDE and I want to reset my microphone settings because It sounds grabage. I don’t know what to do make it sound nice. There’s a large hiss on the audio and my actual audio sounds so faint you can’t even hear it propperly. What should I do.

Edit:
If I run arecord --list devices this what I get

**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC295 Analog [ALC295 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #

please post response to

amixer --card=0

to show information about ALSA settings

and

pacmd dump | grep -v 'module|source'

to show information about PulseAudio Sinks (outputs)

1 Like

Here is the output for amixer --card=0

Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 66 [76%] [-15.75dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 0 [0%] [-65.25dB] [off]
  Front Right: Playback 0 [0%] [-65.25dB] [off]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 254 [100%] [-0.20dB]
  Front Right: Playback 254 [100%] [-0.20dB]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',4
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]

Here is the output for pacmd dump | grep -v 'module|source'

### Configuration dump generated at Tue Oct 20 15:07:32 2020

load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-switch-on-port-available
load-module module-udev-detect
load-module module-alsa-card device_id="0" name="pci-0000_00_1f.3" card_name="alsa_card.pci-0000_00_1f.3" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
load-module module-jackdbus-detect channels=2
load-module module-bluetooth-policy
load-module module-bluetooth-discover
load-module module-bluez5-discover
load-module module-dbus-protocol
load-module module-native-protocol-unix
load-module module-gsettings
load-module module-default-device-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-console-kit
load-module module-systemd-login
load-module module-position-event-sounds
load-module module-role-cork
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-echo-cancel source_name=noechosource sink_name=noechosink
load-module module-x11-publish display=:0
load-module module-x11-xsmp display=:0 session_manager=local/rodude123s-pavilion-x360:@/tmp/.ICE-unix/2379,unix/rodude123s-pavilion-x360:/tmp/.ICE-unix/2379
load-module module-cli-protocol-unix

set-sink-volume noechosink 0x8ace
set-sink-mute noechosink no
suspend-sink noechosink yes
set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo 0x8ace
set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo no
suspend-sink alsa_output.pci-0000_00_1f.3.analog-stereo no

set-source-volume alsa_input.pci-0000_00_1f.3.analog-stereo 0x5555
set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo no
suspend-source alsa_input.pci-0000_00_1f.3.analog-stereo yes
set-source-volume noechosource 0x5555
set-source-mute noechosource no
suspend-source noechosource yes
set-source-volume noechosink.monitor 0x10000
set-source-mute noechosink.monitor no
suspend-source noechosink.monitor yes
set-source-volume alsa_output.pci-0000_00_1f.3.analog-stereo.monitor 0xee10
set-source-mute alsa_output.pci-0000_00_1f.3.analog-stereo.monitor no
suspend-source alsa_output.pci-0000_00_1f.3.analog-stereo.monitor no

set-card-profile alsa_card.pci-0000_00_1f.3 output:analog-stereo+input:analog-stereo

set-default-sink noechosink
set-default-source noechosource

### EOF

You are using module-echo-cancel in PulseAudio with microphone source

Audio problems may be due to audio processing in certain applications conflicting with module-echo-cancel
PulseAudio/Troubleshooting - Disable audio post processing in certain applications | ArchWiki

The command to load module-echo-cancel does not include option aec_method to select the type of Automatic Echo Cancellation, so the default option speex will be used

you may want to try using webrtc instead of speex for AEC by adding aec_method=webrtc to load-module module-echo-cancel

and maybe also aec_args="analog_gain_control=0\ digital_gain_control=0" to turn off automatic gain control

1 Like

Ok, I see. I tried out a little script a while ago to make things work but they didn’t fix the problem. Your answer doens’t make sense to me sorry but I did use the link you provided.
Found this script but I don’t think it worked really

#!/bin/bash
aecArgs="$*"
# If no "aec_args" are passed on to the script, use this "aec_args" as default:
[ -z "$aecArgs" ] && aecArgs="analog_gain_control=0 digital_gain_control=1"
newSourceName="echoCancelSource"
newSinkName="echoCancelSink"

# "module-switch-on-connect" with "ignore_virtual=no" (needs PulseAudio 12 or higher) is needed to automatically move existing streams to a new (virtual) default source and sink.
if ! pactl list modules short | grep "module-switch-on-connect.*ignore_virtual=no" >/dev/null 2>&1; then
	echo Load module \"module-switch-on-connect\" with \"ignore_virtual=no\"
	pactl unload-module module-switch-on-connect 2>/dev/null
	pactl load-module module-switch-on-connect ignore_virtual=no
fi

# Reload "module-echo-cancel"
echo Reload \"module-echo-cancel\" with \"aec_args=$aecArgs\"
pactl unload-module module-echo-cancel 2>/dev/null
if pactl load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args=\"$aecArgs\" source_name=$newSourceName sink_name=$newSinkName; then
	# Set a new default source and sink, if module-echo-cancel has loaded successfully.
	pacmd set-default-source $newSourceName
	pacmd set-default-sink $newSinkName
fi

look really my mic has so much static like an old CRT TV that you cannot even hear me speak. I’m confused on how to fix this.

I assume if you did not understand my response that you also did not understand the script
option digital_gain_control=1 is to turn on automatic digital gain control
if it did work it would make it impossible for you to keep microphone gain set to the right level

I also assume you did not check out the additional PulseAudio module loaded in that script
The link I posted before for module-echo-cancel was to the wiki page for all PulseAudio modules

Pulseaudio - module-switch-on-connect | freedesktop.org
This module is not loaded by default, beacuse it’s a bit too aggressive. If the user sets the default sink or source manually, that choice gets forgotten when plugging in a new sound card, which can be undesirable. That said, some distributions alter the default configuration to include module-switch-on-connect.

for your use case, this module might forget your setting set-default-sink noechosink if headphones were plugged in
(but I do not know for sure because Manjaro does not usually use that module)

that might be due to microphone capture levels being too high in ALSA or Pulseaudio

I suggest you remove anything that may be loading module-echo-cancel and reboot system to clear anything loaded by scripts

with no echo cancellation present, check and adjust microphone settings in ALSA and Pulseaudio until audio from microphone is not distorted or crackling

If audio level for microphone does not stay at a fixed level in PulseAudio, you need to find and disable any audio processing options in applications using the microphone
(see link to Archwiki posted earlier)
If an application is processing audio and you also add module-echo-cancel to process audio there may be a conflict in audio processing harming audio quality

1 Like