ループバックオーディオデバイスをセットアップできますか?


16

出力デバイスにオーディオを送信できる場合、同じオーディオをウェーブとして録音できます。ファイルシステムを使用すると、ループバックファイルシステムをセットアップし、デバイスではなくファイルにバイナリデータを書き込むことができます。

私の質問は、オーディオデバイスの代わりに(たとえば)WAVファイルにオーディオ信号を送信できますか?どうやって?


このビデオでは、4つのサウンドカードループバックモードが導入されました。youtu.be/pqV3P9zRyYc

回答:


11

はい。

実際には多くの方法があります。サウンドダミーサウンドカードデバイスをセットアップして、デバイスからデータをリッピングできます。ただし、これはあまり便利な形式ではありません。

より便利なのはarecord、alsa出力ストリームを盗聴し、いくつかの既知の形式で保存できるユーティリティのようなものです。基本的に、alsaサウンドシステムで再生できるものはすべて、標準形式のサウンドファイルにコピーできます。

同様のツールがパルスオーディオにも存在します


8

システム、または録音するアプリケーションだけが出力をサウンドサーバーに送信している場合は、そのサウンドサーバーの録音の可能性を調べてください。たとえば、Ubuntuの場合、公式のサウンドサーバーはPulseAudioで、parecコマンドに付属していpulseaudio-utilsますパッケージpulseinstall audioutils http://bit.ly/software-smallから)。出力parecSoXで使用可能なものに変換する必要がある場合があります(Ubuntu:Install sox http://bit.ly/software-small)。sox

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

それは私にはうまくいき
12:52に

4

されはずのAudacityに直接記録することが可能であることを、私は私のシステム(Ubuntuの10.10)上で動作するようにそれを得ることができませんでした。だから、指示に従って、ここでのAudacityのwikiから、私が使用し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 wikiからのリンクは無効です。
スザナ

0

ALSAツリーにはループバックドライバーaloop-kernel.cがありますこちらから)。あなたは自分自身を構築する必要があります(そしてaplay/のようなオーディオアプリケーションを介してデバイスとしての利用を把握するarecord)...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.