PAGE C:
シーケンサー用の言語” MCL ”(Music Composition Language)のページ。
CMI に登場した 2 番目のシーケンサー。演奏言語 MCL によってプログラムを組み,演奏を行う。演奏データは 3 層構造のツリー・ストラクチャーになっている。
まず 1 番基本となるのが,拡張子 .SS がつく,シーケンス・ファイル。このファイルには "CDEFG" などで表記した音程のデータやそれにともなう音符の長さのデータ,音量コントロールやペダル・コントロールのデータを書き込む。
次に上記のシーケンス・ファイルを CMI の仮想キーボード(ページ 3 参照)のどれに演奏させるかを指定するのが .PT の拡張子のパート・ファイル。このファイルでは”K=2”(以降に並べるシーケンス・ファイルはキーボード2番で演奏する,という意味)などのようにキーボード番号を指定し,そのあとにシーケンス・ファイルを記述する。たとえば
K=1 BASS 1.SS K=3 BASS 3.SS BASS 2.SS
のように記述すると,最初 BASS 1.SS のファイルをキーボード 1 番で演奏し,BASS 1.SS の演奏が終了するとキーボード 3 番で BASS 3.SS を演奏,BASS 3.SS 演奏終了に続いて BASS 2.SS が演奏される。
最後にそれら .SS , .PT をピース・ファイル(拡張子 .PC )に登録する。 .PT では列記した .SS のファイルを順次演奏するが, .PC では列記した .SS , .PT のファイルを同時に演奏する。たとえばキーボード 1 番で BASS 1.SS を演奏する BASS .PT ,キーボード 2 番でドラムの演奏をする DRUM.PT ,キーボード 3 番でギターの演奏をする GT.PT を作り,これを以下のようにピース・ファイルに登録する。
BASS 1.PT DRUM.PT GT.PT
この状態でピース・ファイルを演奏させるとベース,ドラム,ギターが一緒に演奏されるというわけだ。
以下は BLUES.PC というピース・ファイルを読み込ませた画面。
BLUES のピース・ファイルを演奏してみる。この中でトランペットのサウンドは B1.SS のシーケンスが演奏している。下の画面の B1.SS データを良く見ると,演奏データの内容が少しはわかるだろう。
BLUES.PC の演奏
BLUESに含まれるB1.SSというファイルをエディットしている所。
上記のように MCL の中核をなすファイルは .SS のシーケンス・ファイルである。そこでこのファイルについてもう少し詳しい解説をしておこう。
シーケンス・ファイルには以下のデータを記述できる。
音程:
C,D,E,F,G,A,B で表現されこの後に #/♭や 音域指定が続く。たとえば C3,D#4。
また()でくくられた音程データは和音として扱われる。たとえば (C:E:G) はドミソの和音となる。
音程入力や和音入力はキーボードやキーボード左のスイッチを使うことによって簡単に入力することができる。
長さ:
B=24,G=1/3 のように指定する。B はビートで,それに続く音符データの長さ指定である。1 拍を何ビートにするかはユーザーの自由。G はゲートで,ビートに対してどれだけの長さ音を持続させるか記述する。上記の例ならゲートの長さは 8(B=24 に対して 1/3 なので)となる。
コントロール:
鍵盤左のボリュームやペダルを MCL から制御する。表記は C1=10,といった形で行い,1 レジスターのボイスあたり 6 個までのコントロールを指定できる。上記の例では鍵盤左のボリューム 1 を 10 (ボリューム指定範囲は 0 ~ 127)にしたことになる。これをページ 7 でビブラートやレベル,ポルタメント・スピード等にパッチングして使用する。
スイッチ:
スラー,サスティン,ポルタメントのオン/オフなどを指定する。表記は S3 =ON といった形で行い,1 レジスターのボイスあたり 5 個までのスイッチのオン/オフをコントロールできる。
ベロシティー:
鍵盤を押した強さを指定する。表記は V=13 といった形で行う。ベロシティーは 1~15 までの範囲で指定できる。
繰り返し:
<>でくくられた演奏データはその後に書かれた回数だけ繰り返される。たとえば <C:D:E:F:G>3 は,ド,レ,ミ,ファ,ソの演奏を 3 回繰り返す。
オクターブ指定:
O=3,のように最初に書いておくと,音程データで音域を指定しなかった場合,O=で指定した音域で演奏される。
その他の表記:
音と音のデータの間は”:”で区切る。
また通常音程データだけを書くと,その音符の長さは,それ以前に指定したビートの長さとなるが,音程データ 1 つ 1 つに音符の長さを指定する場合には音程の後に”,”をつけ,その時点での B(ビート)の値に対して音符をどれだけの値にしたいかを指定する。たとえば B=48 になっているときに”C:D,1/2:E,2”と指定すれば,C は 48 の長さで,D は 24 の長さで,E は 96 の長さで演奏される。
これにゲート・タイムの指定もしたい場合にはさらに”,1/2”のようにデータをつけ加える。考え方は同じで,ビートに対してどれだけの長さ音を出すかを指定するわけである。たとえば B=48 のとき”C:D,1/2,1/3:E,2,1/2”と指定すれば,C は 48 の長さで,D は 24 の長さのうち 16 の間だけ音がなり,E は 96 の長さのうち 24 の間だけ音がなるということになる。
演算指定:
MCL では * や + ,- を使ってコントロールなどの数値を変更していくことができる。たとえば”C1=10:<C:D:E:C1=+10>5”という指定をすると,最初 10 の値だった C1 がドレミのフレーズを繰り返すたびに 10 ずつ増加していき,最後には 60 になる,という指定ができる。この C1 のデータをページ 7 でレベルにパッチしてやれば,演奏が繰り返されるたびに音量が大きくなっていくようなプログラムを作ることができる。
以上のようなデータを組み合わせて演奏データを作成していく。実際のデータ入力をするエディターは(鍵盤からデータを入れられる点以外は)実は全くの英文ワード・プロセッサーなのである。データはワープロで作っておき,それをクローズして演奏指定をすると CMI はそのワープロ文章に記述された演奏データを解析して演奏を開始するというわけである。解説に書いたように CMI のシーケンサーにバグが少ない,というのはこの辺の構造の簡略化によるところが多いようだ。
では以下にシーケンス・データの例を示そう。
<B=24:O=3:C1=80 A:C4:E4:C4<(A:C4:E4) C1=+10>4 B=*2 C4:B♭,1/3:C4,1/3:B♭,1/3:A,2>2
このシーケンスデータの意味を、以下に解説する。
<B=24:O=3:C1=80
注)最初に繰り返しの頭を指定”<”。指定のない音符はの長さ 24 に,音域は 3 オクターブ目にし,コントロールの 1 番を 80 にした。
A:C4:E4:C4<(A:C4:E4) C1=+10>4
注)A3,C4,E4,C4を演奏した後,A3/C4/E4の和音を 4 回演奏する。1 回演奏するごとにコントロール 1 は 10 ずつ加算されていく。和音を演奏し終わった段階でコントロール1は 120 になっている。また演奏される音符の長さは全て 24 となる。
B=*2 C4:B♭,1/3:C4,1/3:B♭,1/3:A,2>2
注)音符の長さ指定を倍(48)にし,C4 を演奏する。次にB♭3,C4,B♭3 を指定した音符の長さの1/3(=16)で,A3 を2倍(96)の長さで演奏する。最後の”>2”により以上の演奏は2回繰り返される。
MCL では以上のような演奏データを 1 mSec までの精度で正確に演奏することができる。この精度は非常に高く,全く同じ 2 つの演奏データで曲を演奏させ,出てくる音を左右に振り分けて,片方の音だけにビブラートをかけると,非常に奇麗なフランジング効果を得ることができる。
以下は、左右にまったく同じ音色のギターを配置し、片方の音だけビブラートの深さをMCLからコントロールして演奏した例。ステレオで聞くと微妙なフランジング効果があるのがわかるだろう。
2本のギターをコントロールするシーケンス TURK.PC
|