Shin−ya S.氏作 (入手はFSW倉庫から)
要MSXDOS2&MSXturboR&MSX−MIDI(インターフェース互換品可)/1997年〜/フリーウェア。現在も鋭意開発中
(MYU-DON比較、MML論?も含めた特別編となっています。)
現在も開発がつづけられているMIDI演奏データ作成ソフトです。
MSX用音楽作成フリーウェアの大半がそうであるように、いわゆるMML形式(o5l4cdefgみたいな)の記述でデータを作成します。
なお、同氏の作成した物にMSX内蔵音源用のSMDSがあり、その流れを継承している部分をもっているようです。私はそちらの方の現物をしらないのでコメント不可(がーん)
ファイラーやテキストエディタ、直接演奏機能およびパラメータモニターを内蔵しており、基本的にこのソフト1本だけでデータを作成できるようになっています。・・・今ではシーケンサとしては当たり前の機能かもしれませんがMSXでこれを実現したソフトは本当に少ないのです。プログラムも面倒だし(笑)
以下、どれもこれも「MSXでは珍しい」「MMLでは数少ない」という変な接頭語がついてしまうような内容で恐縮ですが(汗)特筆すべきところをご紹介させていただきます。
SMDS−MIDIでは独自のテキストファイルフォーマットを使用することにより、1つの曲に対して複数の編集画面を持つように設計されています。パート毎に違うページを使うというのが一般的な使い方となりますが、ページの割り振りのための制限は基本的にないので一つのページに複数トラック複数チャンネル分のMMLを置くことも可能ですし、必要であれば1つのチャンネルに対して複数のページにまたがって記述することもできます。
SMDS−MIDIのイチ押しはそのコンパイル速度にあります。F5キーが「MMLのコンパイルと演奏開始」になっているのですが、単に「演奏開始」だけと思ってくださっても問題有りません。速いんだもん(笑)
さらに、起動後最初の1回は前述のすべてのページをコンパイルするのですが、その後は実際に編集したページだけをコンパイルするので編集効率がさらに上がっています。これ、一番重要なポイント。
といいますのは、ちょっと修正したときに全部のコンパイルをやりなおすというのが予想外に無駄なタイムロスとなるのが実際に使ってみてよくわかります。理屈を考えたらあたりまえなんですが
現在のところ私の別ページMIDIセクションに置いてあるデータの大半はしんたろ氏作「MYU−DON」で制作したものです。またMYU−DON Version 2.13 用にSZMYP、SZMGKといったフリーソフトを(原作者そっちのけで(汗))作ったりもしてます。そんな人によるMYU−DONとSMDS−MIDIとの比較記事です。
SMDS−MIDIが専用のエディタを持つというのは強いです。
先の高速コンパイル関連で説明したことの他に、強力な早送り機能があります。任意のところに記号一文字を入れてコンパイルすれば自動でそこまで早送り、というのは他のMMLでも同じですが、いちいち音をならしながらの早送りはせず、即座に目的のポイントに到達して演奏を開始します。 こういった実際の速度面ではMYU−DONに勝ち目は有りません(笑)
ただし、MYU−DONがBASIC上で動いているのを利用してなめらかなテンポ設定を行うMMLを作成する、といった手法が使えます。1トラック犠牲になりますが(^^;
さらに現時点では拙作SZMGKが音源マニュアルを開く手間を省くという点も優位です。
ソフトウェアエンベロープ、というのはMSX内蔵音源用の音楽ソフトで特に発展してきた考え方だと思います。 これをMIDIに適用する場合、内蔵音源の考え方に凝り固まっていると正直いいものはできません。
実際にMIDIで使うということをどのくらい考慮しているか、は重大な問題です。
さて、SMDS−MIDIの場合、1つのパートで複数の音が演奏されるという点をしっかりとらえているといえます。
発音毎にエンベロープをかけ始めるパターンのほか、「次の一音だけにかける」「次の1音だけかけない」「次の1音だけ違うエンベロープにする」という複数の手段が選べます。これは、エンベロープの定義とは独立していますので、同じパターンでも次の1音だけなのか以後の発音すべてなのかを指定できます。
MYU−DONに比べて決定的に有利なのは、発音終了とエンベロープの動作に関係はないというところでしょう。
ベロシティとエクスプレッションの組み合わせでは表現しにくいような流れをエクスプレッションの変化だけで表現することができるようになります。エンベロープを「次の1音だけにかける」ようにした場合、次の音が発音されてもエンベロープの処理がのこっていれば延々と処理がつづけられるので、たくさんの音が並んだ1小節分のクレッシェンドをエンベロープ1つで表現する、ということが可能です。
また、エンベロープ内のカウント指定は通常のn分音符と同じ形式が使えるので便利です。
一方のMYU−DONでは、「目的の値まで指定のカウント数分の時間をかけて変化する」という指定方法が使えます。
SMDS−MIDIのような相対変化とリピートの組み合わせでは直感的な指定のやりにくさや調整の難しさが有りますが、それを解決するいい方法と言えるでしょう。この指定方法を使えるのはエクスプレッション、ベンダー(上位バイトのみ(がーん))、それとユーザー指定のできるコントローラ(同時に1つだけ)なのですが、互いに1つのエンベロープ内で独立して使えます。
スピードが犠牲になっている分、こちらはMYU−DON優位です。
SMDS−MIDIがMSX−MIDI(互換品可能)とturboRを前提にしているのに対し、MYU−DONはMSX2から対応、MSX−MIDIの他に只MIDI、さらに拙作のパッチによってAcrobat232(Joyserialもほぼ同じ)に対応できます。
実際にはMYU−DONもまともに使うには拡張RAM(似非職人工房の「Nice Memory!うっかりくん」などメモリマッパ対応品)が必要ですが、別にDOS2はなくてもいいようです。
ハードとはちょっと違いますが、MYU−DONはBASIC、SMDS−MIDIはDOS2から起動します。
もちろんこれはデータ制作上の話で、完成したデータをSMFにすればいずれもMSX2から演奏できます。もっとも、現時点ではMYU−DONの内部形式(MYD)ファイルを直接演奏する拙作SZMYPなんてのもあります。
・・・として指摘していた「1度全体をエディタ上で早送りなしで演奏しないとSMFに変換できない」という点が version 2.02 になって改善されました。ただし、まだ無限ループの曲は最低1ループ演奏させなければならないとか。今のところ私は無限ループの曲を作る予定はないからいいけど、そんなんでいいのか?
ちなみに、改版履歴に version 2.02 のことを「次へのタメ」と書いてあるのでこれから何がどうなるのかまだまだ注目しておく意味はありそう。(1999/3/17記す)
SMDS−MIDIの紹介からは話がはずれてしまうのですが・・・
かなり以前からMML・・・文字情報だけで音楽を記述する方法が細かい制御に便利という声を聞いたことがあります。が、そういえるほどMMLは進化しているでしょうか?
このSMDS−MIDIにしても、Version 2.00 でベロシティシーケンスやエンベロープなどの搭載、またその演奏中の変化を見ることができるなどの進化を見せています。でも、音の鳴り出しの変化、終わりの変化が同じで音の長さが違う場合はそれぞれに別のエンベロープを用意する必要があったりするわけで、そういったものは不便とはみなさないのか?ということです。
「こうすればできる」ということにあぐらをかいていたばかりに、MMLの進化は鈍ってしまっていると思います。「こうしても出来る」というのがほしい。MMLが文字の羅列という1次元表記である以上、本当に便利と言えるためには一つの表現にいくつもの手段、それも各々がきちんとした手段が提供されていなくてはMML派の驕りと言われても仕方ないのではありませんか?
もちろん、64KBのRAMが限界のシステムであれば、やれることにも限度があるでしょう。
・・・ただ、それ以上の環境で動くMMLがそこまで考えていると思えますか?
それでもMMLが他の形式より本質的に優位だと言えますか?
きっと、もっともっとMMLは進化できる・・・