Как записать стереозвук с Line-In в командной строке?

Вопрос или проблема

Я подключил свои наушники к заднему входному разъему Line-In на компьютере. Я хочу использовать его как стереомикрофон, я пробовал это на десктопе, и это сработало.

Теперь, как я могу записать звук с него с помощью командной строки?

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

ffmpeg -f alsa -i sysdefault:CARD=MID -t 30 out.wav

но записывается абсолютно тихий файл.

Экран Alsamixer выглядит следующим образом:

введите описание изображения здесь

Arecord показывает следующее:

$ arecord -L
default
    Воспроизведение/запись через звуковой сервер PulseAudio
null
    Отбрасывать все образцы (воспроизведение) или генерировать нулевые образцы (захват)
pulse
    Сервер звука PulseAudio
sysdefault:CARD=MID
    HDA Intel MID, VT1708S Аналоговый
    Устройство звука по умолчанию
front:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    Передние колонки
surround40:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    4.0 Об Surround вывод на Передние и Задние колонки
surround41:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    4.1 Об Surround вывод на Передние, Задние и Субвуферные колонки
surround50:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    5.0 Об Surround вывод на Передние, Центр и Задние колонки
surround51:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    5.1 Об Surround вывод на Передние, Центр, Задние и Субвуферные колонки
surround71:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    7.1 Об Surround вывод на Передние, Центр, Боковые, Задние и Вуферные колонки
dmix:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    Устройство прямого смешивания образцов
dsnoop:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    Устройство прямого прослушивания образцов
hw:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    Прямое аппаратное устройство без каких-либо преобразований
plughw:CARD=MID,DEV=0
    HDA Intel MID, VT1708S Аналоговый
    Аппаратное устройство со всеми программными преобразованиями

ОБНОВЛЕНИЕ

После того как я настроил вход в gnome-control-center, он начал работать.

введите описание изображения здесь

Но я не хочу использовать GUI инструменты, мне нужно решение только на командной строке.

Если вы хотите записать с Line in в ALSA, возможно, вы услышите звук, если выберете Line в качестве устройства захвата и увеличите уровень захвата с 0.

Вы могли бы использовать команду arecord для записи из ALSA.

arecord -f [формат] -D hw:card,device -d [длительность]

Когда вы находитесь в режиме захвата alsamixer, используйте стрелки влево/вправо, чтобы переместиться к “Line” и нажмите пробел, чтобы активировать его как устройство захвата. Это переместит красное сообщение “CAPTURE” на Line вместо Переднего микрофона. Убедитесь, что вы также отрегулировали уровень захвата.

Ответ или решение

Для записи стерео звука с входа "Line-In" через командную строку на Linux, вам необходимо использовать инструменты, такие как arecord и, при необходимости, alsamixer для настройки звуковых устройств. Рассмотрим шаги, которые помогут вам эффективно осуществить запись без графического интерфейса.

1. Настройка ввода звука с помощью alsamixer

Чтобы использовать Line-In как источник записи, выполните следующие действия:

  1. Откройте терминал и запустите alsamixer через команду:
    alsamixer
  2. В alsamixer используйте стрелки влево и вправо, чтобы перемещаться между доступными входами, пока не найдете "Line".
  3. Используйте стрелку вверх, чтобы повысить уровень захвата ("Capture"), и пробел для активации входа "Line". Убедитесь, что индикатор "CAPTURE" переключился на Line вместо Front Mic.
  4. Отрегулируйте уровень захвата с помощью стрелки вверх/вниз для достижения необходимого уровня громкости.

2. Проверка доступных звуковых устройств

Проверьте доступные устройства записи, используя команду:

arecord -L

Ищите строку, которая соответствует вашему устройству "Line-In". В случае вашей конфигурации, это может быть hw:CARD=MID,DEV=0.

3. Запись с использованием arecord

После настройки и проверки устройства вы можете начать запись. Используйте команду arecord для записи звука:

arecord -D hw:CARD=MID,DEV=0 -f cd -t wav -d 30 out.wav

Параметры команды:

  • -D hw:CARD=MID,DEV=0 — указывает устройство захвата.
  • -f cd — формат записи, в вашем случае лучше всего использовать формат CD (16 бит, 44100 Гц, стерео).
  • -t wav — тип файла, создаваемого после записи.
  • -d 30 — продолжительность записи в секундах. Вы можете установить любое значение или опустить этот параметр для записи до тех пор, пока вы не остановите процесс вручную.

4. Альтернативный метод записи с использованием ffmpeg

Если вы предпочитаете использовать ffmpeg, убедитесь, что он корректно настроен для работы с ALSA. Пример команды для записи:

ffmpeg -f alsa -i hw:CARD=MID,DEV=0 -t 30 out.wav

Как и прежде, вы можете изменить параметры записи по вашему усмотрению.

5. Проверка результата

После завершения записи проверьте полученный файл:

aplay out.wav

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

Заключение

Использование командной строки для записи звука с устройства "Line-In" может показаться сложным, но с правильной настройкой и использованием команд, таких как arecord, вы сможете легко создать требуемый аудиофайл. Убедитесь, что все уровни захвата настроены верно, и протестируйте функционал, прежде чем приступать к записывающим задачам.

Оцените материал
Добавить комментарий

Капча загружается...