音声波形
接続された サウンド を時間領域の波形として可視化します。振幅の時間変化を横方向に描く古典的な波形表示です。
ライブラリでの場所
「ライブラリ」 → オーディオビジュアライザー → 音声波形
プロパティ
形状 (Shape)
各サンプルの描画形状(バー・線など)。
- 型:
WaveformShape? - 既定値: 最小最大バー (
MinMaxBarWaveformShape) - アニメーション: 不可
バー数 (BarCount)
1 フレームあたりに描画するバー(サンプル)の数。
- 型:
int - 既定値:
256 - アニメーション: 不可
- 範囲:
[1, 10000]
表示時間(秒) (WindowSeconds)
表示する時間窓の長さ(秒)。
- 型:
float - 既定値:
0.1 - アニメーション: 可
- 範囲:
[0.01, 3600]
共通プロパティ
このオブジェクトは オーディオビジュアライザー を継承しているため、基底クラスで宣言された共通プロパティも利用できます。
波形形状
以下は 形状 プロパティに設定できる波形の種類です。
折れ線
上側(および任意で下側)の包絡線を折れ線で描画します。
- 太さ (Thickness):
float、既定値1.5、範囲[0.5, 50]、アニメーション可。 - 滑らかさ (Smoothness):
float、既定値0、範囲[0, 100]、アニメーション可。 - 対称表示 (Mirrored):
bool、既定値false、アニメーション可。trueのとき下側包絡線も描画します。
ドット
サンプルを塗りつぶし円としてプロットします。
- ドット半径 (DotRadius):
float、既定値2、範囲[0.5, 100]、アニメーション可。 - モード (Mode):
DotsWaveformMode(MinMax/Center)、既定値MinMax、アニメーション可。MinMaxは各スロットの最小値・最大値の 2 点、Centerは平均値の 1 点を描きます。
ブロック
LED メーター風に各スロットをブロックの段で描画します。
- ブロック数 (BlockCount):
int、既定値16、範囲[1, 128]、アニメーション可。1 スロット(Mirrored時は片側)あたりのブロック数。 - ブロック間隔 (BlockGap):
float、既定値1、範囲[0, 50]、アニメーション可。ブロック間の隙間。 - バーの幅 (BarWidth):
float、既定値0、範囲[0, 10000]、アニメーション可。0の場合はスロット幅から自動決定されます。 - 対称表示 (Mirrored):
bool、既定値false、アニメーション可。trueで中心線の上下に対称に点灯します。
最小最大バー
各スロットの最小値〜最大値を 1 本のバーで描画します。
- バーの幅 (BarWidth):
float、既定値0、範囲[0, 10000]、アニメーション可。0の場合はスロット幅から自動決定されます。 - 角の丸み (CornerRadius):
CornerRadius、既定値(0, 0, 0, 0)、アニメーション可。
上下対称塗り
各スロットで |min| と |max| の大きい方を高さとして、上下対称のバーを描画します。
- バーの幅 (BarWidth):
float、既定値0、範囲[0, 10000]、アニメーション可。0の場合はスロット幅から自動決定されます。 - 角の丸み (CornerRadius):
CornerRadius、既定値(0, 0, 0, 0)、アニメーション可。
包絡線塗り
上側(および下側)の包絡線を連続した塗りつぶし領域として描画します。
- 滑らかさ (Smoothness):
float、既定値0、範囲[0, 100]、アニメーション可。 - 対称表示 (Symmetric):
bool、既定値false、アニメーション可。trueのときmax(|min|, |max|)を上下両側に使用し、完全に上下対称な形状になります。
放射状
円から放射状にバーを描画します。正のサンプルは外向き、負のサンプルは内向きに表示されます。
- 内側半径 (InnerRadius):
float、既定値40、範囲[0, 10000]、アニメーション可。 - 開始角度 (StartAngle):
float、既定値-90、アニメーション可。 - バーの幅 (BarWidth):
float、既定値4、範囲[0.5, 100]、アニメーション可。
使い方
ソース にシーン参照(音声)を設定し、現在のシーンを設定することで、音声と同期した波形を表示できます。
ソース
src/Beutl.Engine/Graphics/AudioVisualizers/AudioWaveformDrawable.cs