2022년 10월 14일 금요일

다시 리눅스에서 JACK audio connection kit를 만지작거리며...

약 2년이 넘도록 리눅스에서 음악 작업을 하기 위해 JACK을 공부해 보았으나 너무나 어렵게 느껴졌다. 그래서 JACK을 전혀 쓰지 않고 오로지 ALSA driver 수준에서 작동하는(PulseAudio가 몰래 개입하고 있겠지만) LMMS에 흥미를 느끼고 열심히 활용 연습을 해 왔다. 

최근 MIDI keyboard controller를 연결하여 레코딩을 하는 과정에서 LMMS가 일부 MIDI 신호(pitch wheel, sustain pedal 등)을 기록하지 못하는 것을 발견하였다. 피아노 음색의 실시간 연주 및 기록을 즐기는 나로서는 여간 불편한 것이 아니었다. Ardour도 마찬가지인 것 같았다.

내 기억으로 리눅스에서 이러한 MIDI 신호를 완벽하게 기록하는 DAW는 Rosegarden과 Tracktion Waveform(Free 버전) 정도가 있다. 그런데 두 프로그램은 모두 JACK이 있어야 한다. 아니면 Windows + ASIO4ALL에서 Cakewalk이나 Waveform를 써야 한다. 불행하게도 내 노트북 컴퓨터(ThinkPad E14 E3)은 USB MIDI keyboard controller를 직접 인식하지 못하는 관계로 USB MIDI interface를 중간에 경유해야 한다. 게다가 건반에는 별도의 전원을 연결해야 된다. 이것 또한 매우 성가시다.

그냥 리눅스를 쓰되 LMMS 말고 Waveform으로 전환해 볼까? JACK이라는 산을 넘어야 하는데, 이번에는 잘 될지 알 수가 없다.

QjackCtl을 이용하여 JACK 서버를 켠 뒤, Waveform을 작동하였다. 내장 악기인 4OSC으로 소리를 내 보았다. 사운드폰트는 어떻게 작동시키나? Windows에서는 Sforzando를 쓰면 된다. Fluidsynth(qsynth)로는 어떻게 안될까? Rosegarden처럼? 그것은 곤란하다고 한다. 왜냐하면 Fluidsynth는 plugin으로 작동하지 않기 때문이라고 한다.

JACK 설정은 여전히 어렵다. hw:CODEC은 USB audio interface(Behringer UCA 200)이다. hw:CODEC,0은 뭔가? 나도 모른다. '고급'탭을 클릭하면 '무엇을 하고 있는지 모르는 경우 이 설정을 만지지 마십시오'라는 경고문이 나온다.


리눅스에서 Waveform Free로 데모곡을 재생하는 모습. JACK을 사용하였다.

방법을 찾다보니 Carla라는 것이 있어서 이를 적용해 보았다. 오, 된다... 사운드폰트를 Waveform에서 로드할 수 있게 되었다.

Windows에서 Waveform Free의 기능을 조금 익혔던 기억을 더듬어서 녹음을 시도해 보았다. Track 1에는 마이크를 통한 음성 신호를 입력하였고, track 2에서는 MIDI 건반 입력 신호(사운드 폰트 파일을 로드한 Carla rack plugin)를 기록하였다. 아래의 화면 캡쳐 이미지는 track 3에서 track 2의 오디오 신호를 녹음하는 모습이

 

돌고 돌아서 다시 JACK이라니. 인생은 재발견의 연속이다. 돌고 돌아 제자리로 돌아왔다고는 하나, 처음 그 자리에 있었을 때보다는 분명히 무엇인가 달라진 상태일 것이다. 나는 그것을 발전이라고 부르겠다.

댓글 없음: