User Tools

Site Tools


music_on_linux:pulseaudio_설정_및_활용

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
music_on_linux:pulseaudio_설정_및_활용 [2021/03/24 13:28] – [parec을 이용한 간편한 녹음] hyjeongmusic_on_linux:pulseaudio_설정_및_활용 [2022/04/17 00:39] (current) – [parec 응용 스크립트로 애플리케이션 출력을 녹음하기] hyjeong
Line 10: Line 10:
  
 PulseAudio는 autospawn 기능에 의해 클라이언트 요청이 있으면 저절로 시작된다. 따라서 PulseAudio을 중단하려면 ~/.config/pulse/client.conf 또는 /etc/pulse/client.conf 파일에서 "autospawn = no"으로 설정을 한 뒤 다음을 실행한다. PulseAudio는 autospawn 기능에 의해 클라이언트 요청이 있으면 저절로 시작된다. 따라서 PulseAudio을 중단하려면 ~/.config/pulse/client.conf 또는 /etc/pulse/client.conf 파일에서 "autospawn = no"으로 설정을 한 뒤 다음을 실행한다.
-    $ pulseaudio --kill # 또는 다음과 같이 실행한다.+    $ pulseaudio --kill # 'pulseaudio -k' 또는 다음과 같이 실행한다.
     $ killall pulseaudio     $ killall pulseaudio
  
 PulseAudio는 start-pulseaudio-x11 명령을 통해 실행된다. 설정 파일은 /etc/xdg/autostart/pulseaudio.desktop이다. /etc/xdg/autostart는 graphical session manager가 사용자 로그인시 자동으로 실행하는 응용 프로그램의 정보를 수록한 디렉토리이다.  PulseAudio는 start-pulseaudio-x11 명령을 통해 실행된다. 설정 파일은 /etc/xdg/autostart/pulseaudio.desktop이다. /etc/xdg/autostart는 graphical session manager가 사용자 로그인시 자동으로 실행하는 응용 프로그램의 정보를 수록한 디렉토리이다. 
  
 +PulseAudio를 다시 시작하려면 설정 파일을 "autospawn = yes"로 되돌린 후 다음을 실행한다.
 +  $ pulseaudio --start
  
 ===== CLI 문법 ===== ===== CLI 문법 =====
Line 35: Line 37:
 ===== pacat 활용하기 ===== ===== pacat 활용하기 =====
 paplay, parec, parecord, pamon은 전부 **pacat**을 가리키는 심볼릭 링크이다. 다른 이름으로 불리고 있지만 실제로는 하나의 실행 파일이 녹음과 재생 등 다양한 역할을 수행하는 것이다. paplay, parec, parecord, pamon은 전부 **pacat**을 가리키는 심볼릭 링크이다. 다른 이름으로 불리고 있지만 실제로는 하나의 실행 파일이 녹음과 재생 등 다양한 역할을 수행하는 것이다.
 +  * pacat -r | %%--%%record = parec
 +  * pacat -p | %%--%%playback = paplay
 ==== parec 응용 스크립트로 애플리케이션 출력을 녹음하기 ==== ==== parec 응용 스크립트로 애플리케이션 출력을 녹음하기 ====
 **parec**은 PulseAudio 사운드 서버를 거치는 오디오 스트림(예: 애플리케이션의 출력)을 녹음하는 유틸리티이다. 이것을 그대로 사용하기에는 꽤 난해하니(바로 다음에 새로 추가한 섹션에 따르면 그렇지도 않음) 이를 응용하여 만든 스크립트인 [[https://gist.github.com/ramast/4be3314bc73f28f55e3604497188b007|pulse-recorder.bash]]를 사용하는 것이 편리하다.  **parec**은 PulseAudio 사운드 서버를 거치는 오디오 스트림(예: 애플리케이션의 출력)을 녹음하는 유틸리티이다. 이것을 그대로 사용하기에는 꽤 난해하니(바로 다음에 새로 추가한 섹션에 따르면 그렇지도 않음) 이를 응용하여 만든 스크립트인 [[https://gist.github.com/ramast/4be3314bc73f28f55e3604497188b007|pulse-recorder.bash]]를 사용하는 것이 편리하다. 
  
-pulse-recorder.bash를 이용하여 유튜브의 재생음을 녹음하는 방법은 다음과 같다. 오디오 스트림을 활성화해야 인덱스 번호를 구할 수 있다.+pulse-recorder.bash를 이용하여 유튜브의 재생음을 녹음하는 방법은 다음과 같다. 녹음하려는 애플리케이션이 재생 중인 상태여야 이것(sink-input)의 인덱스 번호를 구할 수 있다. 출력 파일에는 temp.ogg라는 이름이 자동으로 붙는다.
  
   $ pulse-recorder.bash    $ pulse-recorder.bash 
Line 98: Line 102:
   # parec 명령어는 파일 포맷을 지정하여 직접 오디오 파일로 기록할 수도 있다.   # parec 명령어는 파일 포맷을 지정하여 직접 오디오 파일로 기록할 수도 있다.
   $ parec -d ${DEVICE} --file-format=wav output.wav   $ parec -d ${DEVICE} --file-format=wav output.wav
 +  $ parec -d ${DEVICE} -v --file-format=wav output.wav
 +  샘플 사양 '녹음', 채널 맵 's16le 2ch 44100Hz'으로 front-left,front-right 스트림을 엽니다.
 +  연결되었습니다.
 +  스트림이 성공적으로 생성되었습니다.
 +  버퍼 지표: maxlength=4194304, fragsize=352800
 +  샘플 사양 's16le 2ch 44100Hz', 채널 맵 'front-left,front-right' 사용.
 +  장치 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor에 연결되었습니다(색인: 0, 정지됨: no).
 +  시간: 6.870 sec; 지연: -24419 usec.
 parec은 [[http://www.mega-nerd.com/libsndfile/|libsndfile]]이 지원하는 모든 파일 포맷을 인식한다. libsndfile 패키지에 포함된 프로그램들(sndfile-*)에는 쓸만 한 것들이 제법 있어 보인다. parec은 [[http://www.mega-nerd.com/libsndfile/|libsndfile]]이 지원하는 모든 파일 포맷을 인식한다. libsndfile 패키지에 포함된 프로그램들(sndfile-*)에는 쓸만 한 것들이 제법 있어 보인다.
 +
 +==== JACK 실행 중에도 parec으로 녹음을 할 수 있다 ====
 +JACK을 실행한 상태에서 'parec -d ' + tab을 눌러 보자.
 +  $ parec -d 
 +  alsa_input.pci-0000_00_1b.0.analog-stereo
 +  alsa_output.pci-0000_00_1b.0.analog-stereo
 +  alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
 +  jack_in
 +  jack_out
 +  jack_out.monitor
 +jack_out.monitor를 선택하여 애플리케이션 재생음을 녹음하면 된다.
 +  $ parec -d jack_out.monitor | twolame -r - out.mp3
 +JACK 실행 중에는 'parec -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor'로 녹음을 하여 MP3 파일을 만들었더니 재생이 안 되는 현상을 발견하였다. 이에 대해서는 좀 더 알아보도록 하자.
 +
 ==== pacat은 무엇에 쓸까? ==== ==== pacat은 무엇에 쓸까? ====
 WAV 파일은 'pacat file.wav' 명령을 이용하여 재생할 수 있다. MP3 파일이라면 디코더가 필요할 것이다. 그러나 mpg123이나 play(+libsox-fmt-mp3 or libsox-fmt-all)와 같은 훌륭한 MP3 재생기가 있으므로 디코더를 병용해야 하는 pacat을 써야 할 이유가 별로 없다. WAV 파일은 'pacat file.wav' 명령을 이용하여 재생할 수 있다. MP3 파일이라면 디코더가 필요할 것이다. 그러나 mpg123이나 play(+libsox-fmt-mp3 or libsox-fmt-all)와 같은 훌륭한 MP3 재생기가 있으므로 디코더를 병용해야 하는 pacat을 써야 할 이유가 별로 없다.
music_on_linux/pulseaudio_설정_및_활용.1616592507.txt.gz · Last modified: 2021/03/24 13:28 by hyjeong