[SBasic] MMLによるMUSIC # Small Basic その3

2010年7月4日

 前回からのつづき。

 セッション中で私が質問した内容です。
 音は鳴らないんだろうな、と思ったら何が何が。QBasic互換のMMLが使えるとのこと。
 さっそく試してみました。

 コード

Sound.PlayMusic("O4 L8")
Sound.PlayMusic("CFA4 AAA4 GAGf2R")
Sound.PlayMusic("CFA4 FA>C4 <B-AG2R")
Sound.PlayMusic(">C<B-A4 AGF4 GA>C<B-2R")
Sound.PlayMusic("DC+C4 EFG4 AGF2R")

TextWindow.WriteLine("おわり")

 単音ですが確かにMMLで制御できます。ピアノのペダルを踏み込んだままの状態な感じなのが気になりますがともかく鳴ります。すげー。

 先のLOGO的なグラフィックといい、今回のMMLのような楽曲作成といい、近代プログラム言語だと結構敷居が高いんですが、これがあっさりできるというのは、回顧主義なのかもしれませんが、なにげに気持ちよい ^^;

 QBasic互換のMMLがどのようなものが使えるのかが不明ですが、とりあえず確認できた使えるコマンドは以下。

 R … 休符
 C,D,E,F,G,A,B … 音(音名)
 C+ … Cは音名。♯ (シャープ, 半音階上げる)
 C- … Cは音名。♭ (フラット, 半音階下げる)
 Cn … Cは音名。nは音の長さ。 例) 1:全音符 / 2:二分音符 / 4:四分音符 …
 Cn. … Cは音名。nは音の長さ。"."は付点。"C2."は付点二分音符で長さが二分音符+四分音符。
 Ln … デフォルトの音の長さ。L4とすると、音名の横に数字を書かない場合、Lnの長さになる。
 On … オクターブ。デフォルトは4。いわゆる 「ドレミファソラシド」 は 「O4 CDEFGAB O5 C」
 > … オクターブを一つ上げる。上記の 「O4 CDEFGAB O5 C」 は 「O4 CDEFGAB>C」 でも 同じ。
 < … オクターブを一つ下げる。

 逆に確認できていないのは以下。

 テンポ … Tn で指定できそうだが無視された。
 音色 … とりあえず音色ひとつだけ? @nは無視された。
 ペダルオフ? … ないのかなあ?
 和音 … 当面ないんだろうな。

 このあたり、もっと強化されるとよいな。

 # ってなことを勉強会懇親会中にネタつくってたんですが、タイムアウトで披露に失敗しました… _| ̄|○






カテゴリー: Program, Small Basic

Follow comments via the RSS Feed | Leave a comment | Trackback URL

6 Comments to "[SBasic] MMLによるMUSIC # Small Basic その3"

  1. よねけん

    そんな懐かしいこともできるんですね。
    Small Basicの存在は知ってましたが、昔のBASIC的なことができるとは。
    ちょっと試したくなりました。

  2. オールトの雲

     変に新しいけど、基本は昔のBasicをシミュレーションしている感じ。
     ただplay文がブロックI/O的になっているのを再現されるのはいまいち…バックグラウンドでループ演奏可能な様にしておいてよ。でないとBGMにできないじゃん。とか、かつての8bitと同じ葛藤が沸き起こるところまで再現しないでよって感じですね…

  3. よねけん

    SBインストールして、ブログのMMLを流してみました。
    おぉ、ちゃんとした曲になってる!
    確かに音の鳴り方が変ですね。

    > ただplay文がブロックI/O的になっているのを再現されるのはいまいち…

    子ども心に、A、B、C、…を適当に並べるだけで音楽になるので、
    楽しかったなという思い出があります。(MZ-80BなのでMUSIC文でしたけど)
    そういう意味でブロックされたっていいと思うのですが、
    今の子どもたちだとどう反応するのでしょうね~。

  4. オールトの雲

    > 楽しかったなという思い出
    ええ、楽しいですとも。おかげさまで私は最終的にMIDI(Roland SC88)に手を出す羽目になったのは内緒です(ぉ

    >そういう意味でブロックされたっていいと思うのです
     そうですね。ます現状文字列から音が出せないので、それから考えるとこの点でも満足というのはあるのですが…
     ただ、私の経験則から言えば、単音だせたら次は和音、次は音色、次はゲームとかのBGMに…とか言う方向に流れたので…
     単純に欲望にはきりがないという話ですが --;

  5. オールトの雲

     ちなみに私はMSX(1)出身なので、PSGでPLAY文でしたね。その後PC88でYM2203→YM2608,X68でYM2151を経てRoland SC88でした。

  6. [SBasic] タートルグラフィック # Small Basic その2 | オールトの雲

    [...]  つづく [...]

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org