【解説】
要は上のようなテキストファイルを吐き出せればどんなスクリプトでもいいんだyo(ぶっちゃけ笑)
まずはパッチグループファイルの中身を解説するyo
改行がなくても機能するけど、わかりやすくするために改行を入れて表示するne
♦マーク以降に各行の意味をコメントしていくyo
<PatchSet>
<Product>G3</Product>
<Version>1</Version>
<Name>G3PMMM</Name> ♦こっちはパッチグループ全体の名前だyo
<Patches>
<PatchData>
<Name>Patch1</Name> ♦こっちは各パッチの名前だyo
<Tooltip></Tooltip> ♦ここに何か書き込むとEdit&Share上で表示できるyo
<Keywords></Keywords>
<Version>1.12</Version>
<Module0> ♦先頭のエフェクトユニットがModule0になるyo ここでは歪みペダルが入ってるyo
<Prm0>1</Prm0> ♦エフェクトがONなら1、OFFなら0
<Prm1>74</Prm1> ♦エフェクトユニットの内部番号が入るyo マニュアルにのってる番号とは違うので注意!
<Prm2>21</Prm2> ♦先頭パラメータの値が入るyo パラメータの順番はマニュアル掲載順どおりだyo
<Prm3>42</Prm3> ♦2番目のパラメータの値
<Prm4>90</Prm4> ♦3番目のパラメータの値
<Prm5>0</Prm5> ♦それ以降のパラメータが入るyo なければ0でいいし、タグ自体省略でもいいyo
<Prm6>0</Prm6>
<Prm7>0</Prm7>
<Prm8>0</Prm8>
<Prm9>0</Prm9>
</Module0>
<Module1> ♦2つ目のユニットがModule1になるyo ここではアンプモデルが入ってるyo
<Prm0>1</Prm0> ♦ONなら1、OFFなら0
<Prm1>97</Prm1> ♦97番はVX COMBOだne
<Prm2>63</Prm2> ♦Gainが63ってことだyo
<Prm3>30</Prm3> ♦Tubeが30だze
<Prm4>61</Prm4> ♦Levelが61。あくまでマニュアル掲載順だから注意してne
<Prm5>45</Prm5> ♦Bass
<Prm6>53</Prm6> ♦Middle
<Prm7>62</Prm7> ♦Treble
<Prm8>23</Prm8> ♦Presence
<Prm9>0</Prm9> ♦Cabinetがここだyo 0番なのでFD COMBOのキャビだne
</Module1>
<Module2> ♦3つ目のユニットがModule2になるyo ここではリバーブが入ってるyo
<Prm0>1</Prm0> ♦以降、上と同様に各要素を指定するyo
<Prm1>61</Prm1>
<Prm2>13</Prm2>
<Prm3>1</Prm3>
<Prm4>77</Prm4>
<Prm5>0</Prm5>
<Prm6>85</Prm6>
<Prm7>0</Prm7>
<Prm8>0</Prm8>
<Prm9>0</Prm9>
</Module2>
<Module3> ♦Module3ではトータル設定を記述するyo
<Prm0>60</Prm0> ♦パッチ音量がここに入るyo
<Prm1>0</Prm1> ♦外部フットスイッチを使うときはここに記述するyo
<Prm2>0</Prm2> ♦外部フットスイッチ選択が複数あるときはここに0か1が入るyo
<Prm3>3</Prm3> ♦外部エクスプレッションペダルのアサイン先がここに入るyo
<Prm4>0</Prm4> ♦エクスプレッションペダルの最小値が入るyo
<Prm5>100</Prm5> ♦エクスプレッションペダルの最大値が入るyo
</Module3>
</PatchData>
PatchDataタグではさまれている部分が1個分のパッチのデータだyo
パッチグループファイルはこれを個数分繰り返して、最後に
</Patches></PatchSet>
で締めるという構造だyo
G3はこれだけで動くので最初はG3から研究することをお勧めするyo
G5になるとZペダル関係の指定がかなりややこしくなるので、まずは基本をしっかり把握していないと
理解できないだろうからねw(忠告笑)
では次にG3の各ユニットの内部番号を掲載しておくyo
マニュアルに載ってる番号とは別のものだからくれぐれも注意してne
M-Filter=1 |
The Vibe=2 |
Z-Organ=3 |
Slicer=4 |
PhaseDly=5 |
FilterDly=6 |
PitchDly=7 |
StereoDly=8 |
BitCrush=9 |
Bomber=10 |
DuoPhase=11 |
MonoSynth=12 |
SeqFLTR=13 |
RndmFLTR=14 |
WarpPhase=15 |
TrigHldDly=16 |
Cho+Dly=17 |
Cho+Rev=18 |
Dly+Rev=19 |
Comp+Phsr=20 |
Comp+Awah=21 |
FLG+Vcho=22 |
Comp+OD=23 |
Comp=24 |
RackComp=25 |
M Comp=26 |
SlowATTCK=27 |
ZNR=28 |
NoiseGate=29 |
DirtyGate=30 |
GraphicEQ=31 |
ParaEQ=32 |
CombFLTR=33 |
AutoWah=34 |
Resonance=35 |
Step=36 |
Cry=37 |
Octave=38 |
Tremolo=39 |
Phaser=40 |
RingMod=41 |
Chorus=42 |
Detune=43 |
VintageCE=44 |
StereoCHo=45 |
Ensemble=46 |
VinFLNGR=47 |
DynaFLNGR=48 |
Vibrato=49 |
PitchSHFT=50 |
BendCho=51 |
MonoPitch=52 |
HPS=53 |
Delay=54 |
TapeEcho=55 |
ModDelay=56 |
AnalogDly=57 |
ReverseDL=58 |
MultiTapD=59 |
DynaDelay=60 |
Hall=61 |
Room=62 |
TiledRoom=63 |
Spring=64 |
Arena=65 |
EarlyRef=66 |
Air=67 |
PedalVox=68 |
PedalCry=69 |
PDL Pitch=70 |
PDL MnPit=71 |
Booster=72 |
OverDrive=73 |
T Scream=74 |
Governor=75 |
Dist +=76 |
Dist 1=77 |
Squeak=78 |
FuzzSmile=79 |
GreatMuff=80 |
MetalWRLD=81 |
HotBox=82 |
Z Wild=83 |
Lead=84 |
ExtremeDS=85 |
Aco.Sim=86 |
Z Clean=87 |
Z MP1=88 |
Z Bottom=89 |
Z Dream=90 |
Z Scream=91 |
Z Neos=92 |
FD COMBO=96 |
VX COMBO=97 |
US BLUES=98 |
BG CRUNCH=99 |
HW STACK=100 |
TANGERINE=101 |
MS CRUNCH=102 |
MS DRIVE=103 |
BG DRIVE=104 |
DZ DRIVE=105 |
TW ROCK=106 |
MATCH 30=107 |
FD VIBRO=108 |
HD Reverb=109 |
Flanger=110 |
あとはブラウザでソースを表示させて中身を見れば、たくさん説明コメントをつけてるからわかると思うyo
1つだけ、パラメータの「Max序列値」が勘違いしやすいところなので解説しておくyo
G3のパラメータの値は種類によってさまざまな範囲から選ばれるんだけど、パッチファイル上では
一番低い値を「0」として、そこから順番に「1」「2」と換算してデータを書き込む仕様だyo
だから、たとえばパラメータの範囲が0〜100の場合は完全に同じ数値がはいるけれど、
範囲が1〜100の場合は1引いた値をデータに入れないといけないyo
ほかにも、範囲が-10〜+10の場合は10たした値を入れないといけないし、
範囲が「-10〜-1、1〜10」というように0を含まない場合は、+1が10、+10が19という値になるyo
数値ではなく、「slow, fast」というように文字列でマニュアルにのっている場合は、
先頭から0,1,,,,という順番の値になるyo
そうやって得られる最後の値の数値のことを「Max序列値」と呼んでるyo
0〜Max序列値でランダムな数を出せば、そのパラメータがとりうる値の範囲で
ランダムな設定を得られるというわけsa
データベース関数は基本的にこの「Max序列値」を利用しているんだということを覚えておいてne
ほかにも例外事項はいっぱいあるけど、あとは各自がバグりながら理解していきなyo(苦労笑)