水曜日, 4月 05, 2006

ドリトルでMIDI

さて、「ドリトル」でひとしきりタートルグラフィックもしてみたし、なんとなくオブジェクト指向の書き方もわかってきた。ということで、次は「ドリトル」でMIDIを使った音楽の演奏に挑戦してみる。「ドリトル」ではMIDIだってオブジェクト指向だ。

「ドリトル」には、音楽関係のオブジェクトとして、メロディー楽器バンドといったオブジェクトがある。各オブジェクトのイメージとしてはこんな感じだ。

メロディ ・・・・ 楽譜
楽器 ・・・・ 楽譜を演奏する奏者
バンド ・・・・ 奏者が集まって合奏

今日はまず簡単な楽譜を書いて(作って)みる。

楽譜というのは、音程と長さを指定してある記号が演奏する順番に並べて書いてあるものを言う。楽譜には色んな形式がある。学校で習ったような五線譜もあるし、琴の楽譜や、尺八の楽譜もある。楽譜といっても世の中には色んな形態があるのだ。見慣れた五線譜なんて、こんなたくさんの形式の一つでしかないのだ。楽譜の本質は要は「音程と長さが指定されている記号が演奏する順番に並んでいる」ということなのだ。

「ドリトル」の楽譜はこんな感じで書く。

音程を表す文字列 ・・・・ ド, レ, ミ,ファ,ソ,ラ,シ(半音は#か♭を付ける、↑↓で1オクターブ上げ下げ)
長さ表す文字列 ・・・・ 1,2,4,8,&,・,~(n分音符、&は付点、・は休符、~は長音)

まず最初に楽譜(メロディ)のインスタンスを作る。わかりやすいように「作る」インスタンスに「さくら」という名前を付けてみる。

さくら=メロディ!作る。

次に、この楽譜のインスタンスに音符を書いていく要領で音を「追加」していく。

さくら!『ラ~ラ~シ~~~ラ~ラ~シ~~~ラ~シ~↑ド~↓シ~ラ~シラファ~~~』追加。
さくら!『ミ~ド~ミ~ファ~ミ~ミド↓シ~~~』追加。

これで「さくら」という名前の楽譜ができた。では音を出してみる。楽譜(メロディのインスタンス)に「演奏」してねっ、というメッセージ(命令)を送ると音が出るのだ。

さくら!演奏。

例により、下のプログラムを編集画面に貼り付けるか、自分で編集画面に入力する。

//--------- ここから ----------
さくら=メロディ!作る。

さくら!『ラ~ラ~シ~~~ラ~ラ~シ~~~ラ~シ~↑ド~↓シ~ラ~シラファ~~~』追加。
さくら!『ミ~ド~ミ~ファ~ミ~ミド↓シ~~~』追加。

さくら!演奏。
//--------- ここまで ----------



「ドリトル」では、//以降はコメントとして扱われる。だからプログラムには//の行はコピーしてもいいししなくてもOKだ。

そして実行!ボタンだ。

さくら~さくら~と音が出れば成功だ。