Я пытаюсь захватить вывод звуковой карты и закодировать его в формате Vorbis ogg, используя следующую команду:
arecord -f cd -t raw | oggenc - -r -o file.ogg
Однако записывается микрофонный вход компьютера, а не выход звуковой карты.
Вывод команды arecord -l
является
**** 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
содержится в этой записи пастбина .
Страница arecord
man указывает, что устройство ввода может быть выбрано с помощью -D
флага, но не дает синтаксических примеров.
Я хотел бы знать, как изменить вход arecord
с микрофона на звуковую карту. Меня не интересуют альтернативы на основе графического интерфейса, такие как Audacity. Благодарю.
Редактировать: я использую Debian 7.0 (стабильный) с arecord
версией 1.0.25, vorbis-tools
версией 1.4.0 и драйвером ALSA версии 1.0.24.
linux
audio
audio-recording
alsa
user001
источник
источник
alsamixer
. Если я выберу карту обратной связиalsamixer
(клавиша F6 для выбора звуковой карты), я получу сообщениеThis sound device does not have any controls
. Если я выйду из микшера и вернусь, я обнаружу, что звуковая карта восстанавливается из петли на карту по умолчанию. Попытка приостановить (ctrl-z
) и background (bg
)alsamixer
процесса после выбораloopback
не позволяет успешно записать звук с помощьюarecord
команды.alsamixer
не влияет на остальную часть системы; это только изменяет, какие элементы управления показаны. Каковы элементы управления выбором записи устройства Conexant?Master
) и один элемент управления захватом (Capture
)alsamixer
. Захват можно включать и выключать с помощью пробела внутри,alsamixer
и он включен по умолчанию. Пожалуйста, дайте мне знать, если это не то, что вы хотели. Благодарю.Ответы:
Я бы предложил использовать драйвер петли ALSA. Чтобы загрузить это:
Это должно добавить новое устройство захвата к выходу из
arecord -L
.Если у вас есть только одна физическая звуковая карта на вашем компьютере, вы можете сделать петлевую звуковую карту по умолчанию для всех приложений, создав файл
.asoundrc
в вашей домашней папке со следующим содержимым:Пока этот файл находится на месте, любой звук, выводимый из всех приложений, должен поступать на адаптер обратной петли, а не на ваши фактические динамики. Просто укажите правильное устройство в вашей команде arecord и, как только вы закончите, удалите
.asoundrc
файл, чтобы вернуться к нормальной жизни.источник
.asoundrc
в моем домашнем каталоге и перезапуск сеанса эмулятора терминала, звук все еще направляется на динамики. Командаarecord -f cd -t raw | oggenc - -r -o file.ogg
ничего не записывает. Issuingarecord -l
предоставляет тот же список, что и раньше, но с двумя дополнительными строками дляcard 1: Loopback
(devices 0, 1
), каждая из которых содержит 8 подустройств (#0-#7
). Кроме того,arecord -L
добавлены следующие три строки:sysdefault:CARD=Loopback [newline] Loopback, Loopback PCM [newline] Default Audio Device
. Продолжение в следующем комментарии из-за ограничения по количеству символов.arecord -f cd -t raw --device=sysdefault | oggenc - -r -o file.ogg
пустой аудиофайл на время выполнения команды (он не извлекает аудиоданные из микрофона, как раньше). К сожалению,sysdefault
вырожден, поскольку он определен какCARD=PCH
(первая строкаarecord -L
) иCARD=Loopback
(последняя строкаarecord -L
). Спасибо за любые последующие предложения, которые вы можете предоставить.Спустя годы борьба продолжается ... как указать записывающее устройство, о чудо
Таким образом, формат строки устройства
hw:<card>,<device>
источник
У меня была такая же проблема, и я нашел другое решение здесь . Основная идея заключается в использовании
pacat
. Для меня это работает так:1) найти монитор устройства:
2) Захват аудио в файл:
3) Конвертировать файл в
wav
:Это оно!
источник
parec
вместоpacat --record
. Вы также можете избежать использованияsox
и использованияparec -d <monitor> --file-format=wav output.wav
. Вы можете перечислить доступные форматы файлов сparec --list-file-formats
.Ваше оборудование не поддерживает захват его выходных данных; как только данные поступают в реальное устройство воспроизведения, они исчезают.
Вам необходимо использовать программное обеспечение, которое дублирует аудиоданные перед их записью на аппаратное обеспечение.
Я бы предложил использовать PulseAudio; там вы можете просто выбрать один из его выходов в качестве источника захвата:
источник
pavucontrol
и попытался записи с помощьюgnome-sound-recorder
. Когда я открываюgnome-sound-recorder
и начинаю recoding (Ctrl-R
), поток появляется в окне PulseAudio Volume Control. Однако в действительности поток не записывает никаких данных (конечная длина равна 0:00). Кроме того, вы знакомы с тем, как выполнять запись через командную строку вместо графического интерфейса? Благодарю .Перейдите в PulseAudio Регулятор громкости -> вкладка «Устройства ввода». Внизу выберите «ВСЕ устройства ввода». Проверьте, не отключен ли «Монитор внутреннего аналогового стереозвука» и не увеличивается ли громкость при воспроизведении звука !!
Используйте Audio Recorder для записи Audio Source = Internal Audio Analog Stereo (Аудио вход). Смотрите скриншот ниже.
источник
Я только что установил аудио-рекордер: https://launchpad.net/audio-recorder, который в своих настройках показывает, что вам нужно ...
источник