SELECTED ENTRIES
RECENT COMMENTS
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS
blog_title
S.S.T.BAND BACK-UP TEAM管理人が書きたいことを書きます。
君にも出来る!(かもしれない)MML講座 【第四回】
0
    こんにちは。立て続けに四回目のお時間です。

    さて前回までで一通りの音階が鳴らせてオクターブの上げ下げも出来るようになったハズです。
    第二回の時に作ったMMLファイルの中身をあれこれと弄り倒して試してみて戴きたいです。では今回のお題を。

    今回は音長について。4分音符とか8分音符とかいうアレです。
    これまでのお話の中では特に何も触れませんでしたので、サンプルのMML等は全て4分音符で鳴っていました。デフォルトが4分音符なのです。でも世の中の音楽が4分音符だけで構成されているわけではないのは誰でも知っています。
    今回は音長を指定できるようになってみましょう。
    おっとその前に。もう一つ音楽について重要な要素である休符についても触れておきます。


    ではまず休符から。休符というのは文字通り音を出さずに休ませることです。ずっと音ばっかり鳴らしていたらPCだって疲れて暴走してしまいかねません。そんな訳ねえだろ。
    休符をMMLで記述するのは簡単。「r」を使います。ではここで久しぶりにサンプルリスト。第二回の時に作ったtest.mmlの中身を以下のものに丸々入れ替えてコンパイルして聴いてみて下さい。


    ;------------------ここから------------------
    #timebase 48
    #swap<>
    A EExff,x21,1,0 C01 "test"
    A crdr erfr grar br<cr
    ;------------------ここまで------------------


    前まではスラスラと「ドレミファソラシ↑ド」と鳴っていたのが休符が入って「ド レ ミ ファ ソ ラ シ ↑ド」と各音の間に休みが入りましたね。これが休符の効果です(大袈裟)。
    もうこれ以上特別書くこともないのでサッサと次行きます。

    ************************************************************

    さて音長。今回の本題はどちらかというとこちらでした。休符忘れてたもんね。
    まずは音長(と休符)の一覧でも見て戴きましょうか。


    (今回は我等がYAMAHAさんから拝借しました→http://jp.yamaha.com/services/teachers/music_pal/study/score/rest/


    あっ、なんてYAMAHAのサイトは分かり易い説明をしてくれるんだ!!音楽の基礎についてはYAMAHAのサイトが非常に分かり易いですね。あとで自分でも見てみようっと。

    さてさて音楽的なことはご自身で勉強して頂くとしてこちらではMMLでの記述について書いていきますね。
    先ほどデフォルトは4分音符だから何もしなければ音は全て4分音符で鳴ると書きました。では例えば8分音符で鳴らしたかったらどうしたら良いでしょうか。
    正解は、音階の後ろに音長を書きます。例えば「c8d8e8f8」というように。ではサンプルを。


    ;------------------ここから------------------
    #timebase 48
    #swap<>
    A EExff,x21,1,0 C01 "test"
    A cdef gab<c>
    A c8d8e8f8g8a8b8<c8
    ;------------------ここまで------------------


    どうでしょう。4分音符で「ドレミファソラシ↑ド」と鳴った後、8分音符で「ドレミファソラシ↑ド」と鳴っていますね。では悪ノリしてもういっちょ。


    ;------------------ここから------------------
    #timebase 48
    #swap<>
    A EExff,x21,1,0 C01 "test"
    A cdef gab<c>
    A c8d8e8f8g8a8b8<c8>
    A c16d16e16f16g16a16b16<c16>
    A c32d32e32f32g32a32b32<c32>
    A c64d64e64f64g64a64b64<c64>
    ;------------------ここまで------------------


    いかがですか。4分音符、8分音符、16分音符、32分音符、64分音符でそれぞれ「ドレミファソラシ↑ド」を鳴らしてみました。64分音符なんか一瞬で終わってしまってなんだかわかりませんがw
    勿論、音符の後ろの数字を2にしてやれば2分音符での演奏も可能です。じゃあ全音符はどうするのかと言いますと、1を指定してやればOK。
    つまり、全音符を1として考えて、何分の一の音長なのかということです。4分音符は全音符の1/4ですね。16分音符は1/16。勿論ここまでの説明は休符にも当てはまります。「r」の後ろに音長を入れれば良いです。
    ここまではよろしいでしょうか。


    ではここからは少し応用編。音長は何も先ほどの表に出ているものだけではありません。
    まずは「タイ」から。タイは同じ高さの2つ以上の音符を切らずに演奏するときに使います。例えばこんなの。



    タイを表すには「^」を使います。
    上の楽譜をMMLで表わしますと、「c8^8>b8<c8d8」になります。注意としてはタイの記号の後ろは音長だけを入れること。これを「c8^c8」とやってしまうと正しく演奏されません。
    8分音符同士のタイなんで、実際は「c4>b8<c8d8」って書いちゃう方が早いんですけどネ…まぁその辺は人それぞれで。


    では次。先ほどのYAMAHAのサイトにも出てましたが、「符点」というものがありますね。符点4分音符とか符点2分音符とか。



    またまたYAMAHAさんからです。 これはそのまま「c2.」とか「c4.」等と書けばよろしい。音楽的にどうなのか知りませんが、MMLでは符点は結構幾つでも付いちゃいます。「c2.....」なんてのもアリ。
    (ちなみにこれをタイを使って表すと「c2^4^8^16^32^64」となる)


    では最後に「連符」について。連符っていうのはこういうのです。



    例えば4分音符を二等分すると8分音符で四等分すると16分音符ですが、三等分したいとなるとそういう音符はないんですよね。5等分、7等分も然り。つまり音符には偶数等分はあっても奇数等分はありません。
    でも鳴らしたい!じゃあどうするか?そこで登場するのが連符です。
    これまで音長は音符を表わす「cdefgab」の後ろに数字を直接書くと言ってきました。それでは連符はどうしたら良いのでしょう?連符を表すにはちょっとした小学校レベルの算数を使いますよ。

    『4分音符を二等分すると8分音符』
    『4分音符を四等分すると16分音符』


    さっきこう書きました。勘の良い人ならわかったかもしれません。元の音符を分割する数字で掛けると…?
    もうわかったでしょうか。つまりこういうことです。

    『4分音符を三等分すると12分音符
    『8部音符を三等分すると24分音符


    簡単でしょう?例として先の画像をMMLで表わすと、「a8a8a12a12a12a8a8a8a8」となります。

    ************************************************************

    今回は音長の記述について書いてきました。
    ここまでのサンプル、ここを見ている人はほとんどコピペしてきたことでしょう。コピペならいいんですけど、これを手入力しているとあることに気付くんですよね…

    「『c16d16e16f16g16a16b16』って…めんどくせぇな!」

    そうなんです。同じ音長の音符が続いたりすると実にメンドクサイし見辛い。4分音符だけの時は良かったんだよなぁ。全部4分音符だから数字なんて付けなくても…
    …ん?そうだ、似たような音長ばっかり出てくる時はデフォルトを変えてしまえばいいんだああああ!
    という発想から生まれた(かどうかは知らない)のが「l」(エル)コマンドです。
    このコマンドを使うとデフォルトの音長を変えることが出来ます。例えば、

    「f8e16f8.g16a8a16a16a16g16f8e16^1」

    こんなMMLがあったとしましょう。見辛いし入力するのも結構メンドクサイですよ。これを「l」コマンドを使ってみるとこうなります。

    「l16f8ef8.ga8aaagf8e^1」

    どうですか。半分くらいの長さになりました。スッキリしましたね。これは先頭の「l16」で、デフォルトの音長を16分音符にするよと宣言したあとでMMLを書いているので、それ以降は数字の付いていない音符は全て16分音符になっています。
    「l」コマンドはいつでも使えますので、曲中でよく出てくる音符が変わった時、例えば
    「普段は8分音符が多く使われているけど途中のシンセソロになったら16分音符ばっかり」
    というような時は途中でまた「l」コマンドを使えば良いです。ただし、ソロが終わった後また8分音符がメインになったのに忘れてそのままMMLを書き続けてしまうとメチャクチャな曲になってしまうので、また「l8」とするのを注意しましょう。


    さてこれでようやく音楽らしいものが作れるようになったでしょうか。
    全ての音階が鳴らせて休符で休めて(?)音長の指定も出来る。なんとか簡単な曲くらいなら鳴らせそうですね。

    次回はオクターブやテンポについて書きたいと思います。
    | MML講座 | 15:34 | comments(0) | - | - |
    md
    sega
    君にも出来る!(かもしれない)MML講座 【第三回】
    0
      皆さんこんにちは。講師のSSTことアソビン教授ことあたくしです。
      ここしばらくCのソースリストを眺めていたせいで頭の中身が明後日の方向へ向いています。
      明後日はようやく土曜日ですね。
      まぁどうでもいいです。


      さて前回はドレミファソラシドを鳴らしましたね。オクターブの上げ下げも出来るようになりました。
      今回ももう少し基本的な所をおさえていきましょう。
      今回はズバリ、「半音」から行きたいと思います。半音。

      まずは下の鍵盤の画像を見て下さい。
      鍵盤
      (実にナイスな鍵盤だったのでコチラのサイトから拝借しました→http://gagaku.blog.ocn.ne.jp/gagaku/2008/07/post_e49b.html

      特に何も言わなくてもピアノやオルガンなどの鍵盤は皆さんご覧になったことがあるので分かると思います。前回入力した「cdefgab」はこの画像で言う所の白い鍵盤の部分なのはお分かりだと思います。鍵盤の上にもうまい具合にドイツ音名が振ってありますね。
      そして半音の黒い鍵盤の上にはC#とかD♭とか書いてあります。これについても小学生の時に音楽の時間で習ったので意味は分かっているでしょう。
      一番左の黒鍵盤は『ドの半音上がった音』であり、『レの半音下がった音』でもあるわけですね。
      ここまでは敢えて書く必要もなかったことでした。問題は、それをどうやってMMLで記述するのか、ということです。

      半音のMMLでの記述方法は二通りあります。
      まず一つ目は、#をそのまま「#」を使って書いてしまう方法。
      つまりド#は「c#」と書きます。
      んじゃ、♭はどうすんのよ、と思われるかもしれませんがフラットはありません。つまり全部#に置き換えましょう。楽譜によっては少々面倒かもしれませんがそれしかありません。

      それがイヤな人には二つ目の方法。
      #を「+」、♭を「-」で記述する方法です。これならどうだ!
      つまり、ド#は「c+」。ソ♭は「g-」という寸法です。半音「上がる」から「+」。「下がる」から「-」だと思えば分かり易いですね。

      ここまでのまとめ。
      鍵盤(1オクターブ分)をMMLでそのまま表すと、「cc+dd+eff+gg+aa+b」若しくは「cd-de-efg-ga-ab-b」となります。


      焦らしつつ今回はここまで。
      | MML講座 | 11:50 | comments(0) | - | - |
      md
      sega
      君にも出来る!(かもしれない)MML講座 【第二回】
      0
        皆さんこんにちは。講師のSSTことアソビン教授ことあたくしです。
        まぁ、なんでもいいです。

        前回はMML2MIDをセットアップ(っていうかダウンロードして解凍しただけ)するところまでやりました。
        MML講座と言っておきながらMMLを打たないというのもアレなんで、せっかくだから今日のうちに第二回までやっとこうよ、というわけで。


        では前回解凍したmml530フォルダを開き、bin_w32フォルダも更にダブルクリックして下さい。
        中にmml2mid.exeがありますね?あればOK。なかったらもう一度ダウンロードからやり直し。
        とりあえずこのフォルダの中にMMLを書くテキストファイル(以下MMLファイル)を置きましょうか。


        まず適当にtest.mmlというファイル名のテキストファイルを作って下さい。勿論中身は空で構いません。この後書いていきます。
        まずはこのtest.mmlを開いて、以下のMMLをコピペしてみてくださいな。


        ;------------------ここから------------------
        #timebase 48
        #swap<>
        A EExff,x21,1,0 C01 "test"
        A cdef gab
        ;------------------ここまで------------------


        そしたら保存して下さい。
        保存が出来たら、test.mmlをmml2mid.exeにドラッグ&ドロップしましょう。
        test.midというファイルが出来るはずです。出来ましたか?出来ましたね。出来るに決まってます。

        はい!これで曲データが出来ました。Windows Media Playerに関連付けされていると思うのでダブルクリックして鳴らしてみましょ〜〜。
        どうですか。鳴りましたか。多分ピアノの音で『ドレミファソラシ』と鳴ったと思います。


        ではここらで肝心のMML解説を。
        まず最初の3行は「おまじない」だと思って下さい。ということでいきなり最後の行を見て下さい。
        もう音聴いちゃったからわかると思いますが、「ドレミファソラシ」が「cdefgab」に対応しています。
        学生時代に真面目に音楽の授業を受けていた方ならわかると思いますが、いわゆるドイツ音名ってやつですね。
        なんでドイツかは知りません。
        これを、「bagfedc」にすれば「シラソファミレド」と鳴ります。気になる人はやってみてね。

        「なんでドレミファソラシ↑ドって鳴らないんだよ!気持ち悪いだろ!?」

        と荒ぶってしまった方、ごもっともです。では付け足しましょう。
        最後も「ド」なワケですから、

        A cdef gabc

        こうしてみてはどうでしょう。鳴らしてみて下さい。

        どうですか。ガッカリしましたね。
        では最後の「c」の部分を以下のように書き換えて下さい。

        A cdef gab<c

        これでコンパイルして聴いてみて下さい。どうでしょうか。
        ちゃんと最後の「ド」が高くなりましたか?なりましたね。なったハズです。
        この不等号はオクターブの上げ下げに使われます。
        この不等号の向きなんですが、僕がMMLを使い始めた当時、日本国内でパソコンを発売していたシャープ、NEC、富士通などの各社によって意味が違っていました。
        すなわち、今回僕は「<」がオクターブを上げる意味で使いました。(勿論「>」は下げる意味です)
        ところがこれは僕が初めて音楽を鳴らしたシャープのX1や後にメインで使用していたX68000はそうだったのですが、他機種では全く逆になっていることがありました。

        ここで注目するのが先ほど「おまじない」と言っていたうちの2行目。『#swap<>』
        これは不等号の意味合いを決める命令なので、僕と同じく「<」をオクターブアップにしたい人はそのまま入れておいて下さい。「>」をオクターブアップにしたい人はこの行を丸々削除してしまって構いません。


        と、いうことでここまででとりあえず音が鳴ってオクターブの上げ下げが出来るようになりました。
        でもまだまだ音楽の基本的なことは網羅できていません。
        なのでこの続きはまた次回。
        | MML講座 | 18:59 | comments(0) | - | - |
        md
        sega
        君にも出来る!(かもしれない)MML講座 【第一回】
        0
          どうも皆さんこんにちは。MML講座の時間です。
          講師はわたくし、MMLを使って27年。SSTことアソビン教授です。ま、どっちでもいいです。

          この講座では「とりあえず音を出してなんかしら演奏してみる」ことを目標にしてみようかと。
          今のご時世にMMLを使って音楽やってる酔狂なヤツは少ないわけなので、ここでその酔狂なヤツを少しでも増やしてやろうじゃないかという訳であります。
          少なくとも

          「MMLって宇宙語ですね」

          という先入観を持った人に

          「あれ?意外と分かり易いな」

          と思って頂ければしめたものです。


          さてMMLと一言に言いましても、同じ日本語にも標準語の他に各地の方言があるように色んな種類のMMLが存在します。
          これはコンパイラによって変わってくるものなので各自好きなコンパイラを使って頂いて、後は文法書かれたマニュアル読んでください。終わり。
          ……だと話になりませんので。
          ここはあたくしが使用している、MML2MIDを例にして進めていこうと思っております。
          まずMMLでMIDIをやる際のおおまかな流れから。

          1.テキストエディタでMMLを使ってデータを書く。
          2.MMLの書かれたテキストファイルをMML2MIDを使ってコンパイル。
           SMF(スタンダードMIDIファイル)を出力する。
          3.TMIDIとか適当なプレイヤーを使って鳴らす。
          4.(゚Д゚)ウマー


          以上です。

          さて、ではまずMML2MIDを入手して頂きます。公式ページはコチラなのですが、どういうワケか文字化けして読めないので(うちだけ?)直接リンクを貼っちゃいましょう。
          MML2MID Ver5.30

          どうでしょう。ダウンロードできたでしょうか。以降の手順は僕が下手な説明するよりとまて週報さんなんかを参考にして貰った方が早い気がします。
          と言っても出来上がったテキストファイルをドラッグ&ドロップでコンパイルというだけですけどね。
          (ドラッグ&ドロップでいいなんて知らんかった…俺、いつもDOS窓でコマンド打ってたわ…orz)


          MML2MIDの準備が出来たらとりあえずこのエントリはここまで。次回に続く。
          | MML講座 | 18:37 | comments(2) | - | - |
          md
          sega

          07
          --
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          --
          >>
          <<
          --