NSDLibDoc

N163使用楽曲作成

N163とは?

拡張音源の一つです。最大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とりあえずイジる為の虎の巻