2020년 10월 20일 화요일

[우분투의 사운드와 MIDI] PulseAudio와 친해지기

 우분투가 설치된 노트북 컴퓨터에 두 개의 USB 오디오 장치(Behringer UCA200, Roland SC-D70)을 연결해 놓고 PulseAudion의 기능을 이해하기 위해 노력을 하고 있다. 내장 사운드 카드 하나만을 사용하는 일반적인 상황에서는 PulseAudio의 존재를 잊고 살아도 충분하다. 

PulseAudio의 설정 조절은 pavucontrol(PulseAudio Volumne Control)이라는 GUI tool이 담당한다. 어제 비로소 깨달은 중요한 원칙이 있다. 바로 PulseAudio는 응용 프로그램 수준에서 어떤 입출력 장치를 쓸 것인지를 조절할 수 있고, 바로 직전에 실행했던 구성을 기억하고 있다는 것이다. 이걸 이해한다면, HDMI 케이블로 TV를 연결하여 영화를 본 뒤[넷플릭스], 다시 컴퓨터를 켜고 유튜브를 실행했을 때 왜 여전히 소리가 HDMI 단자로 나가는지 의아하게 생각할 필요가 없다. 물론 HDMI 케이블을 연결했을 때에만 소리가 그쪽으로 나가게 하는 스크립트를 이용할 수도 있다. 

Default sound card를 설정하는 것이 의미가 있을까? 좀 더 정확하게는 입력과 출력을 구분해서 말이다. 수시로 USB 형태의 장비를 착탈하는 상황에서는 별 의미가 없다. 꼭 필요하다면, 'pactl list-source' 또는 'pactl list-sink' 명령에서 출력되는 카드의 이름을 /etc/pulse/default.pa 파일에 기록하면 된다. 편집이 필요한 행은 set-default-source(또는 sink)로 시작하는 줄이다.

Sink(output device)와 source(input device) 역시 PulseAudio에서 사용하는 대단히 중요한 개념이다. 반드시 물리적인 하드웨어와 대응하는 것은 아니다. 

특정 사운드 카드에 대한 구성 모음(configuration set)을 card profile이라 부른다. 이것 역시 중요하다. 

PulseAudio 관련 문서

PulseAudio under the hood 문서는 다분히 기술적인 내용을 많이 담고 있지만 개념을 잡는데 많은 도움을 준다. 이 글은 PulseAudio의 메인테이너인 Tanu Kaskinen의 감수를 받은 것이므로 신뢰할 만하다. 이것과 더불어 PulseAudio의 공식 문서와 Arch Wiki의 PulseAudio 문서라면 고급 사용법까지 익히는데 부족함이 없을 것이다.

댓글 없음: