Linux arecord: захват вывода звуковой карты, а не микрофонного входа

Я пытаюсь захватить выход звуковой карты и кодировать его в формате Vorbis ogg с помощью следующей команды:

arecord -f cd -t raw | oggenc - -r -o file.ogg

однако записывается микрофонный вход компьютера, а не выход звуковой карты.

вывод команды arecord -l is

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

вывод команды arecord -L содержится в запись pastebin.

на arecord man-страница показывает, что устройство ввода можно выбрать с помощью the -D flag, но не дает синтаксических примеров.

Я хотел бы знать, как изменить вход для arecord от микрофона к звуковой карте. Я не заинтересован в GUI альтернативы, такие как Audacity. Благодаря.

Edit: я использую Debian 7.0 (стабильный) с arecord версия 1.0.25, vorbis-tools версия 1.4.0 и версия 1.0.24 драйвера ALSA.

7
задан user001
20.03.2023 4:33 Количество просмотров материала 2416
Распечатать страницу

6 ответов

Я бы предложил использовать драйвер замыкания на себя ALSA. Чтобы загрузить его:

sudo modprobe snd-aloop

Это должно добавить новое устройство захвата к выходу из arecord -L.

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

pcm.!default {
    type hw
    card 1
    device 0
}

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

5
отвечен beveradb 2023-03-21 12:21

у меня была такая же проблема и я нашел другое решение здесь. Основная идея заключается в использовании pacat. Для меня это работает так:

1) найти монитор устройства:

$ pacmd list | grep "\.monitor"
name: <alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor>
name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
        alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor/#0: Monitor of HDA NVidia Digital Stereo (HDMI)
        alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#2: Monitor of Built-in Audio Analog Stereo

2) захват аудио в файл:

$ pacat --record -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor > dump.raw

3) преобразовать файл в wav:

sox -t raw -r 44100 -e signed-integer -L -b 16 -c 2 dump.raw output.wav

вот именно!

4
отвечен hochl 2023-03-21 14:38

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

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

Я бы предложил использовать PulseAudio; там вы можете просто выбрать один из его выходов в качестве источника захвата: pavucontrol output monitoring

3
отвечен CL. 2023-03-21 16:55

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

➜  ~ arecord -l                                                              
**** List of CAPTURE Hardware Devices ****                                   
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog]       
  Subdevices: 1/1                                                            
  Subdevice #0: subdevice #0                                                 
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]       
  Subdevices: 1/1                                                            
  Subdevice #0: subdevice #0     

➜  ~ arecord -f S16_LE -r 44100 --device="hw:1,0" plik.wav                   
Recording WAVE 'plik.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono 
^C
Aborted by signal Interrupt...  

таким образом, формат строки устройства hw:<card>,<device>

format of device id

2
отвечен Maciej Jankowski 2023-03-21 19:12
  1. перейти к PulseAudio регулятор громкости - > вкладка устройства ввода. Внизу выберите Показать "все устройства ввода". Проверьте, если "монитор внутреннего аудио аналогового стерео" не отключен, а громкость происходит вверх и вниз, как вы играете аудио!!

  2. использовать Аудио-Рекордер для записи источника звука = внутренний аналоговый аудио стерео (аудио вход). См. скриншот ниже.

enter image description here

1
отвечен Zid 2023-03-21 21:29

Я только что установил Audio-recorder:https://launchpad.net/audio-recorder который в своих вариантах показывает что вам нужно...

enter image description here

0
отвечен SergioAraujo 2023-03-21 23:46

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх