改善Waschtlの答えあなたができるように、このスレッドのをBOTH耳を傾け、RECORDアプリの音を:
最初に、デフォルトの出力を探し、そのシンク名を$DEFAULT_OUTPUT
次の場所に配置します。
$ pacmd list-sinks | grep -A1 "* index"
* index: 1
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
$ DEFAULT_OUTPUT=$(pacmd list-sinks | grep -A1 "* index" | grep -oP "<\K[^ >]+")
$ echo $DEFAULT_OUTPUT
alsa_output.pci-0000_00_1b.0.analog-stereo
次に、スレーブが1つだけの結合されたシンクを作成します:$ DEFAULT_OUTPUT。アプリ(ソース)によって生成されたサウンドは、スレーブシンク(つまり、実際の出力)に転送され、また録音されます。ソースサウンドが転送されないヌルシンクとは異なります。
$ pactl load-module module-combine-sink \
sink_name=record-n-play slaves=$DEFAULT_OUTPUT \
sink_properties=device.description="Record-and-Play"
sink_properties
これはオプションであり、説明名にスペースを使用するとバグが発生する場合があります。
その後、我々は、使用できるpactl move-sink-input ...
のコマンドWaschtlの答えを(と記録アンドプレイの代わりに、蒸気)が、GUIは、pavucontrol
よりシンプル(およびトラブルシューティング/チェックするための偉大な)です。
$ sudo apt-get install pavucontrol
$ pavucontrol &
次に、録音するアプリでサウンドを再生します。ではpavucontrol
Playback:タブ、我々はアプリのドロップダウンリストで選択し「レコードアンドプレイ」。
最後に、録音と試聴を同時に行うのは良いことです!(ラメ mp3の例、フォアグラウンドで実行)
$ parec --format=s16le -d record-n-play.monitor | \
lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3"
または、バックグラウンドで記録し、いつでも停止できます。
$ parec --format=s16le -d record-n-play.monitor | \
lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3" \
> /dev/null &1>/dev/null
$ killall -q parec lame
注意:
- すべてを混乱させるか、手順を再試行するには:この回答を使用して、シンクを削除またはリセットします。
pulseaudio -k
すべてをセッションのデフォルトにリセットするのに最適です。
- システムサウンド設定でデフォルトの出力を変更すると、カスタムアプリの再生設定が上書きされるため、pavucontrolに戻って結合されたインターフェイスに戻す必要があります。
- いくつかの「実際の」インターフェース(ヘッドフォン、HDMI出力など)からサウンドを聞くことができるようにするには、記録と再生のスリンクスレーブとして、聞くために使用できるすべての「実際の」出力を含める必要があります。のように
pactl load-module module-combine-sink sink_name=record-n-play slaves=real-output-1,real-output-2
。
編集:Ubuntu 18(おそらく17)から、結合されたシンクは実際の出力デバイスではなくデフォルトのシステム出力デバイスになる傾向があることに注意してください。そのため、システムトレイのサウンドアイコンを使用して音量を変更すると、録音サウンドに影響します。回避策:結合されたシンクを作成した後、pavucontrol
[出力]タブで開きます。[表示:仮想出力デバイス]を選択し、結合されたシンクの音量を100%にリセットします。次に、「表示:ハードウェア出力デバイス」を選択し、実際の出力デバイスの緑色のアイコン「代替として定義」を押します。