定義 - マッピング
@wm
o4b "pcm1"
o4g 100,"pcm2"
o4e "pcm3",200]
PCMをマッピングします。PCMはq1、q2を割り当てられq2は省略可能です。
マッピングした音階から下の音階をPCMは発声します。一応2オクターブ下まで発声でき、それ以下だと再生音が壊れます。
マッピングしていない音階(例だとo4bより上の音階)を発声しようとするとマッピングエラーになります。
@adm
o4b o3b "adpcm1" o6b
o8b o7c "adpcm2" o7c]
ADPCMをマッピングします。@wmとは少し書式が違うので注意が必要です。
パラメータの意味は、
- オクターブ音階(範囲)…この音階以下にマッピングが適用される。
- オクターブ音階(割り当て)…ADPCMをこの音階に貼り付ける。
- オクターブ音階(サンプリング)…ADPCMはこの音階の周波数でサンプリングされているものとする。
となります。
例の場合、"adpcm1"はo4b以下に適用され、サンプリング周波数はo6b=12429Hz(音階表参照)。それが、o3bに割り当てられます。
MMLで演奏時、o3bでサンプリング周波数そのままの音で再生され、o4bではo7b=24858Hzで再生します。ハードウエアの機能ですので、難無くサンプリング周波数を上げて再生できます。
このオクターブ音階(サンプリング)がo8bだった場合、o4bではo9b相当となり、発音できる範囲から外れますので、音階の範囲外エラーとなります。また、マッピング未設定の音階を鳴らそうとした場合マッピングエラーとなります。
o5cを鳴らすと、"adpcm2"が適用され、サンプリング周波数o5c=3291.6Hzで再生されます。少し分かり難いですが、再生するサンプリング周波数がある程度自由になる為、このような形になりました。
@sm
o4b o5b @s"sin"
o4a o3d @se"ne1","ne2" @p"env1"
o4e o5e @se"ne3" @v"env1","env2"
o4c o7b @s"squ50" @p"env3","env4"]
SCCマッピングを定義します。オクターブ音階はマッピングする音階、発音オクターブ音階は実際に発音する音階、SCC音色指定は@sか@seのどちらかを指定できます。
ピッチエンベロープとボリュームエンベロープはどちらも省略可能です。ただし、順番を変えることはできません。
@sm"test"=[o4a o5a…]の定義では、MMLでo4aを記述するとo5aの発音をします。基本的な処理は@wmと同じです。
マッピングは音階に割り当てた音色とエンベロープのセットとなっています。エンベロープを指定しない場合、そのマッピングは”エンベロープオフ”となり、@voffや@poffを実行した状態となります。
@usとパラメータに入れることにより、エンベロープだけは指定もoffも行わない事が可能になります。@usの後は他のパラメータは記述できません。
例:
@sm"map"=[
o4c o4c @s"tes1" @us
o4d o4d @s"tes2" @us
o4e o4e @s"tes3" @us]
@fm
o4b o5b @f"@0"
o4a o3d @fe"ne1","ne2" @p"env1"
o4e o5e @fe"ne3" @v"env1","env2"
o4c o7b @f"@2" @fp"env3","env4"]
OPLLマッピングを定義します。基本的な部分は@smコマンドと同様です。
OPLL音色指定には@f、@feコマンドが使用でき、ピッチエンベロープには@pか@fpが、ボリュームエンベロープには@vか@fvが使用できます。
マッピングは音階に割り当てた音色とエンベロープのセットとなっています。エンベロープを指定しない場合、そのマッピングは”エンベロープオフ”となり、@voffや@poffを実行した状態となります。
@usとパラメータに入れることにより、エンベロープだけは指定もoffも行わない事が可能になります。@usの後は他のパラメータは記述できません。
例:
@fm"map"=[
o4c o4c @f"tes1" @us
o4d o4d @f"tes2" @us
o4e o4e @f"tes3" @us]
@ym
o4b o5b @y"@0"
o4a o3d @ye"ne1","ne2" @p"env1"
o4e o5e @ye"ne3" @vc"env1","env2"
o4c o7b @y"@2" @p"env3","env4" @vm"env1"]
Y8950マッピングを定義します。基本的な部分は@smコマンドと同様です。
Y8950音色指定には@y、@yeコマンドが使用でき、ピッチエンベロープには@pが、ボリュームエンベロープ1には@vcか@yvが使用可能で、ボリュームエンベロープ2には@vmが使用できます。
マッピングは音階に割り当てた音色とエンベロープのセットとなっています。エンベロープを指定しない場合、そのマッピングは”エンベロープオフ”となり、@vcoffや@poffを実行した状態となります。
@usとパラメータに入れることにより、エンベロープだけは指定もoffも行わない事が可能になります。@usの後は他のパラメータは記述できません。
例:
@ym"map"=[
o4c o4c @y"tes1"
@us
o4d o4d @y"tes2"
@us
o4e o4e @y"tes3" @us]
@zm
o4b 10
o4a 12
o4e 14
o4c 16]
デチューンマッピングを定義します。オクターブ音階はマッピングする音階、デチューン値はzコマンドと同様、-32768〜32767で、指定したオクターブ音階から低い音全体がそのデチューン値になります。
上記の例ではo1c〜o4cがz16、o4c+〜o4eがz14、o4f〜o4aがz12、o4a+〜o4bがz10となり、マッピングしていないo5cから上の音は鳴らそうとするとマッピングエラーとなり、コンパイルできません。
マッピング使用時に鳴る音階は、すべてマッピング定義している必要があります。