サンプル数、波形データ数、バッファ番号の関係
1つのサンプルの値は$0(0)~$F(15)で、波形データを登録するバッファは全チャンネル共通の全体で128サンプル分だけ有り、この中に収まる様に波形データを登録します。
1つの波形データのサンプル数は可変で、但し4の倍数個のサンプル数でなくてはなりません。
波形データ毎にサンプル数は変わっても構いません、その場合、バッファ番号の計算が複雑になります。
{の中、最初の数字がバッファ番号です、注目して下さい。
全部の波形データが同じサンプル数の場合
全部の波形データが同じサンプル数の場合、バッファ番号は先頭0からの連続した番号となる。
サンプル数32個の場合、波形データ数は最大4
@N00={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N01={ 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N02={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N03={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
サンプル数28個の場合、波形データ数は最大4
@N04={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N05={ 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N06={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N07={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} 余り…… 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
サンプル数24個の場合、波形データ数は最大5
@N08={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N09={ 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N10={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N11={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N12={ 4 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} 余り…… 0,0,0,0,0,0,0,0
サンプル数20個の場合、波形データ数は最大6
@N13={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N14={ 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N15={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N16={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N17={ 4 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N18={ 5 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} 余り…… 0,0,0,0,0,0,0,0
サンプル数16個の場合、波形データ数は最大8
@N19={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N20={ 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N21={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N22={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N23={ 4 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N24={ 5 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N25={ 6 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N26={ 7 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
サンプル数12個の場合、波形データ数は最大10
@N27={ 0 0,0,0,0,0,0,0,0,0,0,0,0} @N28={ 1 0,0,0,0,0,0,0,0,0,0,0,0} @N29={ 2 0,0,0,0,0,0,0,0,0,0,0,0} @N30={ 3 0,0,0,0,0,0,0,0,0,0,0,0} @N31={ 4 0,0,0,0,0,0,0,0,0,0,0,0} @N32={ 5 0,0,0,0,0,0,0,0,0,0,0,0} @N33={ 6 0,0,0,0,0,0,0,0,0,0,0,0} @N34={ 7 0,0,0,0,0,0,0,0,0,0,0,0} @N35={ 8 0,0,0,0,0,0,0,0,0,0,0,0} @N36={ 9 0,0,0,0,0,0,0,0,0,0,0,0} 余り…… 0,0,0,0,0,0,0,0
サンプル数8個の場合、波形データ数は最大16
@N37={ 0 0,0,0,0,0,0,0,0} @N38={ 1 0,0,0,0,0,0,0,0} @N39={ 2 0,0,0,0,0,0,0,0} @N40={ 3 0,0,0,0,0,0,0,0} @N41={ 4 0,0,0,0,0,0,0,0} @N42={ 5 0,0,0,0,0,0,0,0} @N43={ 6 0,0,0,0,0,0,0,0} @N44={ 7 0,0,0,0,0,0,0,0} @N45={ 8 0,0,0,0,0,0,0,0} @N46={ 9 0,0,0,0,0,0,0,0} @N47={10 0,0,0,0,0,0,0,0} @N48={11 0,0,0,0,0,0,0,0} @N49={12 0,0,0,0,0,0,0,0} @N50={13 0,0,0,0,0,0,0,0} @N51={14 0,0,0,0,0,0,0,0} @N52={15 0,0,0,0,0,0,0,0}
サンプル数4個の場合、波形データ数は最大32
@N53={ 0 0,0,0,0} @N54={ 1 0,0,0,0} @N55={ 2 0,0,0,0} @N56={ 3 0,0,0,0} @N57={ 4 0,0,0,0} @N58={ 5 0,0,0,0} @N59={ 6 0,0,0,0} @N60={ 7 0,0,0,0} @N61={ 8 0,0,0,0} @N62={ 9 0,0,0,0} @N63={10 0,0,0,0} @N64={11 0,0,0,0} @N65={12 0,0,0,0} @N66={13 0,0,0,0} @N67={14 0,0,0,0} @N68={15 0,0,0,0} @N69={16 0,0,0,0} @N70={17 0,0,0,0} @N71={18 0,0,0,0} @N72={19 0,0,0,0} @N73={20 0,0,0,0} @N74={21 0,0,0,0} @N75={22 0,0,0,0} @N76={23 0,0,0,0} @N77={24 0,0,0,0} @N78={25 0,0,0,0} @N79={26 0,0,0,0} @N80={27 0,0,0,0} @N81={28 0,0,0,0} @N82={29 0,0,0,0} @N83={30 0,0,0,0} @N84={31 0,0,0,0}
サンプル数の違う波形データが混在する場合
サンプル数の違う波形データが混在する場合は、波形データのサンプル数と位置によってバッファ番号は変わってくる。
バッファ番号 = バッファ先頭からのサンプル位置 ÷ この波形データのサンプル数
※バッファ番号を間違えると、他の波形データを上書きしてしまったりバッファオーバーし、正しい音色で鳴りません、注意して下さい。
サンプル数32個の波形データ1、16個の波形データ2、32個の波形データ1、16個の波形データ2
@N115={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N116={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N117={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N118={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N119={ 6 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N120={ 7 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
解説
- @N115の場合バッファ先頭からのサンプル位置が 0 この波形データのサンプル数 32 なので
バッファ番号は 0 / 32 = 0 となる。 - @N116の場合バッファ先頭からのサンプル位置が 32 この波形データのサンプル数 16 なので
バッファ番号は 32 / 16 = 2 となる。 - @N117の場合バッファ先頭からのサンプル位置が 48 この波形データのサンプル数 16 なので
バッファ番号は 48 / 16 = 3 となる。 - @N118の場合バッファ先頭からのサンプル位置が 64 この波形データのサンプル数 32 なので
バッファ番号は 64 / 32 = 2 となる。 - @N119の場合バッファ先頭からのサンプル位置が 96 この波形データのサンプル数 16 なので
バッファ番号は 96 / 16 = 6 となる。 - @N120の場合バッファ先頭からのサンプル位置が112 この波形データのサンプル数 16 なので
バッファ番号は112 / 16 = 7 となる。
サンプル数32個の波形データ1、16個の波形データ2、32個の波形データ1、16個の波形データ2
@N121={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N122={ 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N123={ 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N124={ 4 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N125={ 5 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N126={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
サンプル数32個の波形データ1、16個の波形データ2、8個の波形データ4、4個の波形データ8
@N85={ 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N86={ 2 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N87={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N88={ 8 0,0,0,0,0,0,0,0} @N89={ 9 0,0,0,0,0,0,0,0} @N90={10 0,0,0,0,0,0,0,0} @N91={11 0,0,0,0,0,0,0,0} @N92={24 0,0,0,0} @N93={25 0,0,0,0} @N94={26 0,0,0,0} @N95={27 0,0,0,0} @N96={28 0,0,0,0} @N97={29 0,0,0,0} @N98={30 0,0,0,0} @N99={31 0,0,0,0}
サンプル数4個の波形データ8、8個の波形データ4、16個の波形データ2、32個の波形データ1
@N100={ 0 0,0,0,0} @N101={ 1 0,0,0,0} @N102={ 2 0,0,0,0} @N103={ 3 0,0,0,0} @N104={ 4 0,0,0,0} @N105={ 5 0,0,0,0} @N106={ 6 0,0,0,0} @N107={ 7 0,0,0,0} @N108={ 4 0,0,0,0,0,0,0,0} @N109={ 5 0,0,0,0,0,0,0,0} @N110={ 6 0,0,0,0,0,0,0,0} @N111={ 7 0,0,0,0,0,0,0,0} @N112={ 4 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N113={ 5 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} @N114={ 3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
波形データ使用方法、及び注意
@N<Num>で定義した波形データは@@<Num>コマンドによりバッファに書き込まれ、発音時の音色となります。
そのため、波形データ定義にて、同じバッファ番号の波形データを複数定義し、曲の進行と共に@@<Num>コマンドで音色を切り替える事により、同じバッファ位置の波形データを上書きすることができます。
これによりバッファは全体で128サンプルですが、波形データ定義はバッファサイズに依存せず、たくさん登録できます。(@N0~127まで)
このとき注意しなければならないのは、複数のチャンネルで同じ波形データ(@@<Num>コマンド)を使用した場合、そのうちの1つのチャンネルが、波形データを上書きしてしまうと、他のチャンネルもその影響を受け、上書きした波形データの音色となってしまうのです。
この様に複数のチャンネルで共通のバッファを使用するN106では、同じ音色の波形データだからといって複数のチャンネルで共用すると、互いに干渉してしまう事に注意が必要です。
曲の途中で音色を切り替える曲では、同じ音色であっても、チャンネル毎にバッファ番号をずらした波形データを作成する方が無難です。
バッファ番号は計画的に!
周波数とレジスタの関係も読んでおいた方がいいかも知れません。