Linuxで再生されている音を録音する方法色々
Windowsはよく知りませんが、Linuxでは簡単に再生されている音を録音することができます。
方法1. parecコマンドを使う
$ parec > rec.raw
こんな感じでpavucontrolからどれを録音するか選択できます。
この例ではNull出力を使っています。
~/.config/pulse/default.pa
で以下のように指定すればNull出力が使えるようになります。
load-module module-null-sink
これならオーディオインターフェイスがなくてもいけますね。
あと、録音用のNull出力を別系統にしたい場合は以下のようにして名前を変えてやれば増やすことが可能です。
load-module module-null-sink sink_name=parec sink_properties="device.description=Null2"
動的にやるなら以下のコマンドで。
$ pactl load-module module-null-sink sink_name=parec sink_properties="device.description=Null2"
方法2. PulseAudio+ffmpegを使う
$ ffmpeg -f pulse -i default -y rec.flac
ffmpegなので好きな形式にエンコードすることができます。 PulseAudioありでビルドされている必要がありますが、Debianパッケージならありになっています。
方法3. JACK+timemachineを使う
JACKを開始後、timemachineを起動。
$ timemachine
PulseAudio JACK Sinkの出力をtimemachineに接続。 あとはボタンを押せばRAWで録音開始となります。 ファイル名は現在日時をベースとしたものになります。
これも録音用を別系統にしたければ別名のJACK Sinkを作成すればよいです。
$ pactl load-module module-jack-sink client_name=pulse2
方法4. JACK+ffmpegを使う
方法3とほぼ同じですが、timemachineではなくffmpegを使う方法。
$ ffmpeg -f jack -i ffmpeg -y `date +%Y%m%d_%H%M%S`.flac
ファイル名はなんでもいいですが、ここではdateコマンドで現在日時を使うようにしています。