Запись звука с микрофона Linux
В наши дни все ноутбуки поставляются со встроенным микрофоном, а также внешние веб-камеры, которые можно подключить к компьютеру тоже содержат встроенный микрофон. Иногда нужно иметь возможность выполнить запись звука с микрофона Linux. Все можно сделать с помощью утилит, поставляемых по умолчанию вместе с пакетом alsa-utils.
В этой статье мы рассмотрим как выполняется запись звука linux с помощью утилиты arecord.
Запись звука с микрофона в Linux
1. Утилита arecord
Есть очень простой способ записи звука с подключенного к вашему компьютеру микрофона. Но перед записью необходимо отрегулировать уровень усиления для оптимального качества записи. При слишком низком усилении вы не сможете разобрать свой голос, а при высоком, в запись попадет слишком много фоновых шумов и опять же, будет сложно что-либо понять.
Если вы используете Ubuntu, уровень усиления микрофона можно регулировать открыв Настройки системы -> Звук -> Input. В других случаях, и в той же самой Ubuntu можно использовать стандартную утилиту alsamixer:
За чувствительность микрофона отвечает колонка Mic, для перемещения по колонкам используйте стрелки вправо/влево, а для регулировки громкости — вверх/вниз. Чтобы отключить режим Mute нажмите M. После выполнения всех настроек закройте утилиту с помощью Esc и можно выполнять запись звука linux.
Утилита arecord поставляется вместе с набором утилит alsa-utils, которые используются для управления звуковой подсистемой ALSA. Обычно она уже установлена в вашей системе, но если нет то вы можете ее очень просто установить. Для установки в Ubuntu/Debian выполните:
sudo apt install alsa-utils
Утилита arecord позволяет захватывать звук с микрофона в формате wav. Чтобы убедится что микрофон успешно распознается в системе наберите:
Как видите, у нас есть один микрофон, теперь можно выполнить запись звука arecord linux. Для этого выполните команду передав ей в параметрах только имя файла для сохранения:
Если другие параметры не заданы arecord будет записывать одноканальный звук с частотой 8000 Гц и глубиной 8 бит. Запись звука arecord будет продолжаться пока вы не остановите ее сочетанием клавиш Ctrl+C.
Параметры записи можно настроить с помощью дополнительных опций, например:
arecord -f cd output_stereo.wav
arecord -r 16000 -f S16_LE output2.wav
Чтобы воспроизвести записанный фрагмент можно воспользоваться утилитой из того же пакета — aplay linux:
2. Графическая утилита Audio Recorder
Управлять записью звука при помощи команд в терминале — не самое простое занятие. Куда удобнее делать это с помощью графической утилиты Audio Recorder, которая обеспечивает высочайшее качество записи, без лишних шумов и искажений. Работает она в операционных системах Ubuntu и Linux Mint.
Чтобы установить утилиту, выполните в эмуляторе терминала три команды. Первая добавит в систему репозиторий разработчика. Используйте её, если на компьютере установлена Ubuntu версии 15.x, 16.x, 17.x, 18.x, 19.x, 20.x или Linux Mint 18.x, 19.x, 20.x:
sudo add-apt-repository ppa:audio-recorder/ppa
Если же на компьютере установлены Ubuntu или Linux Mint более старых версий, чем те, что указаны выше, команда для добавления репозитория будет выглядеть иначе:
sudo add-apt-repository ppa:osmoma/audio-recorder
Вторая и третья команды одинаковые для всех версий ОС. Для обновления списка пакетов выполните:
Для установки Audio Recorder:
sudo apt-get install audio-recorder
Важный момент: если вы были пользователем Ubuntu версии 14.x и ниже либо Linux Mint версии 17.x и ниже, и устанавливали утилиту из репозитория osmoma/audio-recorder, а потом обновили операционную систему до новой версии с помощью Менеджера обновлений, вам следует удалить старый репозиторий:
sudo add-apt-repository —remove ppa:osmoma/audio-recorder
После удаления добавьте новый репозиторий:
sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get install —reinstall audio-recorder
Утилита полностью готова к работе сразу после загрузки. Если вы не измените настройки, звук будет снят с устройства для воспроизведения, установленного в системе по умолчанию, и записан в файл с расширением OGG.
Чтобы начать запись, нажмите одноимённую кнопку в левом верхнем углу окна. При необходимости вы можете прервать процесс, воспользовавшись кнопкой Остановить запись, а потом возобновить, снова нажав на Начать запись. Звук будет записываться в один и тот же файл. Если вы хотите, чтобы после возобновления записи звук был записан в другой файл, снимите галочку возле Добавить и нажмите Начать запись, после чего верните галочку на место.
Приятной особенностью Audio Recorder является наличие Таймера. Эта функция позволяет начинать и останавливать запись при выполнении заданных пользователем условий (например, в конкретное время или при появлении звукового сигнала определённой громкости). Подробная информация том, как указывать команды для Таймера, содержится в руководстве пользователя.
Все файлы по умолчанию сохраняются в папку с названием audio-recorder, созданную программой в Домашней папке.
Название каждого файла формируется автоматически и состоит из даты и времени начала записи. Переименовать файл можно только после завершения работы с ним, перейдя в папку, где он находится. Не пытайтесь отредактировать название файла в интерфейсе утилиты — несмотря на то, что разработчики оставили такую возможность, файл всё равно будет сохранён с названием, присвоенным ему автоматически.
При желании вы можете изменить основные настройки Audio Recorder. В частности, выбрать источник для захвата звукового сигнала, а также формат, качество и частоту звука. Вносите все необходимые изменения до начала записи — если сделать это в процессе, звук в текущем файле будет сохранён в соответствии со старыми настройками.
По умолчанию окно Audio Recorder закреплено поверх всех остальных окон. Чтобы отключить эту функцию, перейдите в Дополнительные настройки во вкладку Общие и переместите ползунок Поверх всех окон влево. Там же можно включить или отключить автозапуск утилиты при входе в систему.
В основном окне Audio Recorder среди предложенных источников звука вы наверняка заметили вариант Источник звука заданный пользователем. Чтобы указать, какое устройство (встроенный или внешний микрофон, динамик) будет задействовано при выборе этого варианта, перейдите в Дополнительные настройки, во вкладку Настройки устройства.
А во вкладке Команды записи можно сгенерировать команды для записи звука с помощью утилиты Audio Recorder напрямую из терминала или консоли.
Выводы
В этой небольшой статье мы рассмотрели как выполняется запись звука с микрофона linux с помощью утилиты arecord. Это самый простой вариант, но в то же время достаточно эффективный и быстрый, без поиска дополнительного программного обеспечения. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Подмешать аудио поток в сигнал микрофона. Как?
Ну например чтобы воспроизвести музыку собеседнику в скайп. Или тому подобное. Вобщем перенаправить вывод звука как-то.
— Сделать фиктивное устройство захвата, в которое пихать звук с микрофона и музыки (скорее всего плагин типа asym подойдет)
— заюзать jackd и alsa jack plugin
М. можно чуть более развернуто? Я понимаю что да — создать придется виртуальный микрофон и на него смешать обычный аудио выход и реальный микрофон. Но что тут для чего что-то не пойму.
у меня нет скайпа, но если он полностью работает через pulseaudio, то можно сделать несколько костылей.
1) Надо создать null выход,
pactl load-module module-null-sink
затем запустить pavucontrol, перейти на вкладку «устройство ввода», выбрать показывать «All input devices» и поставить микрофоном по умолчанию «Monitor of Пустой выход».
2) Направить звук из настоящего микрофона в null микрофон
pactl load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=null
но это у меня микрофон alsa_input.pci-0000_00_1b.0.analog-stereo, вам же надо искать свой в выводе команды
pactl list sources бла -бла Источник #1 Состояние: RUNNING Имя: alsa_input.pci-0000_00_1b.0.analog-stereo Описание: Встроенное аудио Аналоговое стерео бла-бла-бла
Как правило, он находится на том же по счёту месте, где он находится в pavucontrol и его имя не меняется, так что достаточно найти имя один раз
3) Если надо прослушивать на своих динамиках музыку, пускаемую туда, то надо создать виртуальную карту, объединяющую null и «железную» карту.
pactl load-module module-combine-sink slaves=alsa_output.pci-0000_00_1b.0.analog-surround-51,null
4) Запустить плеер и в pavucontrol выбрать ему или «пустой выход» или «simultaneous output to ,Пустой выход»
Системные звуки транслируются в микрофон
Проблема давняя и я совершенно не знаю как ее решить. Все системные звуки транслируются в микрофон, и это просто ужасно, потому что все собеседники слышат, что происходит в системе. Эта проблема присутствует с разными видами наушников и на разных ОС(на винде 10 пробовал еще). Переустановка драйверов так же не помогает.
Пробовал решить ее на шинде, ничего не получилось, подумал, может хотя бы на лине получится что-то сделать. Я подозреваю, что проблема с железом, потому что она с точностью повторяется на другой ОС.
Скину логи, какие нужны. Может ли покупка интегрированный звуковой карты решить проблему? Если да, то какой например. Какие еще есть варианты решения и в чем может быть трабл?
Сталкивался с обратной проблемой — по умолчанию в наушниках слышал всё что говорю.
В моём случае выяснилось, что одна из регулировок громкости названная Mic отвечала за «громокость с которой микрофон выводится в наушники». Убирание её в ноль решило проблему.
Для решения проблемы полезно увидеть список регулировок, который выдаёт alsamixer
- запустить alsamixer в терминале
- в менюшке по F6 выбрать устройство соответствующее материнке (по умолчанию там default — это не аппаратное устройство, а виртулаьное, относится к pulseaudio
- нажать F5 — получите все регулировки, которые есть у устройства
- Скриншот сюда
Среди всех этих регулировок можно попробовать поочерёдно убирать в ноль (стрелки) или мьютить (клавиша M) все регулировки там и смотреть будет ли эффект. Смотреть на наличие звука прочего всего включив проигрывание в одном приложении, запись в другом, не шуметь и смотреть в pavucontrol на динамику громокости.
Хардварный метод решения проблемы — рекомендую usb-аудиоустройства — в них меньше регулировок и меньше подобных проблем.
Это или web-камера в роли микрофона (не очень удобно ставить на стол как микрофон, но если уже есть — можно проверить решит ли проблему), или usb-гарнитура.