Posso configurare un dispositivo audio di loopback?


16

Se riesco a inviare l'audio ai dispositivi di output, posso registrare lo stesso audio di un'onda. Con i filesystem, puoi semplicemente impostare un filesystem di loopback e scrivere dati binari su un file anziché su un dispositivo.

La mia domanda è: posso inviare il segnale audio a un file (ad esempio) WAV anziché ai miei dispositivi audio? Come?


Il video ha introdotto quattro modalità di loopback della scheda audio. youtu.be/pqV3P9zRyYc

Risposte:


11

Sì.

In realtà ci sono molti modi. Puoi configurare un dispositivo audio con scheda audio fittizio che puoi semplicemente estrarre i dati dal dispositivo ... tuttavia questo non è un formato molto utile.

Più utile per te è qualcosa come l' arecordutilità che ti consente di ripercorrere il flusso di output di alsa e salvarlo in diversi formati noti. Fondamentalmente tutto ciò che è possibile riprodurre sul sistema audio alsa può essere copiato in un file audio di formato standard.

Strumenti simili esistono per l'audio a impulsi .


8

Se il tuo sistema, o solo l'applicazione che desideri registrare, sta indirizzando il suo output su un server audio , cerca le possibilità di registrazione per quel server audio. Ad esempio, su Ubuntu, il server audio ufficiale è PulseAudio , che viene fornito con il pareccomando (dal pulseaudio-utilspacchetto Installa pulseaudio-utils http://bit.ly/software-small ). Potrebbe essere necessario convertire l'output da parecin qualcosa utilizzabile con SoX (Ubuntu: installa sox http://bit.ly/software-small ).sox

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

che non ha funzionato per me, ma questa variazione sul tema ha fatto: askubuntu.com/questions/60837/…
ixtmixilix

4

Si suppone che sia possibile registrare direttamente in Audacity, ma non ho potuto ottenere che al lavoro sul mio sistema (Ubuntu 10.10). Quindi, seguendo le istruzioni qui dal wiki di Audacity, uso il ALSAdispositivo di riproduzione per deviare l'audio in un file.

Questo utilizza un .asoundrcfile (nella tua home directory):

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

Per la registrazione dal flash (su Firefox), io uso

FLASH_ALSA_DEVICE=teeraw firefox

Il file risultante /tmp/out.rawè in formato raw, quindi per la conversione è necessario sapere quali sono i parametri giusti. Stranamente, lamesembra in grado di risolverlo da solo, ma soxdeve conoscerlo esplicitamente. Quindi sembrano funzionare tutti i seguenti:

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

Il link dal wiki di Audacity è morto.
Suzana,

0

C'è un driver di loopback nell'albero ALSA, aloop-kernel.c (via qui ); che dovresti costruirti (e capire come utilizzarlo come dispositivo attraverso applicazioni audio come aplay/ arecord) ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.