この文章は Adus Compiler の概要と機能、将来の計画について記述したものである。
Adus は、数ある MML(Music Macro Language) 即ち音楽記述言語の、新しい方言である。 各種MMLの中には楽譜製作を旨とする言語もあるが、Adusは作曲・音楽制作の為の 言語として設計され、SMF(Standard MIDI Files) の仕様を踏襲している。 策定に於いては下記の言語仕様を勘案した。
Adus Compiler はAdus言語処理系を含む音楽制作ソフトウェアである。 単にAdus言語を実装するだけでなく、様々な拡張機能やツールを含めた、 ソフトウェアを指しての名称である。
言語も処理系もまだまだプロトタイプ段階であり、 未実装の機能や完全に動作しない機能も多い。 また実装済であっても仕様や動作が大幅に変更されうる。
なお Adus は ADUS でも adus でもなくAdus と表記する。 読み方は特に定めておらず、アドゥスでもアダスでもエイダスでも、 或いはエーディーユーエスでも構わないものとする。
他のMMLと比較して、下記のような特徴がある。
行単位でトラックを指定するという伝統的な方法の脱し、 柔軟なフリーフォーマットを実現。 改行の位置や行の長さに関係なく、行の途中でも、 或いは複数行に渡るトラックであっても、 容易に記述できる。
a: c1 b: e2 f2 c: g2 a4b4
ベロシティなどのパラメータを音符に先だって纏めて記述できる。 先行指定には音符ごとにと経過音調ごとにが自由に選べる。 勿論音符ごとに指定することもでき、その場合は先行指定された値より優先される。
v80,20,(2)50 c4 d4 e4 g4 a4 b4 <c4>
従来、数値指定の前の正負符号が、単なる正負符号なのか、 或いは基準値からの相対指定を意味するのかが曖昧になりがちであった。 そこで + と - は正負符号としてのみ用い、 相対指定や加減算の為には ^ と _ を用いることにする。
単純な和音は当然ながら、 ポリフォニックな旋律運動でも容易に記述できるよう、 いつでもその場で簡単にサブトラックを生成できるようにした。 ベロシティなどの数値が保存されるので、 任意の場所に対旋律を挿入することが可能である。
c1 {f2 g2} d2 e2
発音中の音量変化には ポリフォニック・キー・プレッシャー(アフタータッチ)を活用し、 エクスプレッションに頼らない音楽的表現を可能にする。 これによってサブトラックと併用すれば、 一つのチャンネルであっても表現力が飛躍的に増す。
グラフィカルな音楽制作ソフトウェアに対する優位性は、 例えばマクロによる独自の拡張が可能な点である。MML処理系では 従来より様々なマクロ定義の方法や、独自のスクリプト言語が組み込まれてきた。
Adus は DMDScript を内蔵する。DMDScript は ECMAScript の実装の一つで、 つまり JavaScript と互換性がある。 強力で一般的なスクリプト言語によって、応用した命令が拡張できる。 Adus は、たかだか音楽制作の為だけに独自の言語を習得せよとは主張しないし、 非力で不安定なスクリプト言語を設計したいというだけの自己満足も追い求めない。 尤も作者に独自スクリプトを実装する技術がない、というのが事の真相であるが。
DMDScript のライセンスの関係もあって、Adus Compiler は GPL(GNU General Public License) の基づき、ソースコードを公開している。 つまり誰でも自由に好きなように改造できるということ。
先にも述べたがまだまだプロトタイプ段階である。 プロトタイプ段階を Version 0 系列とし、 一通りの機能が備わった時点で Version 1.0 とする。 換言すれば 1.0 に達するまでは基礎機能も変更されうる。 例えばベロシティ指定が v から k になったり、 或いはドレミが cde から do re mi になったり。
制作・著作/須田佳典
2005/08/22初出
無断転載を禁じます。リンクはご自由にどうぞ。
Copyright © 2005 Yoshinori SUDA. All rights reserved.