본문 바로가기

마비노기 작곡/심화

채널링 버그 - 왜 마비노기 합주할 때 악기 소리가 중간에 씹힐까?

우아앙 퀄리티 쩌는 악보를 연주하려고 갖고 왔는데 

중간중간 특정 악기 소리가 들렸다 안 들렸다 하시는 경우가 있죠?
오늘은 그 현상에 대해 파헤쳐 보겠습니다.

그거에 대해 이해하려면, '채널''동시발음', '릴리즈' 개념을 먼저 알고 있어야 합니다.
저도 전문인은 아니니까 최대한 단순하게 설명해볼게요. 

 


1. 채널 

미디는 16개의 채널에 악기를 넣어서 연주할 수 있고, 
각 악기마다 화음을 제한 없이 넣을 수 있습니다. 

마비노기는 15개의 채널(16개에서 드럼용 채널 1개를 사용하지 않습니다)을 연주할 수 있고,
각 채널 마다 화음은 넣을 수가 없습니다. 
이걸 거친 비유로 설명하자면 

 -------------------------------------------------
미디는 16개의 목도리를 늘어놓을 수 있고 
- 마비노기는 15개의 실만 겨우 늘어놓을 수 있다
--------------------------------------------------

이렇게 생각하시면 됩니다. 



2. 동시발음(Polyphonic)

동시발음은 어떠한 가상 악기가 동시에 낼 수 있는 소리의 갯수를 뜻합니다.
디지털 기반에서 움직이는 '가상 악기'다보니 생기는 수치이지요.
예전에 피처폰에서 이야기하던 64폴리 벨소리, 128폴리 벨소리 이런 단어 기억나시나요?
다른 게 아니고 그게 바로 동시발음의 갯수입니다.

실제로도 마비노기 MML 자체가 피처폰 벨소리를 만들 때 쓰는 시스템을 차용해 쓰고 있습니다.
마비노기 클라이언트도 하나의 거대한 가상악기인 셈입니다. 부가 기능이 많지만 말이지요.

실제 시퀀서에서 가상악기를 돌릴 때 해당 가상 악기의 동시 발음 수가 한계를 넘으면, 
연주를 정상적으로 해도 소리가 제대로 들리지 않거나 음이 씹히기 시작합니다. 
마비노기 역시 음을 한 순간에 많이 재생해야 되는 상황이 오면 그러한 현상이 일어납니다.
자세한 이야기는 아래에서 좀 더 설명드리겠습니다.



3. 릴리즈 

모든 악기 소리에는 릴리즈(여운)가 있습니다. 
특히 현악기에서 확실하게 들을 수 있습니다. 

피아노, 기타, 리라 등등... 기타의 현을 손으로 뜯었을 때 '띠잉~~~...' 하고 소리가 나죠? 
'띠' 부분이 소위 어택이라고 하는 부분이구요. 
'잉~~~...' 부분이 바로 릴리즈인 것입니다. 



4. 마비노기의 동시발음 

문제는 마비노기 클라이언트가 최근의 패치로 인해 8인 합주가 가능해졌지만
동시 발음 수는 그에 한참 모자란다는 것입니다. 
(정확한 수치는 잴 수 없습니다만, 15~32개로 추정됩니다) 

수십개의 음이 동시에 꽝! 칠 일이 있겠느냐고 하시겠지만 
모든 악기에는 앞서 말한 '릴리즈'가 있기 때문에 
동시발음은 우리가 생각하는 것보다 훨~씬 많이 필요합니다. 아래에 예시가 있습니다.




이 악보는 채널을 세 개만 사용됐지만, 동시발음은 6개가 쓰였습니다. 
예시만 봐도 벌써 필요한 동시발음이 두 배가 돼버렸네요 (...) 

특히 마비노기는 피아노, 리라, 전자기타, 실로폰 등이 굉장히 릴리즈가 깁니다. 
순정 파일을 쓴다면 근 40초(!)나 되는 관계로 
이 악기들로 아래와 같은 상황을 아주 쉽게 연출할 수 있습니다.



채널은 1개 썼는데 동시 발음은 5개까지 납니다. 공포스럽죠. 
한 채널에서 릴리즈와 음이 겹치는 부분은 
나중의 나온 소리로 덮어씌워지는 것이 일반적이므로
천만 다행으로(?) 위의 예시에서 동시발음이 6개까지 늘어나지는 않습니다.



5. 동시발음이 부족해서 일어나는 버그 

이러한 이유로... 
어느 정도 악기 소리가 빠르고 복잡해지면 동시 발음 갯수에 한계가 와서 
소리가 중간중간 씹히는 일이 발생할 수 있습니다. 
연주해야 될 소리가 너무 많아서 클라이언트가 버벅거리는 것이지요.

이것을 <채널링 버그>라고 부르구요. (누가 이름 지었는지는 잘 모릅니다)
피아노 등의 신규 악기들은 릴리즈가 미칠듯이 압도적으로 길기 때문에 
이런 악기를 많이 쓰면 이 씹힘 현상이 더 쉽게 나타날 수 있습니다. 
기존의 류트, 만돌린 등은 릴리즈가 0.1초 정도지만, 
신규 악기들은 음 하나하나의 릴리즈가 40초 이상 되기 때문이죠.

저 악기들의 릴리즈를 아주 없애버리면 해결되지 않겠느냐고 하시는 분도 계신데, 
해결은 할 수 있습니다. 근데 소리가 너무너무 밋밋해져 버립니다.
말라서 딱딱해진 바게트 빵을 씹는 기분이죠.

지금까지 이야기한 내용을 컴퓨터에 비교하자면 이렇습니다.

----------------------------------------------------------------------
- 멀티태스킹할 수 있는 갯수는 늘어났는데
- 메모리가 그대로라서 이것저것 프로그램을 켜면 컴터가 버벅거린다 
- 한술 더 떠서 새로 깐 프로그램들은 메모리도 많이 먹음 
----------------------------------------------------------------------  

 

 

 

6. 여담 


리세드리카 사운드팩에서도 이 채널링 버그를 어느 정도 해결하기 위해
비정상적으로 무지막지하게 길었던 신규 악기들의 릴리즈를 적당한 수준으로 줄여놓았습니다.

하지만 듣는 데에는 거의 변화가 없다고 보셔도 됩니다.


 

 

이상, 만돌린 서버 리세드리카였습니다.