ベクターによる新しいシンセサイズ
u-he Zebralette3の革新的部分は、波形をサンプルではなく、ベクターで扱うところです。 現在のパソコンやDAWの音声処理はサンプルを扱うため、Zebralette3の最終出力はサンプルになりますが、内部的にはベクター処理が基本となっています。 今現在本格的なベクターを扱ったシンセサイズは、Zebralette3だけだと思われます。 この意欲的な仕様にも関わらず、無料で提供されているのは驚きです。 今回はベクターによる波形描画について解説します。

サンプルとベクターの違いは下図のようになります。 サンプルはサンプリング周波数の間隔で振幅が記録されています。点と点の間はデータがないため、必要に応じて補間して使用します。周波数によっては、かなり精度が落ちることがあり、工夫する必要があります。 サンプルは、このような特徴から解像度を持つと言えます。
一方ベクターは、下図では、3点のハンドルを持つ制御ポイントで構成されています。ハンドルはポイントとポイントを結ぶ曲線を定義するため、周波数に左右されず理想的な滑らかな波形を維持します。 この特徴は解像度を持たないことを意味します。 また保存するデータも制御ポイントだけなので、多くの場合サンプルよりもデータ量が小さくなります。

ベクター、ベジェ曲線、SVG(Scalable Vector Graphics)
コンピューターグラフィックスにおいて、画像フォーマットは大きく分けて、画素の集まりから出来ているラスター画像と、点、線などで構成されたベクター画像に分けられます。 そのベクター画像を扱う数学的に定義された手法としてベジェ曲線があります。 このベジェ曲線は、フランスのシトロエン社ド・カステリョと、ルノー社ピエール・ベジェによって考案されました。 いずれも自動車メーカーで、ボディなどのなめらかで有機的な曲線を数学的に扱うために考案されたものです。ベクターグラフィックソフトではアドビ社イラストレーターで採用されています。 現在ではベジェ曲線を扱えるオープンな標準規格としてSVGというフォーマットが一般的となり、Webブラウザ上でも扱えるようになりました。 Zebralette3では、波形描画だけでなく、UIそのものもSVGで作られています。

少ないポイントで、なめらかな曲線が描けるのがベジェ曲線のメリットですが制限もあります。 真円や純粋なサイン波は描けません。 基本的にこれらの図形は疑似となります。 そのためZebralette3でサイン波を描画すると、わずかな倍音が含まれてしまいます。 純粋なサイン波を作りたい場合は、倍音をコントロールする加算モードを使う必要がありますが、多くの場合あまり問題にならないでしょう。

波形に特化したエディタ
一見するとグラフィックソフトのイラストレーターのようなUI、ツールとなっています。 波形描画に特化しているため、かなり凝った波形も描画することが出来ます。 内部的にはSVGで管理しているため、グラフィックソフトとの連携も可能です。 グラフィックソフトでサイン波の描画は難易度が高いですが、Zebralette3には、あらかじめ基本波形が用意されているので容易に実現できます。

以下に描画機能のいくつかを紹介します。 純粋なグラフィック用というよりも、波形作成に便利な機能であることが分かると思います。
波形を指数関数的にスケーリングできます。

作った波形をスライドすることで、位相を変えることができます。 サイン波をコサイン波などに修正できて便利です。

ガイドカーブを使うことで、波形の切り取り加工などができます。

グリッドに合わせて加工ができます。グリッド数はXY軸共に任意に調整できます。

モーフィング
Zebralette3はウェーブテーブルで、1周期分の波形を複数描画し、それらを組み合わせて音作りをします。 ふたつの波形をスムーズに遷移し、最大15個の波形を設定できます。 ベクターの利点を生かした、かなり複雑な遷移を実現し、サンプル系のウェーブテーブルでは不可能なことができます。 エディタでは複数のモーフィングモードを切り替えることができ、軌跡を追うことが出来ます。またハンドル操作によって、ポイント間の関係を制御できます。

下動画は、向きの違うノコギリ波をモーフィングした例です。 サンプルのような素直なモーフィングでは以下のような変化になります。

モーフィングのモードを変えることで、以下のような奇妙な変化も実現でき、ベクターならではの振る舞いとなります。 さらにハンドル操作によって基準点の変更や、加速度の制御も可能です。

解像度を持たないベクターは、滑らかなゆっくりした変化に強く、鋭い高域を持っています。 下記サンプルは、あえてデジタル臭いストリングス系の音を作ってみました。
最大ポイント数
波形を描画するポイント数には上限があります。 画像処理と同じで、ポイントは最小限にするのがマナーです。 ポイント数が多いノイズのような音を作りたいときは、FXや加算モードなど別の方法を使うべきです。

ノイズのWaveファイルを読み込むと、上限ポイントは100までとなっています。 このような波形は、ベクター制御に向いていないので、なるべく扱わない方がよさそうです。

UHM入出力
個人的に期待しているのは波形をプログラミングできるu-he独自のUHM言語です。 現在のBETA2バージョンでは機能限定版となっていて、座標の記述に限られます。 全機能が使えるようになれば、数学的な記述が可能となり、見た目は複雑でも数学的に整然とした波形を扱えるようになります。 下ソースコードはコサイン波をUHMで出力したものとなります。

SVG入出力
Zebralette3ではSVGの入出力が可能で、グラフィックソフトと連携することができます。 下はコサイン波をSVGとしてコピーして、テキストエディタに貼り付けたものとなります。XMLとして出力されています。 このファイルはWebブラウザで表示することも出来ますし、グラフィックソフトに読み込んで加工することもできます。

下図は上記ファイルをフリーのグラフィックソフトInkscapeに読み込ませた状態となります。 縦横比率は違いますが、記述内容は同じなので、編集してZebralette3に戻すことができます。

次回はZebralette3の加算モードCurve Spectrumを解説します。
コラム「sound&person」は、皆様からの投稿によって成り立っています。
投稿についての詳細はこちら