백괴대학:본관/SMW 게임메이킹 강의/MML 문법 2
백괴사전, 내용 없는 백과사전
< 백괴대학:본관 | SMW 게임메이킹 강의
[편집] 3. MML 문법 배우기
이제 MML의 모든 문법(기호)에 대해 자세하게 알아보도록 합시다.
이 문법만 제대로 알아두면 일단 txt파일에 있는 음악을 해석할 수는 있게 됩니다.
- Tip : mml은 띄어쓰기와 줄바꿈을 무시합니다. 즉 읽기 좋게 띄어쓰기와 줄바꿈을 해 줄 수 있습니다.
- c d e f g a b
- 음입니다.
- 도 레 미 파 솔 라 시
- +
- 샵 입니다.
- 음 뒤에 붙이면 그 음을 반음 올립니다.
- (d+4 은 4분음표의 레#)
- -
- 플랫입니다.
- 음 뒤에 붙이면 그 음을 반음 내립니다.
- (d-4 은 4분음표의 레♭)
- r
- 쉼표입니다.
- 1, 2, 4, 8, 16, 32, 64
- 음이나 쉼표 뒤에 붙어 길이를 표시합니다. (1 : 온음표, 2 : 2분음표, 4 : 4분음표 ...)
- ox
- 옥타브를 지정합니다.
- 옥타브는 1에서 6까지 가능합니다.
- 첫음이 나오기 전에 반드시 지정해야합니다.
- >.<
- > : 옥타브를 한 옥타브 올립니다.
- < : 옥타브를 한 옥타브 내립니다.
- 그러니까, 순서대로 올라가는 음계를 적자면 cdefgab>cdefgab>cdf... 가 되겠죠.
- 위에 나와있는 옥타브 영역 1~6를 초과하면 삽입이 아예 안되거나 음계가 정반대로 가는 현상이 생깁니다.
- ^
- 붙임줄입니다.
- d4^4^4 는 4분음표 레 3개를 연결한 것 입니다.
- &
- 이음줄입니다.
- d4&e4&f4 같은 방법으로 사용합니다.
- lx
- 음표나 쉼표 뒤에 숫자를 생략하였을 때, 해당 음표와 쉼표의 길이를 지정합니다.
- x에 생략할 음표와 쉼표의 길이를 지정하면 됩니다.
- 음악의 용량을 줄일 때 상당히 유용합니다.
- !
- 이 기호의 뒤의 모든 텍스트는 모조리 무시되게 됩니다.
- ;
- C언어를 배우신 분이라면 '//'를 연상하시면 됩니다.
- 이것은 주석(간단한 메모)을 달고자 할 때 사용하는 기호입니다.
- ; 기호에서부터 그 줄의 끝까지는 주석으로 처리되어 무시되게 됩니다.
- #x
- 채널 기호입니다.
- x에는 (채널번호 -1)를 넣으시면 됩니다.
- 물론 SMW에선 채널이 8개밖에 없으니까 0~7까지의 값만 넣을 수 있겠죠?
- wx
- 전체 불륨입니다. 전체 음악에 적용됩니다.
- x는 0에서 255의 값을 줄 수 있습니다.
- 주로 200에서 255 사이의 값이 사용됩니다.
- 설정하지 않으면 기본값이 255로 지정됩니다.
- vx
- 한 채널의 볼륨입니다.
- w와 마찬가지로 0에서 255의 값을 줄 수 있습니다.
- 하지만 w가 설정되면 v는 모조리 무시되니 참고하세요!
- tx
- 템포입니다. 전체 음악에 적용됩니다.
- x는 0에서 255의 값을 줄 수 있습니다.
- 주로 50이하의 숫자가 사용됩니다.
- 주의할 점은 악보의 ♩ = 90 이 t90이 아니라는 점 입니다.
- t값과 한 마디의 길이와의 관계는 '96000/템포값 = 한 마디의 길이(밀리초)'라고 합니다. (분석해주신 편안한집님께 감사드립니다.)
- 계산하기 귀찮으신 분은 그냥 청음으로 맞추시면 됩니다.
- @x
- 악기의 종류입니다.
- 채널마다 다르게 지정할 필요도 없고, 한 채널 안에서 악기를 계속 바꿀 수 있습니다.
- x는 악기 번호가 되는데, 악기의 종류는 다음과 같습니다.
| Instrument # | Instrument Type | Volume Level | Highest Note |
|---|---|---|---|
| 0 | Flute | Average | (o6)A |
| 1 | Light Strings | Average | A |
| 2 | Xylophone | Fairly Soft | B sharp |
| 3 | Marimba | Average | A |
| 4 | Strong Strings | Very Loud | A |
| 5 | Acoustic Guitar | Fairly Loud | A |
| 6 | Trumpet | Average | A |
| 7 | Steel Drum | Fairly Loud | A |
| 8 | Acoustic Bass Guitar | Very Soft | A |
| 9 | Piano | Fairly Loud | A |
| 10 | Drum(Snare) | Average | B sharp |
| 11 | Violin | Fairly Soft | A |
| 12 | Yoshi Drums (Bongos) | Average | A |
| 13 | Lead Bass | Soft | A |
| 14 | Harpsichord | Average | A |
| 15 | Orchestra Hit(Strong) | Loud | B sharp |
| 16 | Electric Guitar(Light) | Soft | A |
| 17 | Distortion Guitar(Strong) | Loud | A |
| 18 | Same as Instrument 1 | ||
| 21 | Bass Drum | Soft | A |
| 22 | Light Cymbal | Soft | A |
| 23 | Maraca(Close to Cymbal) | Soft | A |
| 24 | Wood Block | Average | A |
| 25 | Wood Block(Higher) | Average | A |
| 26 | Bass Drum(Rougher) | Soft | A |
| 27 | Trap Set | Average | A |
| 28 | Trap Set (Light) | Soft | A |
| 29 | Trap Set (Strong) | Fairly Loud | A |
(19번과 20번 악기는 없습니다.)
- 대략 종류를 나누자면 1~17번은 보통 악기, 19번부터는 타악기인데요.
- 타악기의 활용은 나중에 가르쳐드리죠.
- qxy
- 음량과 게이트타임을 설정하는 기호입니다.
- x는 게이트타임, y는 음량을 설정할 때 사용합니다. (16진수)
- 게이트타임이 무엇인지에 관해서는 언급을 피하겠습니다.
- 정 궁금하시면 게이트타임을 변화시켜서 직접 결과를 확인하시기 바랍니다.
- 각 채널의 첫 음이 나오기 전에 반드시 지정되어야 합니다. 관용적으로 q7f라고 씁니다.
- [□]x
- 루프를 설정하는 기호입니다.
- □안의 내용을 x번 반복합니다.
- 용량을 줄일 때 엄청나게 유용합니다!!!
- { ~ }
- 셋잇단음표입니다.
- 셋잇단음표로 사용할 음을 ~ 에 넣으면 됩니다.
- …근데 솔직히 이걸 사용할 날이 올지는….
- .
- ..
- 음표 바로 뒤에 붙여 음의 길이를 조금 늘립니다. 붙임줄 대용으로 사용할 수 있습니다.
- c+4. 는 c+4^8 과 같고
- c+4.. 은 c+4^8^16과 같습니다.
- 점음표처럼 사용할 수 있겠네요.
- 근데 가독성이 떨어지므로 웬만해선 사용하지 않습니다.
[편집] 효과를 내기 위한 문법 기호
| 이 문서는 공사 도중 방치되었습니다. 이 문서는 공사를 시작한지 1달이 넘었지만, 언제 공사가 끝날지 알수없는 방치된 문서입니다. 지나치게 오래 문서가 방치될 경우, 삭제될 수 있습니다. 이 문서는 2010년 12월 26일 오후 4시 50분 08초에 부작가에 의해 마지막으로 편집되었습니다.
|
- p
- $
위의 기호를 모두 외울 필요는 없습니다. 그냥 나중에 작업할 때 여기를 새창으로 띄우시고 참고하세요.
자, 그럼 복습으로 이 악보를 한번 나름대로 해석해보시기 바랍니다.
; 젓가락 행진곡 #0 w250 t50 #0 @9 q7f v250 y10 l8 #1 @9 q7f v250 y10 l8 #0 o4 ggggggeeeeeebbbbbb>cccc<ba ggggggeeeeeebbbbbb>c<ge>c<r4 #1 o4 ffffffeeeeeeddddddccccde ffffffeeeeeeddddddccccr4 ! 만든이 : 보노군