メインコンテンツまでスキップ
バージョン: 2.0.0-preview

音声波形

接続された サウンド を時間領域の波形として可視化します。振幅の時間変化を横方向に描く古典的な波形表示です。

ライブラリでの場所

「ライブラリ」 → オーディオビジュアライザー → 音声波形

プロパティ

形状 (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): DotsWaveformModeMinMax / 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