とりあえずもっとも一般的な作曲手段である、MIDIを使用した方法を説明しましょう。
MIDIというのはMusical Instrument Digital Interfaceの略で、パソコンやシンセサイザーなどの間で音楽データをやりとりするときに使われる規格です。音の高さ、長さ、大きさなどの情報がやりとりされます。前述したとおり、MIDIデータは音色そのものの情報を持っておらず、音源モジュールに組み込まれている音色の番号を指定することで音色を決定します。つまり、「ピアノの音を出す」という命令はなく、音源モジュールでNo.000にピアノの音が入っている場合に「No.000の音を出す」という命令を実行することでピアノの音を出すわけです。このとき、作曲者の持っている音源モジュールのNo.000がピアノで、聴取者の持っている音源モジュールのNo.000がギターだったりすると、ピアノ曲のつもりで作った曲が人によってはギター曲になってしまうなどの不都合が生じます。音色に限らず、「音量を10上げる」という命令が他のモジュールでは「速度を10上げる」などだったりすると、曲はめちゃくちゃになってしまいます。そこで、そういうことがないよう、MIDIでは「最低限これだけは同じ規格に揃えてね」という規格を用意してあります。General MIDI、いわゆるGM規格です。GM規格の範囲内で作った曲であれば、どのようなMIDI環境でも同じ曲を聴くことができる、というわけです(名目上は)。
ただ、GMという規格は最低ラインであるため、やってもいいことが非常に限られています。音に奥行きを出すコーラス効果や残響音を表現するリバーブ効果などは、GMでは許可していません。そこで、音源モジュールメーカー各社はGMを拡張した独自規格を打ち立てました。ローランドのGS規格、ヤマハのXG規格などです。さらに、ローランドのGS規格をさらに拡張したSC-55mkII専用規格、SC-88専用規格、SC-88Pro専用規格などもあります。ヤマハのことはよくわかりませんが、きっと新しい音源モジュールが出るたび新しい規格が出来ているのでしょう。一応後から出た音源モジュールは以前の音源モジュールの規格を包括的に継承しているのでしょうが、出てくる音が微妙に違うといったことがよくあるようです。音色の違いという点では、GM規格に添ったデータでも音源モジュールが違えば別の音色が出ます。同じ「ピアノの音」でもローランドのピアノとヤマハのピアノは違う、SC-55とSC-88のピアノは違うのです。つまり、作曲者が作ったデータを正確に聴くためには、聴取者が作曲者とまったく同じ音源モジュールを持っていなければならない、ということです(ぼくが「楽曲貯蔵庫」でいちいち「SC-88の55MAP推奨」と書いているのはそのためです)。
とはいえ、音色データを音源モジュールにまかせてしまうことで生じる「データの小型化」「他の機械とのやりとりの簡易さ」という利点はそういったデメリットを補ってあまりあるものです。上記の不具合を忘れないようにしながら、MIDIによる作曲を試みてみましょう。
MIDIによる作曲には、いくつか方法があります。
まず、リアルタイム入力です。「リアルタイム」の名の通り、自分が手で演奏した曲をそのままデータ化する方法です。「ドの音を出したい」と思えば鍵盤のドを押せばいいわけですし、簡単といえばこれほど簡単なデータ作成方法はないでしょう。ただし、データを入力するためにはMIDI規格に添った楽器(作曲ソフトによってはパソコンのキーボードを鍵盤に見立てられるものもありますが)、そして何より楽器を弾くことのできる腕前が必要です(データ入力時にゆっくりしたテンポで弾いて、後でテンポを速くすればいいのですが)。多くの作曲ソフトではこのリアルタイム入力をサポートしています。
次に、音符入力です。作った曲を譜面にし、そのまま作曲ソフトに入力すればいいという、これも簡単なものです。ただしこの方法は、「4分音符をほんの少し早く鳴らしたい」「(音程のない)風の音を効果音として使いたい」「128分音符を羅列したい」などのときにかなり苦労することになります。最近はこういったソフトがあるのかどうか知りませんが、昔ぼくがPC-8801MkIISRで曲を書いていたときにはそういうソフトがありました。
次に、MML入力です。MMLというのはMusic Macro Languageの略で、MS-DOS以前のROM BASICなどで使われていた音楽言語です。たとえば、ピアノでいう真ん中のドから「ドーーレミファーーー」と鳴らしたいのであれば、「o4c4d8e8f2」などと書きます。音符入力よりも自由が効くので便利ですが、MMLを覚える手間が必要ですし、各作曲ソフトの間でMMLの微妙な違いがあるためあまり一般的ではありません。以前FM音源での作曲に使っていたFMPやPMDというソフトはこのMMLを使っています。MS-DOS上で動作するMML入力のMIDI作曲ソフトというのもあるはずです。
最後に、ステップ入力です。これはピアノでいう真ん中のドを「C4」と表記するなど、MMLに似た部分を持っています。MMLとの大きな違いは、MMLでは4分音符を「4」と表現していたのに対し、ステップ入力では1小節の何分の何、で表現することです(この「何分の1」がステップです)。たとえば、1小節を1920に分割した場合、4分音符は1920÷4=480となります。4分音符より少しだけ短い、という音符は、470や460といった表記になります。さらに、実際に経過したステップは480であっても、音が出ているのは最初の240ステップの間だけ、といった表現も可能です。また、1小節が1920ステップであれば、最大1920分音符まで表現できます。いろいろと便利な点を書きましたが、やはりステップ入力独特の表現を覚える手間が必要です。
ぼくはカモン・ミュージックのレコンポーザというソフトを使っているのですが、作曲はステップ入力で行っています。そこで、以下ではレコンポーザを使ってステップ入力による作曲の実態を見てみましょう。