Статический пульсирующий звук, издаваемый внутренними микрофонами

Любой звук, записанный или используемый с помощью встроенных микрофонов моего ноутбука, искажен. Мой голос еле слышен. Однако есть очень заметный статический пульсирующий звук. Форма звуковой волны записи с микрофона напоминает синусоидальную волну примерно с 2 или 3 волнами в секунду. Иногда микрофон просто перестает принимать какие-либо входные данные, но перезагрузка вернет его в состояние, в котором он записывает статический звук.

Я сам слышу это при записи с помощью Arecord или любого другого записывающего приложения, и мне сказали, что я ужасно искажаю звук в различных приложениях голосового чата, таких как Skype.

Решением, которое я предпринял, является регулировка ползунка громкости микрофона в настройках GNOME и изменение частоты дискретизации по умолчанию в pulseaudio в соответствии с аппаратным обеспечением портативного компьютера, как указано здесь .

Я испытал это в нескольких разных дистрибутивах Linux, но микрофоны отлично работают в Windows. Я попытался исправить эти исправления в самых последних выпусках Ubuntu и Fedora, но ни в том, ни в другом случае проблема не была решена.

Ноутбук - это Lenovo Yoga 920, а оборудование микрофона согласно arecord:

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

Мы будем благодарны за любые рекомендации по решению проблемы.

0
задан 13 April 2020 в 04:51

1 ответ

У меня возникла та же проблема на Kubuntu 18.04. Мое микрофонное устройство называется "alsa_input.pci-0000_00_1f.3.analog-stereo", как предполагается, выполняя: pacmd list-sources | grep 'имя:.*input'. Вы можете найти основную ссылку на решение проблемы здесь, несколько абзацев ниже того, на который вы ссылаетесь. Редактирование всех файлов /usr/share/pulseaudio/alsa-mixer/paths/analog-input*.conf устранило проблему в моем случае. Я могу поделиться с вами простым сценарием bash, который я использовал для автоматизации процесса:

grep -nP "(Element Capture)|(Element \w+ Mic)|(Element Mic)" /usr/share/pulseaudio/alsa-mixer/paths/analog-input*.conf | while IFS='' read -r LINE || [ -n "${LINE}" ]; do

    IFS=':' read -r -a array <<< "${LINE}"
    path="${array[0]}";
    num="${array[1]}";
    element="${array[2]}";


    for i in $(seq 5 $END); do

        param="$(sed -n "$((num + i))p" < "$path")"
        if [[ $param == "volume ="* ]]; then
            echo "processing line $path:$((num + i))";
            echo "replacing <$param> with <volume = zero>";
            sed -i "$((num + i))s/.*/volume = zero/" "$path";
        fi
    done

done

Перезапустите PulseAudio, чтобы применить изменения:

pulseaudio -k
pulseaudio --start

Наконец проверьте, записав свой голос и воспроизведя его:

arecord -f cd -d 10 test-mic.wav
aplay test-mic.wav
0
ответ дан 25 April 2020 в 12:25

Другие вопросы по тегам:

Похожие вопросы: