레이블이 PulseAudio인 게시물을 표시합니다. 모든 게시물 표시
레이블이 PulseAudio인 게시물을 표시합니다. 모든 게시물 표시

2021년 2월 14일 일요일

2021년 음력설 연휴 작업 완료 - 6LQ8 SE 앰프와 펄스오디오, 그리고 GenoGlobe 테마곡

코로나19 여파로 가족 모임을 하지 않게 되면서 남는 시간을 보내고자 자잘한 작업 거리를 많이 들고 대전 집에 내려왔다.  게으름으로 늘어지지 않게 연휴를 보내면서 목표했던 작업은 전부 만족할 만한 수준으로 마무리를 하게 되었다.

1. 6LQ8 SE 앰프의 출력 트랜스 교체

알리익스프레스에서 구입한 3와트급 8K:8/4옴 초소형 OPT로 교체를 하고, 볼륨 포텐셔미터의 본체에 전선을 납땜하여 접지에 연결하는 것으로 작업을 마쳤다. 분리된 전원부를 새로운 케이스에 넣고 싶은 욕구를 언제 충족할지는 모르겠다.

2. 펄스오디오(PulseAudio) 이해하기

취미 수준의 음악 작업을 하기 위한 장비로서 리눅스(우분투 스튜디오)를 택한 것이 고난의 시작이었다. 모든 것은 작년 여름 무렵 우연히 롤랜드 사운드캔버스 SC-D70을 갖게 되면서 시작되었다. 이어서 휴대가 간편한 키보드 콘트롤러와 USB 마이크/웹캠을 구입하게 되었다. 딱히 유튜버 노릇을 하겠다고 작정을 한 것은 아니다. 

음악을 만들고 연주하는 일에 정성을 쏟아야 하는데, 컴퓨터를 이용하여 녹음하는 기법을 익히고 이해하는 것에 재미를 느끼게 되었다. 아직도 갈 길은 멀다. 오디오 또는 멀티미디어를 기록하는 다양한 파일 포맷과 이것과 관련된 용어를 이해하는 일, 즉 샘플링 레이트나 비트 레이트 등의 의미를 알아야 한다. 내가 추구하는 것은 아티스트인가 혹은 사운드 엔지니어인가? 전부 다이다.

리눅스에서 녹음을 하는 방법을 다음의 두 위키 문서로 기록해 놓았다. 첫 번째의 글은 나중에 쓰기 시작했지만 더욱 중요하다. 이 두 개의 글은 서로 완벽히 구분되지는 않고 다소 뒤섞인 상태이다. 뿐만 아니라 이 블로그 내에도 적지 않은 글이 체계를 갖추지 못한 상태로 존재한다.

펄스오디오의 설계 개념은 생각보다 매우 까다롭고 그다지 친절하지도 않다. 그러나 이번 연휴 동안 null sink의 개념을 어렵게 깨달으면서 갈피를 잡기 어려웠던 펄스오디오의 핵심 기능 하나를 이해하게 된 것 같다. Victor Gaydov의 방대한 글 'PulseAudio under the hood'에서 key abstractions 항목을 찬찬히 읽어볼 것을 권한다. 다음 그림은 몇 달 동안 펄스오디오와 씨름을 하면서 내가 만들어 낸 source-sink diagram이다.

정해영이 만든 펄스오디오(PulseAudio)의 소스-싱크 다이어그램(source-sink diagram)

다음의 mp3 파일은 오늘 실시간 연주하여 녹음한 것이다. 앞으로 유튜브에 동영상을 올리게 되면 도입 부분에 넣을 GenoGlobe 테마곡이라고나 할까?

하는 김에 여기까지 왔다. GenoGlobe 로고도 새로 만들고 녹음한 곡은 유튜브에 공개하였다.


 

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 문서라면 고급 사용법까지 익히는데 부족함이 없을 것이다.