이 스레드의 Waschtl 응답 을 개선 하여 앱 사운드를 듣고 녹음 할 수 있습니다 .
먼저 기본 출력을 찾아 싱크 이름을 $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
그런 다음 하나의 슬레이브 $ 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탭, 우리는 응용 프로그램 드롭 다운 목록에서 선택 : "기록 앤 플레이"를 .
마지막으로 동시에 녹음하고 듣는 것이 좋습니다! ( lame 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
NB :
- 모든 것을 제거하거나 절차를 다시 시도하려면 : 이 답변 을 사용하여 싱크를 삭제하거나 재설정하십시오 .
pulseaudio -k
모든 것을 세션의 기본값으로 재설정하는 데 효과적입니다.
- 시스템 사운드 설정에서 기본 출력을 변경하면 사용자 정의 앱 재생 설정을 덮어 쓰게되며이를 다시 pavucontrol로 돌아가 결합 된 인터페이스로 설정해야합니다.
- 여러 개의 "실제"인터페이스 (예 : 헤드폰, HDMI 출력 등)에서 소리를들을 수 있으려면 레코드 -n- 플레이 슬링 슬레이브 로들을 때 사용할 수있는 모든 "실제"출력을 포함해야합니다. 같은 :
pactl load-module module-combine-sink sink_name=record-n-play slaves=real-output-1,real-output-2
.
편집 : Ubuntu 18 (17도 가능)이므로 결합 된 싱크는 실제 출력 장치 대신 기본 시스템 출력 장치가되는 경향이 있습니다. 따라서 시스템 트레이의 사운드 아이콘을 사용하여 볼륨을 변경하면 레코드 사운드에 영향을줍니다. 해결 방법 : 결합 싱크를 생성 한 후 pavucontrol
출력 탭에서 엽니 다 . "보기 : 가상 출력 장치"를 선택하고 결합 된 싱크의 사운드 볼륨을 100 %로 재설정하십시오. 그런 다음 "보기 : 하드웨어 출력 장치"를 선택하고 실제 출력 장치에서 녹색 아이콘 "대안으로 정의"를 누르십시오.