ここからはSMML3の記述の仕方について説明していきます。
しかし、基本コマンドだけでMML譜を記述すると実際はとても大変な作業になってしまいます。例えば、「音量を70にしろ」という命令はコントロールチェンジ7を使って、 @7,70 となります。これだけならまだマシですが、「O4CからO5Cにピッチベンドをしろ」という命令は、 @100,0 @101,0 @6,12 @38,0 O4C !0:8191,0:100,3 !0 となります。意味不明ですね(笑)そこで入力を簡単にするためSMML3ではユーザコマンドというものを用意しています。先程の「音量を70にしろ」は V70 となり、ピッチベンドの方は Po4C,o5C,3 となり、かーなり短くなりました!このように記述したSMML文は着メロ作成時に基本コマンドの列に内部展開されます。内部展開の意味っていうかニュアンス、憶えてて下さいね!あとでいっぱい出てきます。
0[I41 O4CDEFGABO+C] という具合ですね。次にドラム音色(152〜212)を使った場合を紹介しましょう。スネアM(ID=166)で、「タンタタタン」と鳴らすには例えば、 0[I166 N4N8N8N4] という感じになります。Nの後の数字は音長を表します。では、Nコマンド使用の際、ノートナンバーはどこに指定されているのかというとユーザコマンドに$N(環境変数)というものがあります。この値がノートナンバーになります。I166を設定した際、$N=166-128=38が自動設定されています。もちろん任意でノートナンバーを指定する事も可能です。
例えば、コントロールチェンジ10はパンポット設定を意味します。指定チャネルのパンを右(127)に設定するには、 @10,127 とします。ちなみにパンポットもユーザコマンドがあります。この例では、 P127 と同じ意味です。コントロールチェンジは全部で128種類あるので全て書ききれませんが、基本的な項目だけ別マニュアルで説明します。 ![]() ![]()
!8191 F とすると、Fから2半音上の音、つまりGで発音されます。 !-8192 F ならば、2半音下の音、つまりD#で発音されます。ピッチベンドセンスの最大値は24で、上下2オクターブのベンドが可能です。ちなみにピッチベンドセンスの設定には、音源へのパラメタ設定=RPN(Registered Parameter Number)というものを使います。ピッチベンドセンスを12(1オクターブ)にする場合、 @100,0 とします。@100はRPN:MSB, @101はRPN:LSB, @6はRPN Data Entryといい、@100、@101で設定したいパラメタ項目を選択して、@6のデータエントリで実際に値を代入します。 |