'{
Title=曲のタイトルを書いてね DataCreator=データ作成者を書いてね Composer=作曲者とか書いてね Comment=コメントを書いてね PartFM4=A0-A2 PartMixLevel=100 ClockCount=192 } 'A0 T124 'A0 v 80 o4l8 'A1 v 80 o2l8 'A2 v 80 o3l8 'A0 Q4 @4 c<<a>b<a>a16e16<a16>g16r16a16<a a>>c<b<a>a16e16<a16>>d16r16c16<<a>> 'A1 Q4 @4 a>rgrr.d16r16e16r ragrr.b16r16a16r< 'A2 Q8 @4 r1r4rc&c16<a16ega> ★クラビネット '@ F 4 '@ 28, 4, 3, 9, 1,35, 2, 1, 3 '@ 27, 8, 1, 9, 0,37, 3,15, 7 '@ 28, 3, 0, 8,15,27, 2, 1, 6 '@ 26, 9, 0,10,15, 0, 2,10, 0 '@ 2, 7 |
前回のソース「TEST.mwi」についての解説です。
まず、
'{ Title=曲のタイトルを書いてね DataCreator=データ作成者を書いてね Composer=作曲者とか書いてね Comment=コメントを書いてね PartFM4=A0-A2 PartMixLevel=100 ClockCount=192 } |
この部分はFMPデータを作成する上での「お約束」と思ってください。
ここで基本的な初期設定を行います。
まず、TitleやDaraCreator、ComposerやCommentはその名の通りです。
曲名やデータ作成者などを書いてください。
次に
PartFM4=A0-A2 |
これはFM音源パートを割り当てる部分です。この場合、A0チャンネル、A1チャンネル、A2チャンネルの3パート使用することができます。
PartMixLevel=100 ClockCount=192 |
上記2つは今は説明を割愛します。おまじない程度に思っていてください。
以降、いよいよ曲データの書き方です。
'A0 T124 |
'A0というのは、「A0チャンネル」に対して曲データ(MML)を指定しますよ。という意味です。
Tは、テンポ指定です。その後の数字が大きければテンポが早くなります。(テンポはどこか1チャンネルで指定すれば、全部のチャンネルに適用されます。)
'A0 v 80 o4l8 'A1 v 80 o2l8 'A2 v 80 o3l8 |
次に各チャンネルにv(ボリューム)、o(オクターブ)、l(デフォルト音長)を指定します。(l8と指定すると8分音符がデフォルト音長になります)
残りの行は各チャンネルに音階データを指定していきます。
'A0 Q4 @4 c<<a>b<a>a16e16<a16>g16r16a16<a a>>c<b<a>a16e16<a16>>d16r16c16<<a>> 'A1 Q4 @4 a>rgrr.d16r16e16r ragrr.b16r16a16r< 'A2 Q8 @4 r1r4rc&c16<a16ega> |
「Q」はゲートタイム指定。1~8の間で指定し、値が小さいと短く発音されます。(スタッカートのような効果を与えます)
「cdefgab」の文字はそれぞれ「ドレミファソラシ」に対応しています。
「c」と指定すると、デフォルト音長が8分音符なので、ドの音長が8分。「c16」と指定するとドの音長が16分となります。
「r」は休符です。「r.」と指定してあるのがありますが、これは「付点8分休符」を意味します。
「>」「<」はオクターブを上げたり、下げたりします。「cdefgab>c」で「ドレミファソラシ(1つオクターブを上げて)ド」となります。
「&」はタイです。前後の音を繋げます。
最後に
★クラビネット '@ F 4 '@ 28, 4, 3, 9, 1,35, 2, 1, 3 '@ 27, 8, 1, 9, 0,37, 3,15, 7 '@ 28, 3, 0, 8,15,27, 2, 1, 6 '@ 26, 9, 0,10,15, 0, 2,10, 0 '@ 2, 7 |
これでFM音源音色を作り出しています。「'@ F 4」と指定してあるので、各チャンネルで「@4」と指定して上げれば、その音色が発音されます。
本日はここまでです。次回は、これにベースやブラスを追加したいと思います。
※この記事を読んで、もしMMLの基本的なことが分からない方がいましたら「補足編」
※コメント投稿者のブログIDはブログ作成者のみに通知されます