Могу ли я установить петлевое аудиоустройство?


16

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

У меня вопрос: могу ли я отправить аудиосигнал в (например) WAV-файл вместо моих аудиоустройств? Как?


В видео представлены четыре режима петлевой звуковой карты. youtu.be/pqV3P9zRyYc

Ответы:


11

Да.

На самом деле есть много способов. Вы можете настроить звуковую карту-заглушку, чтобы вы могли просто извлекать данные из устройства ... однако это не очень полезный формат.

Более полезной для вас является arecordутилита, которая позволяет перехватить поток вывода alsa и сохранить его в нескольких известных форматах. По сути, все, что вы можете воспроизвести через звуковую систему Alsa, можно скопировать в звуковой файл стандартного формата.

Подобные инструменты существуют для импульсного звука .


8

Если ваша система или просто приложение, которое вы хотите записать, направляет свой вывод на звуковой сервер , изучите возможности записи для этого звукового сервера. Например, в Ubuntu официальным звуковым сервером является PulseAudio , который поставляется с parecкомандой (из pulseaudio-utilsпакета Install pulseaudio-utils http://bit.ly/software-small ). Вам может потребоваться преобразовать вывод parecв нечто, пригодное для использования с SoX (Ubuntu: установите sox http://bit.ly/software-small ).sox

parec -r --rate=44100 | sox --type raw --rate 44100 - --type ogg recording.ogg

это не сработало для меня, но эта вариация на тему сработала
ixtmixilix

4

Она должна быть возможность записывать непосредственно в Audacity, но я не мог получить , что работать на моей системе (Ubuntu 10.10). Следуя приведенным здесь инструкциям из вики Audacity, я использую ALSAустройство воспроизведения, чтобы перевести звук в файл.

Это использует .asoundrcфайл (в вашем домашнем каталоге):

pcm.teeraw {
   type empty
   slave.pcm "tee:default,'/tmp/out.raw',raw"
   # 48000 S16_LE 2ch (aplay -t raw -f dat)
}

Для записи со вспышки (на firefox) я использую

FLASH_ALSA_DEVICE=teeraw firefox

Полученный файл /tmp/out.rawнаходится в необработанном формате, поэтому для его преобразования необходимо знать правильные параметры. Странно, lameкажется, может решить это для себя, но soxдолжен знать это явно. Таким образом, кажется, что следующие все работают:

aplay -t raw -f dat -r 44100 /tmp/out.raw # to play
sox -r 44100 -b 16 -e signed -c 2 /tmp/out.raw /tmp/out.wav # to convert to wav
lame /tmp/out.raw # to convert to mp3

Ссылка на вики Audacity не работает.
Suzana

0

В дереве ALSA есть драйвер обратной петли, aloop-kernel.c ( здесь ); который вы должны построить сами (и выяснить, как его использовать в качестве устройства с помощью аудио приложений, таких как aplay/ arecord) ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.