По мотивам поднятой темы:
В alt8 не пишет с микрофона audacityЗвуковая карта и HDMI
Сделать звуковую карту, картой 0
Смена приоритета аудиокарт (переиндексация)
Признаки:
- отсутствие звука и микрофона в системе с alsa
- отсутствие микрофона в Audacity в системе с pulseaudio
Причина:
- При двух звуковых устройствах в системе, основная звуковая карта не является картой 0, т.е. картой по-умолчанию.
- В Audacity используется движок alsa или движок oss при наличии установленного пакета ossp с запущенным сервисом osspd. Но не движок pulse. И Audacity работает с картой по-умолчанию, с картой 0.
osspd и alsa-plugins-pulse неявно конфликтуют: при установленном пакете alsa-plugins-pulse, звук в приложениях, которые требуют /dev/dsp через osspd, исчезнет. Для восстановления работы osspd потребуется удаление пакета alsa-plugins-pulse и рестарт сервиса osspd.
Исходные данные, по-умолчанию неверная индексация звуковых карт$ cat /proc/asound/cards
0 [HDMI ]: HDA-Intel - HDA ATI HDMI
HDA ATI HDMI at 0xf0344000 irq 36
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf0340000 irq 16
$ cat /proc/asound/modules
0 snd_hda_intel
1 snd_hda_intel
$ grep . /proc/asound/card*/id
/proc/asound/card0/id:HDMI
/proc/asound/card1/id:Generic
Способ устранения:
Здесь звуковая карта с идентификатором Generic, это карта 1, а HDMI, это устройство по-умолчанию, - карта 0.
Их требуется поменять местами так, чтобы карта с идентификатором Generic стала картой 0, т.е. картой по-умолчанию.
Порядок действий:
Открываете терминал. Как правило в меню он называется Эмулятор терминала.
Получаете права root:
$ su --login root
Далее команды выполняются от пользователя root. О чём будет говорить символ # стоящий в начале каждой команды (использовать его в командах не нужно).
Вызываете на редактирование файл
# mcedit /etc/modprobe.d/alsa-modindex.conf
В файле
/etc/modprobe.d/alsa-modindex.conf
будет незакомментированная строка, - закомментируйте её, приведя к такому виду:
# options snd_pcsp index=10
Ниже в этом же файле введите две строки, - файл должен заканчиваться пустой строкой, это обязательно:
options snd_hda_intel id=Generic index=0
options snd_hda_intel id=HDMI index=2
Эти две строки меняют индексы карт:
Карта Generic станет картой 0
Карта HDMI станет картой 2
Сохраните и перегрузитесь.
После перезагрузки, звуковая карта Generic станет картой 0, а карта HDMI, - картой 2.
Это вы можете проверить командой
$ cat /proc/asound/cards
Вариант переиндексации звуковых карт для которых используется один и тот же ядерный модуль:
В файл
/etc/modprobe.d/alsa-modindex.conf
вписать единственную незакомментированную строку
options snd-hda-intel index=1,0
Далее то, что необходимо для настройки AudacityПроверьте командой в системе с pulseaudio
rpm -q alsa-plugins-pulse
Если пакет не установлен, установите его
# apt-get update
# apt-get install alsa-plugins-pulse
После установки этого пакета, в Audacity у вас появится устройство
pulse: Mic:0
Запустите микшер от пользователя из терминала командой pavucontrol.
Иногда в регуляторе звука pulseaudio он называется опцией Звуковой микшер.
На вкладке
Устройства ввода, кнопкой с динамиком, проверьте, чтобы захват звука был включен, а полоса (ниже)
Тишина-База-100% была не затенена и активна.
Запустите Audacity.
Нижняя панель - настройки слева направо:
Звуковой движок - ALSA
Recording device - pulse: Mic:0
Recording Channels - 1 (Mono) Recording Channel
Playback Device - pulse
Recording device указан как устройство pulse: Mic:0
Вы можете выбрать в нижней панели то устройство ввода, с которого идёт захват звука. Их может быть несколько. Поиграйтесь с выбором из их списка, для получения захвата звука.
После нажатия в Audacity на красную круглую кнопку Append Record, начнётся захват звука, но себя вы не услышите.
Если нужно слышать себя:
Запустите от пользователя в терминале команду
$ alsamixer -c 0 -V all
-c 0 -- карта 0, карта по-умолчанию
-V all -- показать все настройки, и Playback, и Capture
Курсорными клавишами Влево-Вправо, подведите курсор к регулятору Mic и клавишей m включите микрофон.
Курсорными клавишами Вверх-Вниз, регулируется уровень.
Для начала не поднимайте его очень высоко:
- Если пользуетесь спикерами ноутбука и микрофоном гарнитуры, может возникнуть обратная связь, - понизьте уровень микрофона.
Настройки Audacity, на скриншоте как готовый пример.
Маленький эпилог.
Зачем HDMI делать картой 2, а не 1?
Существует хак, который позволяет подключать usb-гарнитуру на горячую, делая эту гарнитуру, картой по-умолчанию. Если микрофон не нужен, то после подключения гарнитуры, никакие дополнительные действия не требуется. Это настоящий полный хотплаг. На этот случай мы и сделали свободным сокет 1.
Дополнительная информация:
Как сделать внешнюю usb-аудиокарту дефолтной в системе с alsa