ZaLinux.ru

Не работает микрофон в Linux (РЕШЕНО)

В этой заметке будут рассмотрены несколько причин, почему не работает микрофон в Linux. Имеются ввиду случаи, когда микрофон не работает сразу во всех приложениях, а не в каком-то определённом.

Как проверить микрофон в Linux

Чтобы проверить микрофон прямо в командной строке без программ с большим количеством опций, запустите команду:

arecord -f cd -d 10 test-mic.wav

Будет выполнена запись звука в течение 10 секунд. Чтобы воспроизвести полученный файл, выполните следующую команду:

aplay test-mic.wav

1. Установите pulseaudio

Начните с установки пакета pulseaudio.

PulseAudio — это звуковой сервер общего назначения, предназначенный для работы в качестве промежуточного программного обеспечения между вашими приложениями и аппаратными устройствами с использованием ALSA или OSS. Он также предлагает простую потоковую передачу по сети через локальные устройства, используя Avahi, если он включён. Хотя его основная цель — облегчить настройку звука, его модульная конструкция позволяет более опытным пользователям точно настраивать демон в соответствии с его потребностями.

В Debain, Linux Mint, Kali Linux, Ubuntu и их производных это делается так:

sudo apt install pulseaudio

В Arch Linux, BlackArch и их производных это делается следующим образом:

sudo pacman -S pulseaudio

2. Убедитесь, что громкость микрофона не на нуле

Зайдите в настройки звука, переключитесь во вкладку Input и проверьте настройки громкости.

Если там несколько устройств, то проверьте каждое из них.

Если вы не можете найти настройки громкости, запустите команду и перейдите во вкладку «Устройства Ввода»:

pavucontrol

Убедитесь, что звук не заглушён

3. Выбор правильного профиля для Встроенного аудио

Откройте регулятор громкости PulseAudio — в меню или командой:

pavucontrol

Перейдите во вкладку «Конфигурация» и в качестве «Профиля» выберите «Аналоговый стерео дуплекс»:

Даже если этот профиль уже выбран, попробуйте выбрать другой и вновь переключиться на «Аналоговый стерео дуплекс» - проверьте, решило ли это вашу проблему.

Кстати, если вы пытаетесь заставить работать не встроенный микрофон, а, например, источник звука HDMI, то здесь вы можете найти другие профили, которые переключат на нужный вам микрофон.

4. Конфликт встроенного микрофона и HDMI источника

На компьютере для ввода звука могут быть следующие источники:

  • встроенный в ноутбук микрофон
  • гарнитура, подключённая через audio jack
  • Bluetooth гарнитура
  • HDMI вход
  • микрофон видеокамеры
  • USB микрофон или гарнитура

Некоторые пользователи Linux сталкиваются с тем, что система по умолчанию пытается использовать HDMI источник звука, даже если соответствующий провод не подключён.

Откройте терминал (например, нажав Ctrl+Alt+t) и проверьте, какие у вас используются звуковые кодаки:

cat /proc/asound/card*/codec* | grep Codec

Пример вывода:

Codec: Realtek ALC295
Codec: Intel Kabylake HDMI

Если у вас более чем одна строка (как в выводе выше), то это может быть причиной проблемы, когда звук не записывается или записываются только статические помехи.

Подтвердить можно следующим образом:

  1. подключите гарнитуру к входу audio jack (например, возьмите наушники с микрофоном от телефона)
  2. сразу отключите гарнитуру от audio jack
  3. проверьте работоспособность микрофона — если раньше он не работал, а теперь стал записывать звук, значит данный раздел может решить вашу проблему.

Сделайте резервную копию файла, если он уже существует:

sudo cp /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf.bak

Для исправления достаточно добавить строку в файл /etc/modprobe.d/alsa-base.conf:

sudo gedit /etc/modprobe.d/alsa-base.conf

со следующим содержимым

options snd-hda-intel model=МОДЕЛЬ

Вместо слово МОДЕЛЬ нужно вписать значение, которое вы найдёте для модели вашего ноутбука на странице HD-Audio Codec-Specific Models.

Причём там не обязательно будет точное название модели — просто найдите то, что ближе всего к ней. Например, модель моего ноутбука ASUS GL703GE, самое похожее, что я смог найти, это «asus-g73jw», тогда строка, которую я добавил в файл /etc/modprobe.d/alsa-base.conf, следующая:

options snd-hda-intel model=asus-g73jw

Сохраните этот файл и перезагрузитесь — после этого проблема должна исчезнуть.

Смотрите также: Опции для драйвера snd-hda-intel

5. Микрофон гарнитуры показан как подключён, хотя это не так. Микрофон не работает, пока не подключена и не отключена гарнитура

Описание данной проблемы пользователями:

1.

Все работает нормально, за исключением странной проблемы с моим микрофоном, он работает, только если я загружаюсь с наушниками с уже подключённым микрофоном или если я подключаю их после загрузки. В противном случае всё, что я получаю при записи звука, это статичные помехи.

2.

Я никогда раньше не использовал свой внутренний микрофон, но в конце концов я использовал его некоторое время назад для видеоконференций. Микрофон начинает работать после того, как я просто подключаю 3,5-миллиметровую головную гарнитуру, которую я затем отключаю. Тогда я могу использовать свой внутренний микрофон, автоматическое отключение звука также работает, подключив и отключив гарнитуру. После перезагрузки микрофон вновь не работает (микрофон гарнитуры отмечен, как опять подключённый) и всё нужно делать заново.

Рассмотрим, как это можно исправить.

Установите продвинутые инструменты Alsa. В Debain, Linux Mint, Kali Linux, Ubuntu и их производных это делается так:

sudo apt install alsa-tools-gui

В Arch Linux, BlackArch и их производных это делается следующим образом:

sudo pacman -S alsa-tools

Для запуска выполните команду:

hdajackretask

В «Select a codec» выберите основное устройство для захвата звука, поставьте галочку «Show unconnect pins»:

Поставьте галочку для Pin ID 0x19 и выберите «not connected». Сохраните настройки и проверьте, всё ли работает как следует, убедитесь, что звук микрофона не заглушён в pavucontrol или настройках звука.

Если всё нормально, то нажмите кнопку «Install boot override» - установить переопределение при загрузке, чтобы изменения вступали в силу при включении компьютера.

Рекомендуемые статьи:

5 Комментарии

  1. Костя

    Добрый день! На ноутбуке Ubuntu. Есть проблема с микрофоном. Иногда подключал USB микрофон для программирования. Не проверял работает ли он, но было видно что шумы какие то есть, оказалось, что звуки с микрофона не фиксируются. Сейчас в списке устройств нет устройств ввода

  2. gilyriy54

    У меня все заработало,включая запись с микрофона,когда в настройках звука выставил:
        
        Источник: Встроенное аудио Аналоговое стерео.
        Сервер: Pulse Audio.
        кодек: vorbis ,  контейнер: MP4.
        И методом проб подобрал расстояние до микрофона (20-25 см),
        и в динамиках небольшой звук.(у меня выносные).
        Пробовал три программы:kazam,simple screen recordrer и vocoscreen.
        Выбрал последнюю.
     

  3. Костя

    Мне помогло другое:

    1) Подключил USB-микрофон;

    2) в терминал ввел команду: 

    pacmd load-module module-loopback latency_msec=5

    3) В терминале вводим команду:

    pavucontrol

    4) Ставим и убираем галочки как на рисунке. Что-то из этого мне помогло.

  4. lol

    По 4 методу не могу найти даже похужую модель своего ноутбука, Есть ли другие сайты? 

    1. Alexey (Автор записи)

      Если присмотреться, то в статье тоже выбрана совсем неблизкая модель: ASUS G73Jw — это модель из 2011 года, а ASUS GL703GE это модель 2018 года. Но каким-то немыслимым чудом мне помог именно этот способ.

      В первую очередь смотрите на название аудио кодека.

      К примеру, в моём случае:

      cat /proc/asound/card*/codec* | grep Codec
      Codec: Realtek ALC295
      Codec: Intel Kabylake HDMI

      То есть это ALC295. Тогда достаточно выбрать какую-нибудь модель из группы «ALC22x/23x/25x/269/27x/28x/29x (and vendor-specific ALC3xxx models)». В официальной документации по ядру Linux так и сказано — переберите несколько вариантов и, возможно, вам повезёт. Главное не модель, а установленный чип HD-audio (чип контроллера и чипы кодеков).

      Чтобы при каждой смене опции не перезагружать компьютер, удаляйте и запускайте модуль следующими командами:

      sudo modprobe -r snd-hda-intel
      sudo modprobe snd-hda-intel

      Что касается «другого сайта», то посмотрите на адрес сайта на который в статье дана ссылка — kernel.org — что-то полнее вы уже не найдёте.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *