-
Notifications
You must be signed in to change notification settings - Fork 37
/
readme_jp.txt
445 lines (345 loc) · 23.9 KB
/
readme_jp.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
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
----------------------------------------------------------------------
1. はじめに。
volca sample SDK を使って、volca sampleにサンプルデータを転送する機能を
自作のアプリケーションに組み入れることが出来ます。
volca sampleは、最大100個のサンプル・サウンドをリアルタイムに
エディットしながらシーケンスを組んでいくことで、強力なライブ・パフォーマンスが
できるサンプル・シーケンサーです。
製品についての情報は、コルグ・ホームページ(http://www.korg.com/)を
参照してください。
syrostreamとは?
volca sampleに転送することができる音声データ(いわゆるピーガー音)を
こう呼びます。
syrodataとは?
volca sampleが受信でき、syrostreamに変換する前のデータをこう呼びます。
サンプルデータ、パターンデータ、全サンプルデータ、があります。
----------------------------------------------------------------------
2. フォルダ構成
volca sample SDKには、以下のフォルダがあります。
syro : syro SDK本体で、syrostreamを生成するためのファイルがあります。
example : syro SDKを使って、syrostreamをWAV形式で保存するサンプルです。
project : syro, exampleフォルダの内容をビルドするためのプロジェクトです。
visual studio 2010用のプロジェクトファイル、及びgcc,clang用(*1)のMakefileが含まれます。
pattern : パターンデータの構造の定義、及び、パターンデータを初期化する関数があります。
alldata : 全サンプルを一括で変更する時に送信するファイルがあります。
工場出荷状態のサンプルセット及び全消去用のデータがあります。
*1 : clangの時はmake CC=clang とします。
----------------------------------------------------------------------
3. SDK を使って SyroStreamを作成または再生するには
volca sample SDKを使って、syrodataをsyrostreamに変換することができます。
3.1 使用するソースファイル。
syro フォルダにある
korg_syro_volcasample.c
korg_syro_func.c
korg_syro_comp.c
の3つのファイルが必要です。
syroの関数を呼び出したいソースファイルには、
#include "korg_syro_volcasample.h"
を追加してください。
3.2 呼び出しの手順(概要)
変換は以下の手順で行います。
a.syrodata(変換したいデータ)を準備します。
b.変換開始の関数を呼びます。
c.syrostreamのサンプルデータを1フレーム分づつ取得します。
d.変換終了の関数を呼びます。
次項以下で、それぞれの詳細を説明します。
呼び出しの手順については、 korg_syro_volcasample_example.c も参考にしてください。
3.3 呼び出しの手順について(a)
a.syrodata(変換したいデータ)を準備します。
変換可能なデータは、サンプル及びパターンです。
また、サンプルの消去を指定することもできます。この場合はsyrodataは不要です。
一度に複数のデータを送るためのsyrostreamを生成することも可能です。
データを準備したら、SyroData構造体に必要な情報をセットします。
SyroDataType DataType;
syrodataの種別を指定します。
DataType_Sample_Compress : 単一サンプルデータの変換
DataType_Sample_Erase : 単一サンプルデータの消去
DataType_Sample_AllCompress : 全サンプルデータの変換
DataType_Pattern : パターンデータの変換
が指定可能です。
単一サンプルデータを変換する場合、サンプル形式は「16ビット」「モノラル」限定となります。
24ビット等のサンプルを変換したい場合は、16ビットに変換してからsyro を呼び出してください。
全サンプルデータの変換の場合は、volca sample SDKのalldataにある、拡張子が.alldataファイルのみ指定可能です。
uint8_t *pData;
syrodataのポインタを指定します。
サンプルを消去する場合は参照されません、
uint32_t Number;
サンプル、または、パターンの番号を指定します。
サンプルの場合は 0~99を指定可能です。
パターンの場合は 0~9を指定可能です。
volca sample上のパターン番号から1引いた値を指定してください。
uint32_t Size;
syrodataのバイトサイズを指定します。
サンプルデータの場合も含め、全てのデータでバイトサイズになります。
パターンデータの場合は、0xA40固定値を設定してください。
(volcasample_pattern.hをincludeすれば、sizeof(VolcaSample_Pattern_Data)が同値になります)
サンプルを消去する場合は参照されません。
uint32_t Quality;
サンプルの有効ビット数を8~16で指定します。
サンプルデータを転送する場合、ビット数を落とすことで転送時間を短くすることが出来ます。
ここで指定する数値に関わらず、準備するサンプルデータは16ビットである必要があります。
また、volca sample上でも16ビットで保存するので、保存するサンプル時間には影響はありません。
ビット数を落とすメリットは、転送時間を短くすることのみです。
サンプルを消去する場合、及び、パターンを変換する場合は参照されません。
Endian SampleEndian;
準備したサンプルデータのエンディアンを指定します。
LittleEndianまたはBigEndianを指定します。
単一サンプルの変換時のみ参照されます。
複数のデータを送りたい場合は、SyroData構造体を配列にして、それぞれに
上記の内容をセットしてください。
同時に変換できるデータ数は110個です。
3.3 呼び出しの手順について(b)
b.変換開始の関数を呼びます。
必要な情報をセットしたら、開始関数を呼びます。
SyroStatus SyroVolcaSample_Start(
SyroHandle *pHandle,
SyroData *pData,
int NumOfData,
uint32_t Flags,
uint32_t *pNumOfSyroFrame
);
引数の内容は、以下のようになります。
SyroHandle *pHandle [out] 以降の変換を行う際に指定するハンドルを取得するポインタを指定します。
SyroData *pData [in] 3.2で準備したSyroData構造体(またはその配列)へのポインタを指定します。
int NumOfData [in] 送りたいデータの数(=準備したsyrodataの数)を指定します。
uint32_t Flags [in] 変換する時のフラグを指定します。現在は使われないので0を入れておいてください。
uint32_t *pNumOfSyroFrame [out] 変換後のSyroDataのサイズを取得するポインタを指定します。
単位は、Frame数(LR1組で1)です。
成功した場合は、戻り値にStatus_Successが返ります。
以降、変換を終了/中断する場合は、必ずSyroVolcaSample_End関数を呼んでください。
失敗した場合のエラー内容については、 3.A を参照してください。
3.3 呼び出しの手順について(c)
c.Syro streamのサンプルデータを1フレーム分づつ取得します。
サンプル取得関数を呼びます。
SyroStatus SyroVolcaSample_GetSample(
SyroHandle Handle,
int16_t *pLeft,
int16_t *pRight
);
引数の内容は、以下のようになります。
SyroHandle Handle [in] 開始時に取得したハンドルを指定します。
int16_t *pLeft [out] Lチャンネル出力用のサンプルデータを取得するポインタを指定します。
int16_t *pRight [out] Rチャンネル出力用のサンプルデータを取得するポインタを指定します。
取得したサンプルは、WAVファイル等に出力するか、そのままオーディオデバイスに出力してください。
この取得を、開始時にpNumOfSyroFrameに得られた数だけ繰り返します。
3.4 呼び出しの手順について(d)
d.変換終了の関数を呼びます。
全てのサンプルの取得が完了したら、または、途中で中断したい場合は、
SyroStatus SyroVolcaSample_End(SyroHandle Handle)
関数を呼んでください。Handleには、開始時に取得したハンドルを指定します。
3.A 各関数の戻り値 (SyroStatus) について。
関数が成功した場合は、Status_Success が返りますが、何らかのエラーが
出た場合は、以下の値が返ります。
Status_IllegalDataType 規定外のデータ形式が指定されました。
Status_IllegalData 指定されたデータの内容が異常です。
Status_IllegalParameter 指定されたデータの数が異常です。
Status_OutOfRange_Number 指定されたサンプルまたはパターンの番号が範囲外です。
(サンプル:0~99, パターン:0~9 の範囲で指定可能です)
Status_OutOfRange_Quality 指定されたビット数が範囲外です(8~16の範囲で指定可能です)
Status_NotEnoughMemory 作業のためのメモリが確保できません。
Status_InvalidHandle 無効なハンドルが指定されました。
Status_NoData データ取得の際、既にSyroStreamデータ変換が完了しています。
----------------------------------------------------------------------
4. Exampleを使って syro streamを作成する。
exampleフォルダには、volca sample SDKを使用して、syro streamをWAV形式で
生成するためのサンプルソースがあります。
このサンプルソースをビルドするためのVC2010用プロジェクト又はMakefileは、projectフォルダ内にあります。
IDE等でプロジェクトを作成する場合は、exampleフォルダとsyroフォルダにあるCソースを
読み込んで、ビルドしてください。
生成された実行ファイルはコンソールで使用しますが、その書式について説明します。
コンソールで、以下のように入力します。
>korg_syro_volcasample_example "TargetFile.wav" "SourceFile1" "SourceFile2" ......
korg_syro_volcasample_example
サンプルの実行ファイル名(実行ファイル)です。
この名前はSDK内のソースファイル名と同一と仮定したものですが、
ビルド環境での指定によっては異なる名前になっているかも知れません。
TargetFile.wav
生成されるsyrostreamのファイル名を指定します。
ファイルはWAV形式で出力されます。拡張子(.wav)まで指定してください。
ファイル名にスペースを入れる場合は、必ず"" (ダブルクォーテーション)で括ってください。
SourceFile
変換したいsyrodataのファイルを指定します。
ここで種類や番号、ファイル名を一括して指定します。
その記述について説明します。
上記同様、ファイル名にスペースがある場合は、必ず"" (ダブルクォーテーション)で括ってください。
"x17c12:filename"
TT~TT~T~~~~T~~~
|| || | +------- 変換するファイル名を指定します。
|| || | 種別に消去(e)を指定した場合は必要ありません。
|| || +------------ ファイル名との区切りとして:を記述してください 。
|| || ファイル名が不要な場合でもこれは必要です。
|| |+-------------- サンプル変換時のみの記述です。圧縮するビット数を8-16で指定してください。
|| | 省略した場合は16ビットになります。
|| +--------------- サンプル変換時のみの記述になります。
|| 転送時の圧縮を意味しますが、圧縮するデメリットはないので原則つけてください。
||
|+----------------- サンプル番号、または、パターン番号を指定します。
| サンプルの場合は0~99, パターンの場合は1~10を指定します。
| 全サンプルの変換時は指定しないでください。
+------------------ 送信するファイルの種類を指定します。
s:sample
e:erase sample
p:pattern
a:all sample
をそれぞれ意味します。
sampleを指定する場合「16ビットまたは24ビット」「モノラルまたはステレオ」の
WAVファイルに対応しています。
(記述例)
"s20c:kick.wav" サンプルファイルkick.wavを、volca sample本体の20番に転送するための
SyroStremに変換します。
"s57c12:snare.wav" サンプルファイルsnare.wavを、volca sample本体の57番に転送するための
SyroStremに変換します。また、12Bitに落として転送時間を短くします
"e27:" volca sample本体の27番のサンプルを削除するSyroStreamを生成します。
"p01:pattern1.dat" パターンデータ pattern1.dat を、volca sample本体の1番に転送するための
SyroStremに変換します。
"ac:volcasample_preset.alldata" 全サンプルデータ volcasample_preset.alldata を転送するための
SyroStremaに変換します。
これらの指定を複数並べて書くこともできます。
----------------------------------------------------------------------
5. パターンデータの構造
SYRO for volca sampleではパターンデータも送ることが出来ますが、
volca sampleからパターンデータを受信する方法がないため、送信する
パターンデータを作成する必要があります。
ここでは、パターンデータの構造について簡単に説明します。
パターンデータの構造は、volcasample_pattern.hファイル内の、
構造体VolcaSample_Pattern_Data で定義されています、
以下に、それぞれのメンバの内容を説明します。
パターンデータへの16Bit及び32Bit変数の格納は、LittleEndian形式で行ってください。
メンバ名が、Reserved または Padding とあるものは意味を持ちませんので説明を省略します。
uint32_t Header;
uint16_t DevCode;
volca sampleのパターンであることを識別するためのフィールドです。
それぞれ、0x54535450、0x33b8を設定してください。
(VOLCASAMPLE_PATTERN_HEADER、VOLCASAMPLE_PATTERN_DEVCODEで定義されています)
uint16_t ActiveStep;
Active Step のOn/Offをbitmapで示します。
ステップ 1~16がBit0~15に対応しており、0=Off,1=Onになります。
初期状態では0xffff(全部ON)にします。
製品仕様上、0を設定することはできません。
VolcaSample_Part_Data Part[VOLCASAMPLE_NUM_OF_PART];
各パートのデータで、パート1~10が Part[0]~Part[9]に対応します。
内容は後述します。
uint32_t Footer;
volca sampleのパターンであることを識別するためのフィールドです。
0x44455450 を設定してください。
(VOLCASAMPLE_PATTERN_FOOTER で定義されています)
各パートのデータは、 VolcaSample_Part_Data構造体で定義されています。
以下に、それぞれのメンバの内容を説明します。
uint16_t SampleNum;
パートで使用するサンプル番号を指定します。
0 ~ 99が指定可能です。
uint16_t StepOn;
各ステップのOn/Offをbitmapで示します。
ステップ 1~16がBit0~15に対応しており、0=Off,1=Onになります。
uint16_t Accent;
このパラメータはvolca sampleで操作できないので、0を設定してください。
uint8_t Level;
このパラメータはvolca sampleで操作できません。最大を示す127を設定してください。
uint8_t Param[VOLCASAMPLE_NUM_OF_PARAM];
ノブパラメータ位置の状態を示します。
配列の番号とパラメータの関係性は以下のようになります(カッコ内は初期値です)
0 : LEVEL 0~127 (127)
1 : PAN 1~127, 64=Center (64)
2 : SPEED 40~88, 64=Center (64) *Func+Speedノブ操作時=Note単位
129~255, 192=Center *Speedノブ操作時
3 : AMP EG ATTACK 0~127 (0)
4 : AMP EG DECAY 0~127 (127)
5 : PITCH EG INT 1~127, 64=Center (64)
6 : PITCH EG ATTACK 0~127 (0)
7 : PITCH EG DECAY 0~127 (127)
8 : START POINT 0~127 (0)
9 : LENGTH 0~127 (127)
10: HI CUT 0~127 (127)
これらの番号は、VOLCASAMPLE_PARAM_xxxxでも定義されています。
uint8_t FuncMemoryPart;
パートの各種On/Off設定をbitmapで示します。
各bitとパラメータの関係性は以下のようになります。
bit0 : Motion On/Off
bit1 : Loop On/Off
bit2 : Reverb On/Off
bit3 : Reverse On/Off
bit4 : Mute On/Off (1=Onが音が鳴る状態です)
これらの番号は、VOLCASAMPLE_FUNC_BIT_xxxxでも定義されています。
uint8_t Motion[VOLCASAMPLE_NUM_OF_MOTION][VOLCASAMPLE_NUM_OF_STEP];
モーションデータを示します。
1つめの[]でモーションデータの種類、2つめの[]でステップ番号を示します。
1つめの[]の番号とモーションの種類の関係性は以下のようになります。
0 : LEVEL (始点)
1 : LEVEL (終点)
2 : PAN (始点)
3 : PAN (終点)
4 : SPEED (始点)
5 : SPEED (終点)
LEVEL,PAN,SPEEDの3つのパラメータについては、1ステップ内に
始点・終点の2カ所の値を記録してあり、ステップ再生時になめらかに
なるよう補間する動きをしています。
6 : AMP EG ATTACK
7 : AMP EG DECAY
8 : PITCH EG INT
9 : PITCH EG ATTACK
10: PITCH EG DECAY
11: SATRT POINT
12: LENGTH
13: HI CUT
モーションとして設定する値は、
・SPEED以外 ノブパラメータ+128
・SPEED ノブパラメータそのまま
になります。いずれの場合も、0=モーションデータなし、の意味になります。
volcasample_pattern.cには、パターンデータを初期化する関数、
void VolcaSample_Pattern_Init(VolcaSample_Pattern_Data *pattern_data)
を用意しています。
上記パラメータの識別データの設定や各パラメータの初期値設定を行いますので
必要に応じて呼び出してください。
----------------------------------------------------------------------
6. volca sampleへの転送方法について。
volca sampleのシステムバージョンは Ver 1.22 以降にアップデートして使ってください。
アップデーターについては、コルグ・ホームページ
http://www.korg.com/
を参照してください。
システムバージョンは、[REC]ボタンを押しながら起動することで確認できます。
[REC]ボタンを押しながら起動すると、以下の表示を繰り返します。
x.yy → システムバージョンです。
Px.yy → パネルバージョンです。
Sx.yy → サンプルバージョンです。
x.yyの部分は、バージョン番号が表示されます
このうち、システムバージョンが1.00と表示されている場合は、
アップデートが必要になります。
パネル及びサンプルのバージョンはSyroを使う上では関係ありません。
PC等の再生機のAudio Out端子と、volca sampleのSYNC IN端子をステレオケーブルで
接続し、syroで生成されたオーディオデータを再生します。
この時、再生機側の音量は最大にしてください。
!!注意!!
絶対にSyroのオーディオデータをスピーカーで鳴らしたりヘッドホンで聞いたりしないでください。
機器の故障や耳を傷める原因になります。
volca sampleは信号を検出したら、ディスプレイに [dAtA] [種別] を交互に
表示し、受信モードに切り替わります。
受信が完了したら、 [End ]と表示されます。
エラーが出た場合は、[Err ] [種別] を交互に表示し、ノブが点滅します。
[End ]または[Err ]が表示されている状態で、[FUNC]を押すと、通常動作に戻ります。
6.1 受信中のデータ表示について。
受信中は[dAtA][種別]を交互に表示しますが、この種別について列記します。
S.000 ~ S.099 : サンプル0~99を受信中です。
P.001 ~ P.010 : パターン1~10を受信中です。
E.000 ~ E.099 : サンプル0~99を消去中です。
ALL : 全サンプルを受信中です。
パターンの受信は、volca sampleの保存メモリに対して行われます。
パターンを受信したら、そのパターンを本体操作で読み込んでください。
サンプル転送中にエラーが出た場合、その番号のサンプルが消えてしまうことがあります。
また、全サンプルの転送中にエラーが出た場合、サンプルが1つもない状態になります。
これらの場合は、再度サンプルを転送しなおしてください。
6.2 エラー表示について。
エラーが出た場合は、以下の点について確認してください。
・再生機とvolca sampleの接続は正しく行われているか?
ケーブルは必ずステレオケーブルを使ってください。
・再生機の音量は最大になっているか?
・[Err ][tyPE] が出る場合は、volca sampleのシステムバージョンが最新かどうか確認してください。
・[Err ][FuLL] が出る場合は、volca sampleのサンプルメモリの空きが不足しています。
この場合は。volca sampleの操作でサンプルを削除してください。
・[Err ][btLo] が出る場合は、電池の容量を確認してください。
その他、特定のサンプルでエラーを繰り返す等の場合は、
https://github.com/korginc/volcasample/issues
で問い合わせて頂くか、同様の質問を検索してみてください。