u-he Zebra3 Texture (FX)
Mutable Instruments Cloudsにインスパイアされたエフェクトで、グラニュラーとリバーブで構成されている。 その機能から、シンセ内蔵エフェクトとしては少し大げさな印象を受けるが、Zebra3の可能性を広げてくれることは間違いない。 直感的とは言い難い複合的かつ複雑な振る舞いをし、u-heエフェクトとしては異彩を放つ。
構造としてはグラニュラー処理後にリバーブをかけるという流れ。 入力オーディオの短い部分がリングバッファに保存され、そこからグレインが連続的に生成される。 またFreezeを使って音を保持することも可能で、リアルタイムパフォーマンスにも威力を発揮する。

下がユーロラックのハードウェアモジュールMutable Instruments Clouds。 パフォーマンス重視のデジタルモジュールで、昔の音作りのためのアナログモジュラーシンセとは大きく違っている。

グラニュラー予備知識
大前提として、まずグラニュラーを理解している必要がある。 以前サウンドハウスでグラニュラー合成の記事を書いたのでリンクを張っておく。 音サンプルのない記事なので分かりにくいけど・・・
蠱惑の楽器たち 72. 電子音源の仕組み12 グラニュラー合成
Textureはグラニュラーをエフェクトとして扱っているが原理は同じ。
Texture(Granular)Parameters

あまり見かけないパラメータが並ぶが、動作的にはディレイの拡張と考えてよいと思う。 構造と信号の流れを理解しないと、何が起きているか分からないモジュールかもしれない。 ベータ版のUIはパラメータの関係が把握しにくいので、あまりよいとは言えない・・・
流れとしては、まず入力信号を2秒間のバッファに入れている。これはリングバッファのディレイラインで、通常のディレイと変わらないが、TextureではFreezeという、バッファの入力を切ってしまうボタンがある。 つまり、Freezeしたら、現在のバッファは更新されず、ループすることになる。 ただし、その後の操作は可能なので単なるループではない。
そしてバッファからグラニュラーという単位に細切れにしてから、取り出し、合成する。 取り出し位置、サイズ、形状、合成方法のパラメータもあるので、ややこしく、慣れないと全体像を掴めないと思う。
リングバッファーを図にしてみた。各箱には2000ms分のサンプルを入れ、ぐるぐる回っているイメージ。 書き込み位置は固定で、常に新しいサンプルが入り、古いものを書き換える。 Freezeボタンで、書き込みと回転が停止し、現在バッファに溜められた音が利用される。 一方読込側は、どの位置からでも可能。またSizeも1~2000msまでの自由度がある。 読み込んだ後は、加工されグラニュラーとして出力される。

Size 1~100(20~2000ms)

バッファから取り出す際、個々のグレインのサイズを調整する。 Densityの値に影響する。 実験してみると、最大Size=100でバッファサイズと同等になり、おそらく2000msだと思う。 最小Size=1では20ms程度となった。単純にSize x 20msという計算でよさそうだ。

Shape 0~100

個々のグレインの包絡線を調整。

Stereo 0~100

音粒をステレオ空間にランダムに配置する。 下に分かりやすいStereo=100の例を示す。 グレイン単位でランダムに左右のどこかに定位する。
Feedback 0~100

入力に戻すフィードバック。 0にすると1回だけTexture内を通す。 Positionの値に応じたリピートが行われる。 Position x 20msとして計算できる。 下図の上段はFeedback=0、Position=50なので、1秒後に1回だけ生成されている。グラニュラー部の波形はグレインが分かりやすいように設定してある。 下段は同じような設定で、Feedback=50だけ変更。リピートのたびにレベルは減衰しているのが分かる。

イメージとしては、普通のディレイのWet成分がグレイン化したと思えば理解しやすい。 ただし、最もシンプルな設定の場合に限る。
Position
バッファー読み出し位置とそのオプションのパラメータ。

Position 0~100(0~2000ms)
バッファ内のグレイン生成位置を設定する。 バッファはおそらく2000msで、1=20ms、最大2000ms。 通常使用においてはWetが鳴りだすタイミングになり、ディレイタイムのようにも扱える。
下記はFeedback=0で、Positionをそれぞれ動かしてみた状態。1.0で鳴っているのがDryで、それ以降がグラニュラーのWetとなっている。

Scatter 0~100
Positionのオプション的パラメータ。 グレインごとにバッファの位置をランダムにシフト。
下サンプルは、ドレミをバッファにぎっちり格納してからFreezeさせ、初めはScatter=0にして、特定位置から読み出し、徐々に100へ回している。最後の方はランダムに読み出しするので、様々な音程が出現し、音も途切れたりしている。
Direction 0~100%
Positionのオプション的パラメータ。 グレインが前方に読み出される確率。 デフォルトの100%はすべてのグレインが前方に読み出されることを意味し、値を下げると一部が逆方向に読み出される。 0.00はすべてのグレインが逆方向に読み出されることを意味する。
音を聞いても分かりにくいので、波形を示しておく。 Direction=0でノコギリ波の向きが逆になる。

Speed
音程に関わるパラメータ。

Speed -24~24半音
グレインの読み取りスピードの調整。 プラスに回すと音程が上がり、マイナス方向は音程が下がる。
下サンプルはA3を鳴らした後、2オクターブ上げて、その後最低音まで下げてみたところ。
またFeedbackを使うことで、リピートするたびに音程が変化する。
Fine -5~5
Speedのオプション的パラメータ。 音程の微調整。
Jitter 0~100
Speedのオプション的パラメータ。 グレインごとに音程のランダム化。 パラメータ数値を上げると音程の範囲が広がる。
下サンプルは、A3を鳴らして、0からスタートして100へ回したときの音。
Density -100~0(LIN)、 0~100(RND)
加工したグレインの最終工程で、グレインの密度調整を行う。 等間隔のLINと、ランダムRNDを同列で調整できる。

- RND:0~100
グレインはランダムなパターンで生成。 最大にすると、まばらになる。
0に近いほど密になる傾向。

- LIN:-100~0(LIN)
グレインは線状パターンで生成される。 極端に短くすると、音程にも影響を与え始めるので注意。 下図は重なり部分の方が多くあり、グレインの形状は分からなくなっている。
値を0に近づけて行くほど重なる部分が増える。
-100ではSizeと同等の長さになり、グレイン同士の重なりがなく形状が確認できる。 一番ストレートで分かりやすいので理解の助けになる。 そのため、このページの音サンプルのほとんどは-100を使っている。

Freeze Parameters
ソースをトリガーにすることで、リングバッファの操作が行える。

Freezeボタン(トリガー可能)
このボタンは、入力信号を手動でフリーズさせ、再び押されるまで同じ音声のセグメントからグレインを生成する。
下サンプルはFreezeしてから、Size、Position、Speedなどをいじったもの。
また選択したモジュレーションソースでトリガー可能。 正のゼロクロスのタイミングでトリガーされる。 ただしベータ版ではボタン表示が変わらないようで、ONなのかOFFなのか視覚的には判別できない。
Grain Trigger
ソースを使ったグレイン生成の自動化も可能。 これも正のゼロクロスのタイミングでトリガーされる。 トリガーされるとLEDがその瞬間点灯するので、分かりやすい。

現状では、どう使うかよくわからないのだが、この機能を使うことで16分音符のグレインを指定できたので、下サンプルのようなことをやってみた。 他モジュールと組み合わせることで、いろいろ出来そうだ。
Reverb Parameters
リバーブセクションはシンプルだが、Amountのみ注意が必要。

Size 1~100
部屋のサイズ調整。
Amount 0~100
リバーブミックス。 0ではリバーブが全く効いていない状態。 50まではリバーブがフェードインし、それ以上ではフェードアウトする。
マニュアル説明では、よくわからないので波形で確認してみる。 Wet100%でパルスを入れて、0、25、50、75、100の結果が以下の通り。 値を上げて行くとDry成分が下がって、リバーブ成分が上がっていくという感じになっている。 値が低いとWet100%でもDryが入るようだ。 やや謎の挙動だが、リバーブ成分のレベル調整と考えてよさそうだ。 グラニュラーのリバーブとして、以下のDry/Wetバランサーだけでは不十分ということだろう。

Decay 0~100
部屋の反射率を調整し、リバーブの残響が消えるまでの時間に影響を与える。
Dry/Wet 0~100
ドライ/ウェットのバランス調整。