2023년 8월 23일 수요일

[Tracktion Waveform] MIDI를 이용한 외장 음원의 프로그램 바꾸기 (1)

퇴근 후 거의 매일 컴퓨터에 건반을 연결하여 간단한 연주를 하거나 녹음 연습을 조금씩 해 본다. Tracktion Waveform의 유저 가이드를 수시로 펼쳐 놓고 새로운 기능을 찾아서 익히고는 있으나, 이 일에 투자하는 시간이 절대적으로 적어서 그런지 숙달되는 속도는 매우 더디게 느껴진다. 건반에 집착하고 있는 동안에는 기타(guitar)에 손이 가지 않는다. 취미생활의 병렬화가 그래서 참으로 어려운 것이다.

노트북 컴퓨터를 펼치고, 건반을 가져다 연결하고, 온갖 케이블을 연결하는 일도 보통 번거로운 것이 아니다. 임시로 생활하는 공간이라서 쓰지 않는 물건들은 평소에는 치워 두었다가 필요한 때에만 연결을 해야 하고, 노트북 컴퓨터의 모니터는 너무나 작다. DAW software가 화면에 표시해야 하는 정보가 얼마나 많은가? 파견 생활을 마치고 다시 집으로 돌아가게 되면 전용 작업 공간을 반드시 만들어야 될 것이다.

가상 악기와 외장형 음원 모듈을 각각 건반에 연결하여 실시간 연주를 해 보면 전자의 경우에 확실하게 레이턴시가 느껴진다. 내 컴퓨터(ThinkPad E14 G3)의 하드웨어 구성이 그렇게 열악하다고는 생각하지 않지만, 저가 오디오 인터페이스(Behringer UCA200)의 한계가 느껴지는 것 같다. 키보드 콘트롤러를 이용한 MIDI 신호 녹음에는 외장형 모듈(예: Alesis NanoPiano)을 연결하여 모니터링하고, 최종적으로 가상 악기 플러그인을 이용하여 렌더링하는 것이 나을 것이다. 실제 소리를 들어보면 NanoPiano보다 SampleTank Free의 피아노 소리가 더 낫다. NanoPiano가 갖고 있는 샘플 ROM의 총 용량은 8 MB에 지나지 않는다! 이는 Korg X2의 그것과 동일한 수준이다. Korg Triton Rack은 16 MB. 확장성이 없는 하드웨어 음원 모듈은 비록 음질 자체는 최선이 아니지만 조작의 편의성이라는 측면에서 그 나름대로의 의미가 있다.

Alesis NanoPian. 출처: 내 블로그(링크)

NanoPiano는 그 자체의 소리로 음악을 녹음하기에 손색이 없다. 그러나 단일 MIDI 채널의 신호만 수용하는 monotimbral synth이므로, DAW에서 제어하려면 MIDI를 통한 프로그램 변화 지령을 보내는 것이 바람직하다. 여기서 말하는 '프로그램'이란 음원이 내장한 악기 소리(음색)를 말한다. Program, patch, preset, instrument 등 다양한 용어로 불린다.

Tracktion Waveform에서는 MIDI clip을 트랙에 삽입한 뒤 이를 더블클릭하여 나타나는 에디터에서 bank select와 program change를 삽입하면 된다고 한다. 이에 대한 질문과 대답이 KVR 포럼('MIDI Bank Select')에 나온다. 그러나 값을 직접 입력하는 것이 아니라 편집창 안에서 수평선을 생성한 뒤 마우스로 끌어서 원하는 값으로 만들어야 한다. 실제로 해 보니 원하는 값이 되도록 드래그를 하는 것이 여간 어려운 일이 아니었다. 볼륨, 벨로시티, 팬포트 등 그 값을 대략적으로 맞추어도 되는 컨트롤러라면 별 문제가 아니겠으나, 뱅크나 프로그램 변경에서는 숫자 '1' 단위로 정확하게 설정을 해야 한다.

다른 방법은 없을까? 검색을 해 보니 VST 플러그인 형태로 작동할 수 있는 MIDI 컨트롤러가 있었다.

플러그인의 경우 특정 채널에 처음부터 적용되는 것으로 알고 있는데, 이를 중간에 삽입하여 프로그램을 변경하는 것이 과연 가능한지는 아직 알 수 없다.

플러그인은 왼쪽 분홍색 상자로 표시한 영역에 삽입하는 것이 정석이다. 초록색 별표 위치와 같이 주어진 트랙의 어느 시각 위치에서 MIDI 컨트롤러 값을 변경하는 플러그인을 삽입하는 것이 과연 가능할까? 지금까지의 결론은 불가능하다는 것이다.



만약 스프레드시트 형태로 MIDI 데이터를 생성하여 .mid 파일로 저장하는 유틸리티가 있다면, 거기에서 bank 및 program 변화 데이터를 기록하여 파일로 저장한 뒤, Waveform에서 특정 위치에 MIDI clip으로 삽입하면 되지 않을까? 예전에 약간 다루었던 SendMIDI에서는 MIDI 디바이스로 직접 메시지를 보낼 수는 있었다. 혹시 MIDI-SysEx-Text converter가 도움이 될지도 모른다. midcsv와 csvmid 프로그램도 살펴볼 필요가 있을 것이다.

이전에 작성한 글: [우분투의 사운드와 MIDI] sendmidi 명령어를 이용하여 SC-D70의 프로그램 변경

그러나 가능성은 MidiEditor에서 찾은 것 같다. 이걸 잘 활용하면 특정 채널의 음색을 바꾸는 .mid 파일을 만들 수 있을 것으로 여겨진다.


테스트 결과 MidiEditor 안에서 프로그램을 변경하는 것에는 문제가 없었다. 그러나 이를 .mid 파일로 저장한 뒤 Waveform에서 MIDI clip으로 트랙 내에 삽입을 해 보니 몇 가지 불편한 점이 발견되었다. 우선 외부의 .mid 파일을 끌어 왔더니 clip 자체가 너무 길어서 이를 줄여야 했다. 더 심각한 문제는 MidiEditor에서는 원하는 프로그램으로 바뀌는 것을 확인하였으나(bank 변경을 동반하여), Waveform에서는 엉뚱한 소리가 나는 것이었다. 이에 대해서는 좀 더 연구를 할 필요가 있다.

다음의 응용 사례는 내가 지금 공부하는 것과는 약간 차이가 있다. 그러나 Waveform에서 Rack의 개념을 이해하는데 중요한 것으로 생각되어 소개해 본다.

How to use 2 instruments on onr track in Tracktion Waveform




댓글 없음: