-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathzm06.txt
More file actions
467 lines (281 loc) · 17.3 KB
/
zm06.txt
File metadata and controls
467 lines (281 loc) · 17.3 KB
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
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
MEASURE6
ZPCNV3.RとZPLK.R
ここではZMUSIC Ver.3.0での(AD)PCMデータの取り扱いと、
支援ツール「ZPCNV3.R」「ZPLK.R」について解説します。
6.1. はじめに
ZMUSIC Ver.3.0には起動時(AD)PCMデータは一つもプリセットされて
いない。そのため(AD)PCM音を鳴らすためには鳴らしたい(AD)PCMファイルを
登録することが必要になる。
ZMUSIC Ver.3.0では(AD)PCMの登録形式は「トーン形式」「音色方式」の
2つがある。「トーン形式」はVer.2.0以前から有る形式で、鍵盤1つ1つに
任意の音声データを割り当てていくもの。「音色方式」はVer.3.0になって
新設された形式で、MPCM.Xを常駐時にのみ有効になる。これは音声データを
1つ登録しておけば、これを自在に音程変換して発音することが出来る方式だ。
トーン形式(またはVer.2.0以前)では例えばピアノの音でド・レ・ミを演奏する
にはド・レ・ミの3つの音程の音を用意してZMUSICに登録しなければならな
かったが、「音色方式」ではドの音を用意して、「この音はド」と指定して
登録すればド・レ・ミはもちろん、任意の音程の音が発音出来るようになる。
一方、ZMUSIC Ver.3.0に(AD)PCMデータを渡す手段は3通りあり、1つは
(AD)PCM登録コマンドをミュージック・プログラムに直接記述していく方法。
2つめは(AD)PCM登録ZMSコマンドを記述したファイルをエディタ(ED.X等)で
作成しこのファイルを渡す方法である。
3つ目はそのファイルをZPCNV3.RでZPDファイルにコンバートして、これを
ZMUSIC Ver.3.0に渡す方法である。
6.2. (AD)PCMコンフィギュレーションファイル
(AD)PCM登録ZMSコマンドを箇条書きにしたファイルを、特に
「(AD)PCMコンフィギュレーションファイル」と呼び、これをZMUSIC Ver.3.0へ
受け渡すことで(AD)PCMデータを登録することができる(奨励ファイル拡張子は
'.CNF')。
・コンフィギュレーションファイルの例
-------------------------------------------------------------------------------
.o1b conbd.pcm,v50
.o2e nnsdd.pcm,v70
.o3g+ cowbell1.pcm,v60
.o3a Acrash.pcm
.o4g agohi.pcm
.o5a triangle.pcm
.16bitPCM_TIMBRE 0,61,A#3
{
FHRNA#3at.P16
.CONNECT FHRNA#3LP.P16
.v50
}
.16bitPCM_TIMBRE 0,65,A#5
{
asxa#5at.P16
.CONNECT asxa#5lp.P16
.v50
}
.16bitPCM_TIMBRE 0,17,b2
{
porgb2at.p16
.CONNECT porgb2lp.p16
.V40
}
.ADPCM_TIMBRE 0,39,c2 {EBASS303.PCM,v60}
.ADPCM_TIMBRE 0,62,e4 {BRASS_E4.PCM}
.ADPCM_TIMBRE 0,49,c5 {strsbc.pcm}
.ADPCM_TIMBRE 0,13,d3 {mrmba_d3.pcm,v80}
.ADPCM_TIMBRE 0,5,c6 {prel_c6.pcm,v50}
.ADPCM_TIMBRE 0,59,c2 {tuba.pcm,v30}
.ADPCM_TIMBRE 0,73,b4 {ahbr.pcm,v50}
.ADPCM_TIMBRE 0,23,c4 {harmonica.pcm,v60}
-------------------------------------------------------------------------------
6.3.(AD)PCMコンフィギュレーション・ファイルの登録方法
MUSICZ3.FNCを組み込んだX-BASIC上から指定したい場合には関数
zm_pcm_read()
を使う(MEASURE3参照)。
ZMS中に指定したい場合はZMSコマンド
.ADPCM_LIST filename
を用いる(MEASURE4参照)。
また、演奏データのように
A>copy (AD)PCMコンフィギュレーション・ファイルネーム ZMS
としたり
A>zp (AD)PCMコンフィギュレーション・ファイルネーム
としたりして、演奏データを演奏するような操作でZMUSIC Ver.3.0へ登録することも
可能(MEASURE7参照)。こちらの場合は曲がたとえ演奏中であってもリアルタイムに
(AD)PCMセットを変更することが出来る。
また、ZMUSIC Ver.3.0常駐スイッチの'-S'を用いて
A>ZMSC3 -Sdrum.cnf (拡張子の省略は不可)
のように常駐時に(AD)PCMコンフィギュレーション・ファイルを登録することも出来る。
6.4. ZPCNV3.RとZPD
6.4.1.ZPDの作成方法
ZPCNV3.Rは、6.1.で解説したコンフィギュレーションファイルに従って必要な
(AD)PCMデータをひとつのファイルにまとめるプログラムである。ひとまとめにする
際に音程音量変換、合成作業といった各種加工処理もしてしまうため、実際の
(AD)PCMデータの登録処理にかかる時間は極めてゼロに近い((AD)PCMコンフィギュ
レーション・ファイルをZMUSIC Ver.3.0へ渡す方式では1個1個のデータを読み込み、
それから加工処理を行ったりするため、大量の(AD)PCMデータを登録する場合には
処理が終了するまで長時間待たされることがある)。
ZPCNV3.Rは、加工処理ルーチンやその際に使用するワークは独自に備えているため
実行にはZMUSIC Ver.3.0の常駐は必要ない。
ZMUSIC Ver.3.0では(AD)PCMコンフィギュレーション・ファイルをもとにひとまとめ
にしたこのデータを(AD)PCMブロックデータ、「ZPD」と呼ぶ。
例えばfilename1.CNFで表されるコンフィギュレーションファイルをZPDに変換したい
場合は
A>ZPCNV3.R filename1 filename2
とする。filename1を指定する際、拡張子を省略すると'.CNF'が自動添付される。
filename2は作成するZPDのファイル名でこちらは省略することが可能。
省略時はfilename1に拡張子'.ZPD’を付けたものがfilename2として与えられる。
6.4.2.ZPCNV3.Rのコマンドオプション
現在ZPCNV3.Rに有効なコマンドオプションは以下の1つのみ。
----------------------------------------
■日本語メッセージの表示
----------------------------------------
●日本語メッセージの表示
-J
ZPCNV3.Rが出力するメッセージを日本語にする。本コマンドオプションは
必ずコマンドラインの先頭に記述しなければ有効とならない。
例
A>ZPCNV3 -j STD_SET.CNF STD_SET.ZPD
----------------------------------------
6.4.3.環境変数について
環境変数'zpcnv3_opt'に通常よく設定するコマンドオプションを予め設定しておく
ことが出来る。
例えば、常に日本語メッセージでメッセージ出力を行いたい場合は
AUTOEXEC.BATなどに
SET zpcnv3_opt=-J
と設定しておく。そうすれば
A>ZPCNV3 STD_SET.CNF STD_SET.ZPD
と実行しただけでも -J が追加された
A>ZPCNV3 -J STD_SET.CNF STD_SET.ZPD
として実行される。
6.5. ZPDのZMUSIC Ver.3.0への登録法
MUSICZ3.FNCを組み込んだX-BASIC上から指定したい場合には関数
zm_register_zpd()
を使う(MEASURE3参照)。
ZMS中に指定したい場合はZMSコマンド
.ADPCM_BLOCK_DATA filename
.ZPD filename
を用いる(MEASURE4参照)。
また、通常の演奏データのように
A>copy filename ZMS
としたり
A>zp filename
としたりして、通常の演奏データを演奏させるような手法でもZMUSIC Ver.3.0へ登録
することができる(MEASURE7参照)。こういった手段で登録する場合は、曲がたとえ
演奏中であってもリアルタイムにZPDを変更することが出来る。
また、ZMSC3.Xの常駐スイッチの'-Z'を用いて
A>ZMSC3 -Zdrum_set.zpd (拡張子の省略は可能)
のように常駐時にZPDを登録することも出来る。
6.6.PCMファイルリンカ「ZPLK.R」
ZPLK.RはZMUSIC Ver.2.0から追加された(AD)PCMデータの加工・リンクツール
である。以下にその特徴を示す。
6.6.1.その機能と特長
・最大32個の複数のファイルをつなげて1つのファイルにして出力できる。
1つのファイルにつき最大65535回の反復指定が可能。反復パターンは4種類。
・単一(AD)PCMファイルをいくつもつなげて1つの大きな(AD)PCMファイルにすること
が可能。
・入力ファイルとして16ビットPCMファイル、ADPCMファイルを与えることが
できる。混在も可能。
・リンク作業の前に、各入力ファイルのデータ形式コンバートを行なうことが
できるので16ビットPCMに(AD)PCMファイルをリンクさせたり、その逆も
行える。
・出力ファイルはその出力直前に16ビットPCMデータコンバート、
(AD)PCMデータコンバート、逆転再生、音量変換、周波数変換、ポルタメント、
エンベロープ変更など多彩な加工処理を行なう事ができる。
・インパルス・データを与えることにより、「たたみ込み演算」を行なうことが
できる。したがって、任意の音声データに対してホールの残響効果やボコーダ処理
などの本格的なエフェクト処理をすることができる。
6.6.2.ZPLK.Rのコマンドオプション
ZPLK.R <[オプション1] 入力ファイル1> [[オプション2~32] 入力ファイル2~32] <出力ファイル名>
入力ファイルネームは最低1個は必要となる。書き込みファイル名は'PCM'に
設定するとファイルを書き出さず、音声として出力できる(ZMSC3.XやPCMDRV.SYS
組み込み時)。ファイルネームの指定は拡張子やパスの省略をせずきちんと書くこと。
ファイルがカレントより見つからない場合は環境変数'zmusic'に書かれたパスに
したがってファイルを検索する。
●コマンドオプション
-A 出力ファイルを出力する前にそのデータを16ビットPCMデータと
見なして(AD)PCMデータへ変換する。
-Bs,d,p,s 出力ファイルを出力する前にそのデータを16ビットPCMデータと
見なしてポルタメントを行なう。(連続的に滑らかに周波数変更を行なう。)
s 開始時の周波数をs[Hz]とみなす。ただしsは1~65535。
d 終了時の周波数をd[Hz]とする。ただしdは1~65535。
p 出力ファイルのpバイト目から周波数変換を行なう。省略時はp=0。
s 変換するサイズをsバイトとする。省略時はpで指定された位置から
後ろ全部を変換対象領域とする。pも省略した場合は出力全域に対して
変換処理を施す。
-Cp,s 出力ファイルを出力する前にそのデータの任意の一部分を摘出しそれを
出力する。
p 出力ファイルのpバイト目から切り出す。省略時はp=0。
s 切り出すサイズをsバイトとする。省略時はpで指定された位置から
後ろ全部を切り出す。pも省略した場合はエラーとなる。
-Fs,l,m 出力ファイルを出力する前にそのデータを16ビットPCMデータと
見なしてエンベロープの形状を変化させる。
s 出力ファイルのsバイト目からエンベロープ形状を変更する。
省略時はs=0。
l エンベロープ形状初期音量(m=0時)/最終音量(m=1時)を0~127の128段階で
設定する。省略時はl=0。
m エンベロープの変更パターンを設定する。省略時はm=1
0 フェード・イン・タイプ
1 フェード・アウト・タイプ
-Ifilename インパルスデータのファイルネームを与えると出力ファイル出力する前に
そのデータとのたたみ込み演算を行なう。ただし、与えられたファイルネームの
拡張子を'.P16'とした場合はそのインパルスデータを16ビットPCMデータ、
'.PCM'とした場合は(AD)PCMデータとしてみなす。
-P 出力ファイルを出力する前にそのデータを(AD)PCMデータと見なして
16ビットPCMデータへ変換する。
-R 出力ファイルを出力する前にそのデータを16ビットPCMデータと
見なして逆転させる。
-Vn 出力ファイルを出力する前にそのデータの音量をパーセント単位で
指定する。nの範囲は0~300。スイッチ無指定や値省略時は100とする。
-Ti,o,p,s 出力ファイルを出力する前にそのデータを16ビットPCMデータと
見なして周波数の変更を行なう。
i 元の周波数をs[Hz]とみなす。ただしsは1~65535。
o 変換後の周波数をd[Hz]とする。ただしdは1~65535。
p 出力ファイルのpバイト目から周波数変換を行なう。省略時はp=0。
s 変換するサイズをsバイトとする。省略時はpで指定された位置から
後ろ全部を変換対象領域とする。pも省略した場合は出力全域に対して
変換処理を施す。
-Xl,r,t リンク制御
l ループタイプの設定。省略時 l=0。
0 そのまま。
1 正順、逆順の順にループさせる。
2 逆順、正順の順にループさせる。
3 入力ファイルの逆順をループさせる。
r 反復回数の設定。省略時 r=1。範囲1~65535。
t リンク作業の前に入力ファイルに対して加工を行なう。省略時 t=0。
0 何も行なわない。
1 入力ファイルを16ビットPCMデータと見なして(AD)PCMデータへ
変換する。
2 入力ファイルを(AD)PCMデータと見なして16ビットPCMデータへ
変換する。
●使用例
A>zplk a.p16 -x0,10 b.p16 -a c.pcm
a.p16 というファイルの後ろに b.p16 を10回くっつけて、
ADPCMへコンバートし c.pcm というファイル名でセーブする。
A>zplk -x0,5 a.p16 -x,,2 b.pcm -v80 c.p16
a.p16 というファイルを5回繰り返し、これに b.pcm を16ビットPCMへ
変換したものをくっつけて、それを音量を80%に設定し c.p16 という
ファイル名でセーブする。
【注意】
複数の変換を指定した場合は以下の手順で各変換を行なう。
┏━━━━━━━━━━━━━━━━━━━━━━┓
┃ 音量変更周波数変換 ┃
┃ ↓ ┃
┃ ポルタメント ┃
┃ ↓ ┃
┃ 切り出し ┃
┃ ↓ ┃
┃ 逆転 ┃
┃ ↓ ┃
┃ フェード・イン/フェード・アウト ┃
┃ ↓ ┃
┃ インパルス演算 ┃
┃ ↓ ┃
┃ 16ビットPCM/(AD)PCM変換 ┃
┗━━━━━━━━━━━━━━━━━━━━━━┛
●パラメータの特殊設定
周波数変換(-Tスイッチ)、ポルタメント変換(-Bスイッチ)において、2つの
周波数パラメータの設定をするかわりにZMUSIC Ver.3.0システムのZMSコマンド表記に
近い半音ステップの変換パラメータを設定することもできる。
この指定を行うには、'-T','-B'のオプションコマンドの後ろにさらにサブスイッチ
'p'(大文字可)を書いてから変換値を設定する。
例えば、ある音を半音下げたい時には
-Tp-1
また、半音上げたい時は
-Tp+1
とする。
また、ポルタメントの時も同様で
-Bp-10
-Bp+6
といった記述ができる。サブスイッチ'p'の値の範囲は-144~+144(ただし0は除く)。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 国際基準イ=a1=440Hzに基づく12平均率音階周波数表 ┃
┃ (試験に出るX1より転載) ┃
┃ (単位はHz) ┃
┃ O0 O1 O2 O3 O4 O5 O6 O7 O8 ┃
┃C 16.352 32.703 65.406 130.81 261.63 523.25 1046.5 2093.0 4186.0┃
┃C# 17.324 34.648 69.296 138.59 277.18 554.37 1108.7 2217.5 4434.9┃
┃D 18.354 36.708 73.416 146.83 293.66 587.33 1174.7 2349.3 4698.6┃
┃D# 19.445 38.891 77.782 155.56 311.13 622.25 1244.5 2489.0 4978.0┃
┃E 20.602 41.203 82.407 164.81 329.63 659.26 1318.5 2637.0 5274.0┃
┃F 21.827 43.654 87.307 174.61 349.23 698.46 1396.9 2793.8 5587.7┃
┃F# 23.125 46.249 92.499 185.00 369.99 739.99 1480.0 2960.0 5919.9┃
┃G 24.500 48.999 97.999 196.00 392.00 783.99 1568.0 3136.0 6271.9┃
┃G# 25.957 51.913 103.83 207.65 415.30 830.61 1661.2 3322.4 6644.9┃
┃A 27.500 55.000 110.00 220.00 440.00 880.00 1760.0 3520.0 7040.0┃
┃A# 29.135 58.270 116.54 233.08 466.16 932.33 1864.7 3729.3 7458.6┃
┃B 30.868 61.735 123.47 246.96 493.88 987.77 1975.5 3951.1 7902.1┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛