どうも!LSSです!!
に続き、MMLプレイヤーを作っていました。
オクターブ変更・半音階対応・音長指定・3チャンネルまでの同時再生、に対応できました!!
…が、どうも最後の「同時再生」が微妙にズレるような…??
MMLプレイヤー
まずは「鳴らす」をクリック
まずは「鳴らす」ボタンを押してみてください。
音楽が演奏されます。
3つの入力欄がありますが、そこに入っている文字列を消して違う内容を入力すると、入力に応じた曲に変わります。
MML文法について
音階
cdefgab が「ドレミファソラシ」に対応しています。
例えば「cde」と入力すると、「ドレミ」と鳴ります^^
音の後に#をつけると、半音上がります。
音長
音の後に数値をつけると、音の長さが変わります。
デフォルトでは8分音符の長さですが、c4のように書く事で4分音符になります。
※「c4de」と書くと「ドーレミ」と鳴ります。
また「l8」(小文字のL)のように書くと、デフォルトの音長を変更する事になります。
例えば「l4cd8e8fg」のように書くと「ドーレミファーソー」と鳴ります。
更に、数値の後に「.」をつけると付点になります。
例えば「e4.」だと「付点4分音符(8分音符3つ分の長さ)」のミの音になります。
休符
r が休符です。
cdefgabの音と同様に長さを指定できます。
オクターブ
デフォルトのオクターブは「4」ですが、「o3」のように書く事で違うオクターブを指定できます。
また「<」で1オクターブ上がり、「>」で1オクターブ下がる、という指定もできます。
その他
スペースや改行など、上記以外の記述は無視されます。
読みやすいように適度にスペースを入れて区切りにするといいですね^^
(前述の音階と#の間や数値との間は不可)
同時再生については(仮)って事で^^;
うまくできたように思いましたが、どうも、複数の音を同時に演奏していると、微妙にズレが生じるような…^^;;;
そもそもの音長の指定に問題がある可能性もありますね^^;
原因不明ですが、いったんあげてしまいます!
色々入力して遊んでみてくださいね^^
ってなとこで、今回はこのへんで!
次回もまた、よろしくお願いします^^