-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzm01.txt
375 lines (191 loc) · 16 KB
/
zm01.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
MEASURE 1
イントロダクション
ここではZMUSICシステムの概要を説明します。
1.1. はじめに
コンピュータミュージックを楽しむには幾つかの方法があります。
1. 実際に弾いたものをコンピュータ、シーケンサのメモリに記憶しておくもの
2. コンピュータ、シーケンサのメモリに直接演奏データを書き込んでいくもの
3. 1. と2. の複合的な方法
などです。2.はコンピュータのキーボードを叩くことから「打ち込み」と
呼ばれます。3.はつまり、人間が弾いたものを後でコンピュータを用いて
修正するといったものです。
ちょっと昔までは3.の方法が圧倒的にメジャーでしたが、音源の進歩と
ミュージック・ツールの進化により最近は2.の方法もメジャー化してきています。
最近は譜面も起こさずに直接「打ち込み」を始める作曲者も少なくないようですし、
スタジオのマニピュレータ(平たくいえば打ち込み人)の中には実際に弾いた
ものよりも人間臭さを表現する人もいるとききます。
さて、本書でお話しするのは2.の方法です。2.の方法の魅力といえば、
自分が楽器の演奏が出来なくてもイメージ通りの演奏が可能という点でしょう。
さらに、一度仕上げた曲は、ディスクなどの記憶装置に保存しておけばいつでも
再現可能というのもこの方法の魅力です。
打ち込みの方法にも実は色々な方法があります。一番原始的なものとしては
完全な数値入力です。音階、発音時間、など全てをこまごまと入力していくものです。
最近は「ステップ入力」と呼ばれます。10数年前にMZやPC8001用に出ていた
ローランドCMU800シリーズはこの方法でした。これを進化させものが
譜面入力による「打ち込み」です。いわゆる五線譜に音符を置いていくタイプの
ものです。楽器の演奏はおろか譜面を読むことが出来ない人にでも簡単に音楽を
作ることが出来るため初心者層には圧倒的な人気を誇ります。また印刷機能が
充実していれば美しい譜面を得ることが出来ますので、プロでもこのタイプを
使っている人が多くいます。
さて、「ZMUSIC」では現在(注)MMLという「打ち込み」方式を
採用しています。これはいわば「音楽記述言語」というもので
「音楽をプログラム」するというイメージが正しいでしょう。完全な数値入力よりは
ずっとドキュメント性が高い上、入力する量も少ないのでパソコンを基盤として
音楽を楽しむ人にはピッタリのものといえます。欠点としては、小中学校程度の
音楽知識が必要なこと、ある程度コンピュータを扱える人でないと駄目なこと、
ドキュメント性が譜面入力よりは低いこと、などです。ドレミが読めて、非GUI環境で
ディスクをフォーマットしたりファイルをコピーしたことがあれば資質十分です。
MMLの利点としては、慣れればあらゆる方式よりも高速に一曲を仕上げることが
出来ること、細かいニュアンスなどに凝ることが出来るなどが挙げられます。
また、移植性が高い点も見逃せません。殆ど方言のような感覚で他の機種の
演奏データや他の音楽ドライバ用のデータを、自分の使っているMMLに
修正利用することが出来るのです。
さあ、「ZMUSIC」を懸け橋にしてあなたもコンピュータ・ミュージックの
世界に浸りませんか。
(注)今後、違った入力方式に対応した支援プログラムが発表されれば、
別の入力方式(例えば譜面入力方式)も可能です。
1.2. ZMUSICとは
ZMUSICとはX680x0本体付属のOPMDRV.Xを改造したりするもの
ではなく、全く新しくゼロから開発されたミュージックプログラム開発言語です。
X680x0の内蔵音源であるFM音源8声とADPCM1声(MPCM.X (C)Wachomanを
使用すれば16声まで)、MIDIインターフェースが接続されていれば
MIDI楽器も同時にコントロールする事が出来ます。
一般の音楽制御ドライバでは1つのMIDI楽器をコンピュータの外部音源という
位置付けで扱っていましたが「ZMUSIC」ではX680x0をホストに複数のMIDI
楽器をコントロールする事が出来るように設計されているのでどんどん自分のMIDI
システムを広げていくことが可能です。
特に今回のバージョン3は多チャンネル化するMIDI音源に対応する目的と、
一層のコンピュータ音楽ならではの芸術性や表現を具現化するために制作されました。
より高度なコンピュータ音楽を制作できるはずです。
ここでZMUSICシステムVer.3の特長を列挙してみます。
1. X680x0本体付属のOPMDRV.Xに上位コンパチ。ZMUSIC Ver.2以前の
演奏データはソース(ZMS)レベルで上位互換でそのまま演奏可能。
2. FM音源,ADPCM,MIDI楽器を同時に同期演奏可能
(もちろんMIDIシステムのない環境でもZMUSICは利用可能)
3. 複数のX680x0を相互に接続しての同期演奏も可能。
4. 汎用トラックを65534本装備。最大演奏トラック数65534本。
RS232C-MIDIを2ポートと2枚のMIDIインターフェースを同時に制御可能。
MIDIは、前バージョンの4倍に当たる64チャンネルまでを同時制御可能
最大演奏チャンネル数88チャンネル(FM8+ADPCM16+MIDI64)。
5. 独自のADPCMドライバ「MPCM.X」(C)WachomanにてADPCM音源をFM音源のように
柔軟に制御可能。
6. ポルタメントやオートベンド、和音やビブラートなどの特殊効果を内蔵音源と
MIDIの両方で使用可能。Ver.2以前からあったARCC機能も1トラックあたり
同時に4つまで独立に動作させることが出来るように拡張された。
7. コンピュータ音楽ならではの音楽情緒を作り出すアゴーギク機能やエンハンスド
ベロシティ・シーケンス機能の新設
8. 前バージョンまでの効果音モードを発展させ、2曲までテンポの異なった音楽を
同時に演奏可能。
9. 送信MIDIデータをリアルタイムで最適な送信方法を選択して送信するVTMS機構、
送信MIDIメッセージをリアルタイムに最適化するARS機構を装備。これらにより
多チャンネル演奏時でもテンポずれの最大限抑止、CPU負荷の低減を両立。
10.MT32/U220/M1/SC55/SC88/GM音源等に対応した
楽器個別の制御命令を装備
11.MIDI楽器側の音色や設定データ、ユーザーの演奏をスタンダード
MIDIファイルに出力可能。
12.オブジェクトレベルの演奏データ(ZMD)を出力可能(コンパイル機能)
13.ZMUSICが持つ機械のすべてを公開。外部プログラムから利用可能。
プログラム間通信機能も装備し、高度な連動動作機能を提供。
14.専用A/Dコンバータによってサンプリングされた高音質のADPCMデータ
ライブラリを標準装備
15.全情報公開。ライセンスフリー。
1.3. 著作権について
法律上、日本では著作権の放棄ができませんので、著作権は作者西川善司に
保留されます。しかし、プログラムの性質上、「ZMUSIC」のオリジナルを
開発した私、西川善司は「ZMUSIC」及びこれらを支援するプログラム
(サブルーチンを含む)全ての使用権に関するライセンス権を放棄します。
よってとくに断らずに商的利用が出来ます。つまり市販だろうが同人だろうが勝手に
「ZMSC3.X」を組み込んだソフトを販売してもいいということです。
ただし、一つだけ守って欲しいことがあります。それは「ZMUSIC」の
改造についてです。改造は勿論各自に自由で行って構わないのですが、
データの完全な互換性が保持されないような改造を施した際には
バージョンID番号を$F0以上にして欲しいのです(オリジナルは$30です。
ソースリストZMSC0.HAS参照)。また、オリジナルのZMUSICで演奏できない
データフォーマットにした場合はファイルの拡張子もZMD,ZMS以外に変更して下さい。
これは混乱を防止するためです。今後のバージョンアップ版との兼ね合いも
ありますので、是非ご協力下さい。
移植に関しても自由に行って構いません(ただし、完全にコンパチでない場合は
バージョン番号をやはり$F0以上にして下さい)。
1.4. ZMDとZMS
ZMUSICシステム上での作業方法や機能の仕組みについて簡単に解説します。
ZMUSICシステム Ver.3がVer.2以前と大きく異なる点はMMLコンパイラと演奏プログラ
ムを分離したところにあります。Ver.3ではコンパイラは必要な時に呼び出され、
あるいは、ユーザの意志のもとに常駐させることができ、Ver.2以前に比べて省メモリ
を実現しています。
ZMUSICの機能を直接的に言語命令化したものがZMUSICのMMLですが、ZMUSICの機能を
別な形式で結びつければZMUSICを活用したMML以外の音楽制作環境の実現も可能です。
または、独自の文法のMMLコンパイラを制作すれば、見た目まったく別の音楽データを
演奏させることもできるのです。これがコンパイラ分離のもう一つの狙いであり利点
なのです。
ZMUSICを利用するには、その演奏プログラムを常駐させなければなりません。
具体的には
A>ZMSC3 [リターン]
のようにします。ZMSC3.Xは、ZMUSICシステムでは演奏マネージャと呼ばれ音楽の実際の
演奏やZMUSICの機能の提供を司ります。ZMSC3.Xを常駐させることによってはじめて
ZMUSICシステムの機能が使えるようになります。
次に音楽データの制作手法ですが、現時点でZMUSIC ver.3で音楽データを制作する
には、X680x0本体付属のED.Xのような何等かのテキストエディタが必要です。テキスト
エディタでMEASURE 5で解説されているようなMML(音楽記述言語)を駆使して音楽プログ
ラムを作成します。MMLにて制作した音楽プログラムをZMUSICではとくにZMSと呼んで
います。
これを演奏させるには
A>ZP3 ファイル名.ZMS
のようにします。ZP3.Rは演奏演奏データとZMSC3.Xの間を取り持つ役目を果たします。
ZP3.Rは、ZP3.Rに与えるファイルがZMSの場合、MMLコンパイラZMC.Xを起動します。
これでコンパイルを行い、音楽記述言語レベルからZMSC3.Xで実際に演奏ができる
バイナリファイルに変換します。このバイナリファイルをZMUSICシステムではZMDと
呼んでいます。
ZMC.XでZMSをあらかじめZMDに変換して保存しておくことも出来ます。
具体的には
A>ZMC ファイルネーム.ZMS
のようにします。エラーがなければZMDが作成されるはずです。このZMDがディスク上に
有るのならば
A>ZP3 ファイルネーム.ZMD
として演奏させることもでき、この場合はコンパイラを呼び出したり、コンパイル
動作などのプロセスが省略されるため即演奏が開始されます。ただし、ZMDは仕様改良に
ともなって変更される場合があるためZMSは必ず保存しておくようにしてください。
ZMDの仕様変更はありえますが、ZMSレベルでは上位互換を保証していきます。よって
通信やその他のメディアで制作した音楽を公開する場合にも、必ずZMSを添付するよう
にしてください。
ただし、冒頭で述べた独自コンパイラや独自音楽制作ツールで制作した音楽データの
場合はこの限りではありません。しかしそういったコンパイラやツールにおいても
ZMD仕様変更などに対応できるようにかなり柔軟な設計にしておくべきでしょう。
1.5. その他のZMUSIC関連ファイル
ZMDとZMS以外にZMUSICが取り扱うファイルに
(1) OPMファイル
(2) ZDFファイル
(3) CNFファイル
(4) ZPDファイル
(5) MIDファイル
(6) MDDファイル
(7) JUKファイル
があります。
(1)はX680x0付属のFM音源ドライバOPMDRV.X用の音楽データです。ZMUSICはOPMDRV.X
の上位互換であるため、OPMDRV.Xの演奏データを演奏させることが出来ます。ただし
ZMUSICはエラーチェックが厳格であるため、OPMDRV.Xでは演奏出来てもZMUSICでは
エラーとなる場合があります。その場合はエラーメッセージを参考に演奏データを
ZMUSICの文法チェックをパスするように修正しなければなりません。
(2)はLZZという名の音楽データの圧縮ツールによって圧縮された音楽データです。
このLZZはMZP.XなどのZMUSIC関連ツールを数多く制作されているNOVA氏の作品で、
ZMUSICにも対応しておりZMS,ZMD,ZPD,MDDなどを圧縮することが出来ます。ZMUSICシス
テム Ver.3ではZP3.XがこのZDFをデコードして演奏/再生することが出来ます。
(3)(4)はZMUSIC上でADPCM音を扱う場合に深く関係するファイルです。(3)はユーザが
使用する任意のADPCMデータを選択しリスト化したファイルです。(4)は(3)ファイルから
ADPCMファイルコンバータZPCNV3.Rで作成したADPCMデータのアーカイヴファイルです。
(5)はスタンダードMIDIファイル(SMF)です。ZMUSIC Ver.3ではフォーマット0のSMFを
再生することが出来ます。また、レコーディング機能によって記録した演奏、もしくは
楽器などの設定ダンプデータもSMFに変換することが出来ます。
(6)はZMUSIC Ver.2以前で扱っていたMIDIダンプデータと呼ばれる楽器などの設定を
ファイル化したテキスト型MIDIデータファイルです。Ver.3ではこちらは再生のみ行え
ます。
(7)は、ZP3.Rのジュークボックス機能で演奏させる曲目を列挙したリストファイル
です。
1.5. 本マニュアルについて
本マニュアルではZMUSIC Ver.3で新設された機能や拡張された機能を中心に取り扱い
ます。Ver.2との上位互換のためだけに残っている機能に付いてはとくに解説しませんの
でご了承ください。具体的には
・MUSICZ.FNC関数命令群
(ただしVer.3のX-BASIC外部関数であるMUSICZ3.FNCについては詳しく解説します)
・MDDファイル
(スタンダードMIDIファイル(SMF)を中心的に取り扱うことになったため)