回答:
はい。
実際には多くの方法があります。サウンドダミーサウンドカードデバイスをセットアップして、デバイスからデータをリッピングできます。ただし、これはあまり便利な形式ではありません。
より便利なのはarecord
、alsa出力ストリームを盗聴し、いくつかの既知の形式で保存できるユーティリティのようなものです。基本的に、alsaサウンドシステムで再生できるものはすべて、標準形式のサウンドファイルにコピーできます。
システム、または録音するアプリケーションだけが出力をサウンドサーバーに送信している場合は、そのサウンドサーバーの録音の可能性を調べてください。たとえば、Ubuntuの場合、公式のサウンドサーバーはPulseAudioで、parec
コマンドに付属していpulseaudio-utils
ます (パッケージpulseinstall audioutils http://bit.ly/software-smallから)。出力parec
をSoXで使用可能なものに変換する必要がある場合があります(Ubuntu:Install sox http://bit.ly/software-small)。sox
parec -r --rate=44100 | sox --type raw --rate 44100 - --type ogg recording.ogg
されはずの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
ALSAツリーにはループバックドライバーaloop-kernel.cがあります(こちらから)。あなたは自分自身を構築する必要があります(そしてaplay
/のようなオーディオアプリケーションを介してデバイスとしての利用を把握するarecord
)...