拡張音源の一つです。最大8chで発音することができ、楽曲の多チャンネル化を行うことができます。
次のようなMMLファイルを作成しました。
#code "../../bin/nsd_n163.bin"
N163(0) { //Pipe Organ
8, 5, 4, 3, 8,11, 5, 8, 7, 8,11, 8, 8,12, 6,10,
4, 1, 0, 1, 4,10, 5, 7, 7, 9,14,11,10,15, 9,13
}
; 0 1 2 3 4 5 6
; c d e f g a b
Sub(0) { c8 r c8 r c8 r c8 r c r c r }
Sub(1) { d8 r d8 r d8 r d8 r d r d r }
Sub(2) { e8 r e8 r e8 r e8 r e r e r }
Sub(3) { f8 r f8 r f8 r f8 r f r f r }
Sub(4) { g8 r g8 r g8 r g8 r g r g r }
Sub(5) { a8 r a8 r a8 r a8 r a r a r }
Sub(6) { b8 r b8 r b8 r b8 r b r b r }
#OffsetPCM $C000
DPCM{
c1, "../dmc/bd.dmc", 14,0,64 //Bass Drum 2
d1,"../dmc/hhc.dmc", 15,0,64 //Hi-Hat Close
}
BGM(0) {
NC8 @NL64,0 t140
TR6 l16 o4 v10 @NS64,32
TR7 l16 o4 v10 @NS64,32
TR8 l16 o4 v10 @NS64,32
TR9 l16 o4 v10 @NS64,32
TR10 l16 o4 v10 @NS64,32
TR11 l16 o4 v10 @NS64,32
TR12 l16 o4 v10 @NS64,32
TR13 l16 o4 v10 @NS64,32
; ループとリピート開始
TR6 L [2
TR7 L [2
TR8 L [2
TR9 L [2
TR10 L [2
TR11 L [2
; C
TR6 o6 [4 S0
TR7 o6 [4 S2
TR8 o6 [4 S4
TR9 o5 [4 S2
TR10 o5 [4 S0
TR11 o4 [4 S2
; F
TR6 o7 S0
TR7 o6 S5
TR8 o6 S3
TR9 o5 S3
TR10 o5 S5
TR11 o4 S3
; Dm
TR6 o6 S5 :
TR7 o6 S3 :
TR8 o6 S1 :
TR9 o5 S1 :
TR10 o5 S3 :
TR11 o4 S1 :
; C
TR6 o6 S0 ]
TR7 o6 S2 ]
TR8 o6 S4 ]
TR9 o5 S4 ]
TR10 o5 S0 ]
TR11 o4 S0 ]
; リピート抜け
; C
TR6 o7 S0
TR7 o7 S2
TR8 o6 S4
TR9 o5 S4
TR10 o5 S0
TR11 o4 S0
; リピート終了
TR6 ]
TR7 ]
TR8 ]
TR9 ]
TR10 ]
TR11 ]
; パーカッション
TR5 L o1 v10 [2
TR5 [4 c4 c4 c4 c4 ]
TR5 ]
TR5
}
DPCMやN163の波形データはサンプルのものをそのまま利用しています。
BGM(0)のブロックのNC8から始まる最初の行は、トラック未指定のコマンドです。NSD.Libではいくつかのコマンドはこのような操作ができるようです。
記述 | 意味 |
---|---|
N163(0) | 波形データ定義ブロック |
#OffsetPCM | DPCMのアドレス指定 |
DPCM {} | DPCM定義ブロック |
@NL64,0 | N163 波形読み出しコマンド 参考 |
@NS64,32 | N163 波形長さコマンド |
L | 曲全体ループ開始 |
[2 | リピート開始(2回リピートの意味) |
: | リピート最後に抜け出すコマンド |
] | リピート終了 |
S0 | サブルーチン呼び出し |
音符などのフレーズをまとめて置くことができます。固まりをサブルーチンにすることで曲データのサイズ削減ができます。
ただし、サブルーチンからはサブルーチンの呼び出しはできません。(入れ子はできない)
ろぼかぶとさん作成
N163とりあえずイジる為の虎の巻