コントロールパート

(工事中)
この章の目次
  1. あらかじめ設定する情報
  2. どこでも設定可能な情報
  3. メロディ定義内で設定可能な情報

EMDLではメロディの記述の他に、そのメロディをデータ化する際の環境を設定するための方法が用意されています。それは記述方法自体に関することであったり、再生するときにのみ意味がある音色の設定やエラーとしてチェックしてほしい制限事項であったりします。また、ループや移調などの制御を指定することもできます。

指定形式はまったくの偶然ですがHTMLなどで使われるいわゆるタグに似ています。ですから「タグ」と呼んでしまいましょう。驚くべき事に、大文字小文字の区別が無い点や属性の順番も任意であることなどまでそっくりです。

なお、今のところHTMLにおける<HTML>や<HEAD>パート、<BODY>パートなどに当たるものは考えていません。

メロディだけを書いて済ませたい人のために、これらはすべて省略可能です。それぞれ適当な省略値が用意されています。

あらかじめ設定する情報

記述自体や、記述方法に関してあらかじめ設定しておくタグです。これらはメロディの記述の前に書かなければなりません。
<TITLE></TITLE>
メロディ全体のタイトルを指定します。省略値は空文字列、もしくはパーサによる任意の文字列となります。変換先のデータ形式によっては、任意の文字数に切り詰められる場合もあります。

<META COMPOSER="..." AUTHER="..." TITLE="..." />
作曲者、入力者、タイトル等を指定します。タイトルは<TITLE>でも指定可能です。後から指定した方が優先されます。作曲者や入力者はメールアドレスがあればそれを指定することを推奨します。どれも省略時は空文字列あるいは任意の文字列です。

<NOTE LANGUAGE="..." />
音程の記述種類を設定します。慣習的な観点から、LANGUAGEに指定する文字列として以下のものを用意しました。
Jazz
ジャズ、ロックなどの軽音楽系で一般的に使われている音の呼び名です。
Classic
クラシック関係者が主に使用する呼び方です。
Japanese-traditional
伝統的な日本の(本当はもっと伝統的な雅楽などでの呼び方もありますが)イロハによる表記法です。
Italian-Japanese
日本の音楽教育で圧倒的に普及している、元はイタリア語から来ている呼び名です。

他に「LANGUAGE="ラッパ"」で「トテチテタ」表記にすることなども、やろうと思えば指定できそうですが今のところ仕様に含めないことにしておきます。

省略時はJazz, Japanese-traditional, Italian-Japaneseのどれかとして自動的に解釈されます。これらの混用も可能になります。

<BEAT (BARTEMPO=n|BEATTEMPO=n) />
音の長さに関する指定です。BARTEMPOかもしくはBEATTEMPOに長さの値を指定します。単位は一般の楽譜と同じく、一分間にその小節あるいは拍が登場する個数です。

BARTEMPOを指定した場合、最初に現れた小節の長さをその値として全体のテンポを決めます。BEATTEMPOで指定した場合、第1小節における最初の第1レベルの要素の長さをその値とします。例えば

<BEAT BEATTEMPO=60>
|C D E F | G A B C2|
とすると、それぞれの音はテンポ60と解釈されますが、
<BEAT BEATTEMPO=60>
|(C D) (E F) | G A B C2|
とすると、「(C D)」が最初の要素ですからこれがテンポ60、すなわち一つ一つの音は120となります。つまりこれは2/2拍子と解釈されたことになります。

省略時はBARTEMPO=30(すなわち4/4であればテンポ120)になります。

どこでも設定可能な情報

初期設定として冒頭に記述しても、メロディー記述の途中で書いても構わないタグです。
<OCTAVE n></OCTAVE>
<On></O>
カレントオクターブを設定します。初期状態では1です。
<U/>, <U/>
,
カレントオクターブの一つ上/下への変更を現します。

メロディ定義内で設定可能な情報

メロディー記述内で書くことにより意味を持つタグです。
<SIZECHANGE (LEVEL=n|BARTEMPO=n BEATTEMPO=n) />
<Ln/>

LEVELには、ある小節の長さを決定するときに基準とする直前のビートグループのレベルを指定します。とくにこれは小節と小節の間に指定するもので、直後の小節に対してのみ意味を持ちます。0にすると指定の後にある小節の物理的な長さを直前の1小節のものと同じと考えて処理します。1ならば、指定の後にある小節にある第1レベルのビートグループの長さを、直前の小節中の第1レベルビートグループと同じとします。2, 3...と増やすに従って基準とするビートグループのレベルが深くなります。

<Ln/>はこのレベル指定の省略形式です。

(C D E F) <L1/> (G A B C D E) (C D E F)
このようにLEVELを1にすると、前の小節の第1レベルであるCと後ろの第1レベルのGを同じ長さとします。つまりテンポはそのままで6拍子となります。

なにも設定されていない場合はLEVELが0として解釈されます。上記の例で2小節めと3小節めの間はなにも指定がないですから、(G A B C D E)の物理的長さに合わせて(C D E F)はそれまでのテンポより少し引き伸ばされます(前の小節までの4分音符に対してひとつひとつが付点4分音符にあたる長さになります)。

一番最初の小節の前で指定した場合は、BEATタグで設定された小節の長さを基準とします。

BARTEMPO, BEATTEMPOBEATタグと同様に直接テンポを指定します。これらで指定した場合は、LEVELと違い、指定した直後の小節だけでなく再び指定しなおされるまで持続して影響を持ちます。

next
簡易旋律記述言語 EMDL
©1999 Shibayama "HEAD" Ken'ichi