MML의 코드 다이어트에 관하여
마비노기/작곡 2023. 10. 5. 20:20 |
미디든 뭐든 작곡을 하다보면 어느 순간 코드의 길이가 지나치게 많아져 자브키엘이 들어가야할 정도까지 가는 경우가 일상다반사다.
이번 가이드엔 이렇게 과도하게 늘어난 코드 길이를 최적화해서 줄이거나, 분산하는 방법에 대해 설명할 것이다.
우선 코드가 대체 왜 저렇게나 늘어나는걸까? 그 원인부터 명확하게 알아야 한다.
대부분은
1. 트랙 하나에 과도하게 많은 음표를 집어넣음
2. 아주 짧은 음표를 과다하게 사용하거나, 음표의 길이가 모두 다 제각각임
3. MIDI나 악보에서 막 옮긴 초벌 MML
이 세 가지 범주를 벗어나지 않는다.
1번은 아주 간단한 해결책이 있다. 악기를 늘려서 부하를 분산하면 되는 것이다.
하지만 트랙이 부족해서 못 늘리는 경우거나, 2번부터는 음표를 하나하나 다 체크하며 직접 최적화를 하고 다이어트를 해야만 제대로 된 악보로 만들 수 있다.
대체 어떤 문제점이 왜 일어나고, 그에 대한 대안은 어떻게 되는지 하나씩 차근차근 알아보자.
1. 음표의 정규화
쉽게 말해서, 잘 사용되지 않는 길이의 음표나 잇단 음표를 줄이고 가장 짧은 길이로 표현 가능한 1~64분 음표로 전환하는 것을 의미한다.
극단적인 예시를 하나 들자면,
배경에 있는 음표는 원곡, 앞에 있는 음표는 갓 옮겨온 미디 혹은 악보라고 치자.
하나도 통일되지 않은 음표를 가진 파트와 원곡의 파트의 코드 길이는 얼마나 차이날까?
약 2.7배라는 어마어마한 차이를 보인다.
물론 실제 악보에선 정규화로 볼 수 있는 이득은 평균 전체 코드 길이의 약 10% 정도이므로 저 정도로 극단적이지는 않지만,
기본이 되는 음표로 통일만 해줘도 어마어마한 코드 길이를 절약할 수 있다.
만약 저기서 잇단 음표와 64분 음표가 사라지고 전부 32분 음표로 통일된다면 얼마나 줄어들까?
63자가 35자로 크게 줄었다.
이런 식으로 음이 비슷하다면 중간중간 엇나간 음표들의 길이를 정규화만 해줘도 크나큰 코드의 이득을 볼 수 있다.
방법은 간단하다.
확대해서 봤을때 저렇게 음표가 칸에 안 걸치고 중간에 위치한다면
32분 음표나 64분 음표 모드 (넘패드 6, 7) 을 선택한 상태에서 꼬리를 살짝 클릭해서 늘리든 줄이든 길이를 적당하게 맞춰주면 된다.
마비노기의 작곡 시스템 상에서 존재할 수 없는 길이나 위치의 음표는 어떤 길이의 음표를 선택하든 꼬리를 누르면 바로 저렇게 늘어나버린다.
저런 음표들이 어마어마한 코드를 낭비하므로 하나하나 코드를 다 뒤져가며 이러한 부분들을 정규화하는 것이 정말 중요하다.
2. 음표 길이의 표준화
1번과 이어지는 내용이다.
음표를 정규화해서 잘못되거나 과도하게 코드를 낭비하는 음표를 모두 제거했더라도 여전히 코드가 길다면 뭐가 문제일까?
마찬가지로 이러한 것들이 문제가 될 수 있다.
같은 음을 내지만 길이가 표준화되지 않는 상태로 과도하게 짧거나 긴 음표가 이리저리 섞여버리면 이렇게 된다.
음표 길이가 같다면
l16edcdeee8ddedgcl32cc
로 끝날 코드가
l64er21d21rcr21d32r32e16e21re9rd21rd16er21d21rc32r32gr21c21rcrc32
이렇게 엉망이 되어버리는 것이다.
피아노같은 ADSR 구성을 가진, 관악기와 일부 현악기를 제외한 대부분의 악기는 32분 음표보다 작은 음표가 아니라면 거의 음색이 비슷하다. 그러므로
위나 아래나 실제로 들리는 소리는 거의 일치한다.
그러므로 일부 악기를 제외한 대부분의 악기는 음표 사이의 빈칸을 최대한 효율적으로 없애거나 줄여서 코드 길이를 최적화하는 것이 좋다.
이 코드 최적화 유형은 3가지로 분류가 가능한데
64 ~ 32분 음표
16 ~ 4분 음표
2 ~ 온음표 * 2
각 유형에 들어가는 음표들끼리는 얼마나 늘리건 음이 비슷하다.
그러므로 각 유형 내에선 음 길이를 통일해도 무난하다.
즉슨 위 이미지의 악보는 구성이 8~16분 음표이니 위쪽 악보처럼 모든 음표를 8분 음표로 통일하여 코드 길이를 극단적으로 줄이는 것이 가능하다는 것.
이 방식으로 최적화가 불가능한 악기는
관악기 : 전부 다 불가능
현악기 : (튜닝) 바이올린, 첼로, 리라, 전자 기타
타악기 : 전부 다 가능 (드럼은 ADSR이 적용되지 않음)
정도?
3. 화음 줄이기
완성 후 MML을 보니 막 4화음 5화음 6화음, 심지어 7화음까지 가서 하나의 트랙을 위해 악기를 두세개 써야하는 경우가 있었을 것이다.
이번엔 이 화음들을 줄이는 방법을 알....아볼건데...
이 부분은 개개인의 청음 능력에 따라 갈리기때문에 큰 틀 하나만 잡아주고 넘어가려고 한다.
5화음까지 적용되는 직접 만든 공식인데
1. 가장 위, 중간, 가장 아래음 3개만 남기고 청음하면서 큰 차이가 있는지 확인해본다. 이상없으면 진행
2. 가장 위, 가장 아래음은 고정적으로 남기고, 위에서 2, 3번째 음을 지운 다음 확인해본다. 이상없으면 진행
3. 마지막으로 3, 4번째 음을 지운 다음 다시 청음해본다.
다만 이 방법의 단점은 음악의 스케일이 줄어든다는 점... 웅장함이 많이 죽기때문에 꼭 필요한 경우가 아니라면 이 최적화 방법은 권하지 않는다.
4. 옥타브 통일
주로 드럼에 해당되는, 좀 극단적인 예시긴한데 위 이미지를 보면 베이스 드럼을 밟고, 그 다음에 바로 윗 옥타브에 있는 림스틱을 치는걸 반복하고 있다.
이렇게 될 경우 노트 앞뒤에 계속 <>가 붙고, 이게 쌓이면 어마어마한 코드 낭비를 하게 된다.
제일 간단한 해결 방법은
그냥 멜로디와 화음마다 정해진 옥타브만 연주하게 분리시키는 것.
5. 볼륨 통일
코드 최적화에서 가장 중요한 부분이다.
만약 음악에 하이라이트를 주겠답시고 노트 하나하나에 죄다 볼륨 조절을 달아버리면 어떻게 될까?
물론 결과물이 아아아아아아아아주 끔찍해질 것이다.
저래봤자 인게임에선 티도 안 나고 코드는 3배나 낭비된다.
대부분의 경우는 ± 2까진 크게 차이 안 나므로, 왠만큼 하이라이트를 줘야하는 구간이 아니라면 볼륨을 통일하자
6. 템포 줄이기
극단적인 예시긴한데, 지금 작업 중인 곡의 템포 목록이다.
만약 저걸 실제로 다 집어넣는다면 어떻게 될까? 템포 변경으로만 모든 트랙이 100글자를 잡아먹을 것이다.
템포는 ±4까진 크게 티가 안 나고, 만약 템포가 극단적으로 차이가 나는 구간이 있다면 이 가이드를 참고하여 틱 변환 기능을 테스트해봐서 코드 길이가 줄어드는지 확인을 하며 코드를 최적화해보자.
'마비노기 > 작곡' 카테고리의 다른 글
조율음에 대해 알아봅시다 (2) | 2024.01.09 |
---|---|
MIDI를 이용한 마비노기 작곡 가이드 3/3 (1) | 2023.10.05 |
MIDI를 이용한 마비노기 작곡 가이드 2/3 (0) | 2023.10.04 |
MIDI를 이용한 마비노기 작곡 가이드 1/3 (1) | 2023.10.04 |
마비노기 튜닝 현악기(바이올린, 첼로) 작곡 팁 (0) | 2023.02.21 |