Z-MUSIC とは? 〜 作曲スタイルとしての MML 〜

僕は、作曲するのに SONAR …… ではなくて、Z-MUSIC という MML (Music Macro Language) を使っています。この作曲スタイルは WHO により絶滅危惧 種指定される日が近いと思われるため、ここに筆を執る次第であります。

目次:

  1. MML で作曲すること。
  2. MML で作曲することの意義。
  3. Z-MUSIC で作曲することの意義。
  4. zmusic-mode.el、あります。
  5. Z-MUSIC の関連サイト。

MML で作曲すること。

一例を挙げると、MML では、16分音符でオクターブ4の「ドレミ」を演奏 するのに "o4 l16 cde" などとテキストで打ち込んで(書き込んで)いきます。 マウスも鍵盤も使いません。必要なのはPCのキーボードとテキストエディタだ けです。昔ながらのプログラミングの世界です。

Z-MUSIC MML の詳細な言語仕様は わいやぎさんのサイト などをご参照いただくとして、 超具体的な例を以下に挙げてみます。

初めて見る人には意味不明の怪しい暗号にしか見えないでしょう。 この暗号文を演奏したものがこれです。

基本は、C と D と E と F と G と A と B は音符(ドレミファソラシ) を意味していて、R は休符、C# と C+ は C#、C- はC♭です。その他のアル ファベットや記号は音符以外の何かの指定になっています(MIDIのエクスプレッ ション、ピッチベンド、ベロシティなど)。音長は C1 と書けば 1分音符(全 音符)、C16 なら 16分音符です。

暗号文の解読方法を簡単に説明した極秘資料を以下に示します。

この演奏をピアノロールウィンドウでピッチベンドとともに表示したものがこ れです(SONAR LE)。ほとんどの人にはこの画面の方が見慣れているでしょう。

楽譜にするとこんな感じです。このソフト(SONAR LE)の場合、ピッチベンドに よるスラー処理を受ける音符が楽譜上では省略されてしまうので、その点がい まひとつな感じですが、雰囲気はだいぶ出ています。

MML で作曲することの意義。

MML などというもので作曲することのデメリットなど数え切れないくらいあり ます。SONAR LE 触っているだけでも技術の進歩にそれはもう驚愕の日々です。 それでもなお僕がどうしていまだに MML で作曲をするかといえば、 といったあたりが言い訳になっています。

DAWソフトだと、そのソフト特有の形式でデータが保存されるのでそのソ フトがなければ中身を見ることができないのですが、テキストデータなら最悪 メモ帳でもなんとかなるしぃ〜というのもあります。

Z-MUSIC で作曲することの意義。

MML には Z-MUSIC の他にもたくさんの種類があります。その中でも Z-MUSIC を使う理由は、いろいろあります。

まず、MIDI のあらゆるコントロールを記述できるため、頑張って頑張っ て頑張りまくるとスンゴイ演奏ができてしまう点です。

加えて、和音、クレシェンド・デクレシェンド、スラー、タイ、ピアノの 右手と左手、というように、実は「論理的に」音楽を記述できる点も好きなの です。また、メロディそのものとMIDI関連の記述(ベロシティやピッチベンド など)を分離したりはたまた混ぜたり臨機応変に記述できます。

より具体的にはこんな感じです。

さらには、これはほとんど Humanizer の領域ですが、ビブラートやエクスプレッショ ンを自動化することができます。 管楽器の経験者であればご存知と思いますが、ビブラートをかけるタイミング はだいたい決まっています。また、人間は長い音符を同じ音量で吹き続けるこ とができませんし、長い音符を同じ音量で吹かれてもうるさいので、 長い音符はほぼ必ず軽いデクレシェンドを伴って演奏されます。

これらの演奏効果を、Z-MUSIC では自動的にかけることができます。その ため、Z-MUSIC には一般的な(そんじょそこらの(笑))MML とは一線を画す 表現能力があるのです。外国の友人に「Humanizer プラグイ ンは何使ってるの?」と聞かれるほどです。

僕が現在使っているのは素朴な Z-MUSIC ではなく、 わいやぎさんの Z-MUSIC 処理系 で拡張された MML です。これはスゴイです。世界最強MMLです。

……もういくら書いてもきりがないのでこのへんでやめます。

結論:あと10年は使う予定。

zmusic-mode.el、あります。

とはいえ、MML を毎日メモ帳で編集しているとたぶん死ねますので、僕は 自作の zmusic-mode.el というのを Emacs (Meadow) に入れて使っています。

実装されている機能:

実装されていた(?)機能:

日本で(いや世界でも)これを使うのは僕一人とは思いますが、いちおう置い てみます。最初に書いてから 8年も経っているのは気のせいです。

必要なもの:

インストール方法(Meadow 2.10 + TMIDI Player 用):
  1. zmusic-mode.el を C:\Meadow\site-lisp にコピーする。
  2. .emacs に以下の設定を入れる。
    (load-library "hilit19")
    (load-library "zmusic-mode")
    (add-hook 'zmusic-mode-hook
              (function (lambda () (hilit-highlight-buffer))))
    (setq auto-mode-alist
          (append '(
                    ("\\.zms$" . zmusic-mode)
    	      auto-mode-alist))
    (setq zmusic-playmidi-term-command "dde stop")
    (setq zmusic-playmidi-device "")
    (setq zmusic-shell-filename "cmd")
    (setq zmusic-playmidi-command "dde")
    (setq zmusic-playmidi-option "playfile")
    
  3. TMIDI DDE クライアントをパスの通った場所に 置く。
  4. zms2mid をパスの通った場所に置く。
  5. *.zms ファイルをオープンする。すると zmusic-mode が起動します。

使用方法:
  1. C-c C-c : コンパイル(zms2mid をシェルから起動します)。 Emacs のコンパイルコマンドに準じているので、下記のようなことが可能です。
  2. C-c p : MIDIプレーヤーでの演奏を開始
  3. C-c s : MIDIプレーヤーでの演奏を停止
  4. C-c C-j : 指定したトラック番号の場所へジャンプ(ファイル先頭から検索)
  5. そのほかの使用方法は zmusic-mode.el を見てくださ い。(手元の Meadow だと M-x help m が文字化けするので……)

この zmusic-mode.el は、Emacs19 時代に書かれたモノであり、文字の色づけ 処理にいまだに hilit19 を使用しています。その上に初心者丸出しの Emacs Lisp コードですので、中身を見るときは覚悟をしてください。

Meadow と書いていますが、Emacs19 以降なら Linux 上の Mule とかでも動きます。

TO DO:

Z-MUSIC の関連サイト。

ホームに戻る。


Last modified: Thu Aug 03 23:21:07 LMT 2006