C# Class SoundLibrary.WaveAnalysis.WaveData

Wave データ格納用クラス。 効率を考えて、時系列のままデータを保持しておく WaveTime と、 周波数領域に変換してデータを保持しておく WaveFrequency と、 Middle/Side 形式でデータを保持しておく WaveMS に分ける。 このクラスは抽象基底クラス。
Show file Open project: ufcpp/UfcppSample Class Usage Examples

Public Methods

Method Description
AddDelay ( int delay ) : WaveData

遅延を与える。

ConvertToMinimumPhase ( ) : WaveData

最小位相化する。 左右の信号の遅延差も付加。

ConvertToMinimumPhase ( int baseDelay ) : WaveData

最小位相化する。 左右の信号の遅延差も付加。

Div ( Spectrum s ) : void

Left/Right を s で割る。

GetData ( Channel channel, System.Property type ) : double[]

データの特性を取得。

GetData ( Spectrum spectrum, System.Property type ) : double[]

データの特性を取得。

GetDelay ( ) : int

左右の時間差を取得。 正: Left ch の方が遅い。 負: Right ch の方が遅い。

GetSpectrum ( Channel channel ) : Spectrum

スペクトルの取得。

Invert ( ) : WaveData

F = this
[Gl Gr] [Fl Fr]^-1
[Gr Gl] = [Fr Fl]
G を求める。

Mul ( Spectrum s ) : void

Left/Right に s を掛ける。

SetLR ( Spectrum left, Spectrum right ) : void

Left/Right ch 信号を設定。

SetMS ( Spectrum middle, Spectrum side ) : void

Middle/Side ch 信号を設定。

ToMS ( ) : WaveMS

内部形式を周波数特性(Middle/Side)に変換。

ToSpectrum ( ) : WaveFrequency

内部形式を周波数特性に変換。

ToTime ( ) : WaveTime

内部形式を時系列に変換。

WaveData ( ) : System
WaveData ( FormatHeader header ) : System
operator ( ) : WaveData

Al = a.Left, Ar = a.Right
Bl = b.Left, Br = b.Right
Cl = c.Left, Cr = c.Right
[Cl] [Bl Br][Al] [Al Ar][Bl]
[Cr] = [Br Bl][Ar] = [Ar Al][Br]
c を求める。 c.Middle = a.Middle * b.Middle, c.Side = a.Side * b.Side

Method Details

AddDelay() public method

遅延を与える。
public AddDelay ( int delay ) : WaveData
delay int 遅延時間
return WaveData

ConvertToMinimumPhase() public method

最小位相化する。 左右の信号の遅延差も付加。
public ConvertToMinimumPhase ( ) : WaveData
return WaveData

ConvertToMinimumPhase() public method

最小位相化する。 左右の信号の遅延差も付加。
public ConvertToMinimumPhase ( int baseDelay ) : WaveData
baseDelay int L/R 両方にかける遅延
return WaveData

Div() public method

Left/Right を s で割る。
public Div ( Spectrum s ) : void
s SoundLibrary.SpectrumAnalysis.Spectrum 周波数特性
return void

GetData() public method

データの特性を取得。
public GetData ( Channel channel, System.Property type ) : double[]
channel Channel 取得したいチャネル
type System.Property 取得したい特性
return double[]

GetData() public static method

データの特性を取得。
public static GetData ( Spectrum spectrum, System.Property type ) : double[]
spectrum SoundLibrary.SpectrumAnalysis.Spectrum スペクトル
type System.Property 特性の種類
return double[]

GetDelay() public method

左右の時間差を取得。 正: Left ch の方が遅い。 負: Right ch の方が遅い。
public GetDelay ( ) : int
return int

GetSpectrum() public method

スペクトルの取得。
public GetSpectrum ( Channel channel ) : Spectrum
channel Channel 取得したいチャネル
return SoundLibrary.SpectrumAnalysis.Spectrum

Invert() public method

F = this
[Gl Gr] [Fl Fr]^-1
[Gr Gl] = [Fr Fl]
G を求める。
public Invert ( ) : WaveData
return WaveData

Mul() public method

Left/Right に s を掛ける。
public Mul ( Spectrum s ) : void
s Spectrum 周波数特性
return void

SetLR() public method

Left/Right ch 信号を設定。
public SetLR ( Spectrum left, Spectrum right ) : void
left Spectrum
right Spectrum
return void

SetMS() public method

Middle/Side ch 信号を設定。
public SetMS ( Spectrum middle, Spectrum side ) : void
middle Spectrum M ch
side Spectrum S ch
return void

ToMS() public method

内部形式を周波数特性(Middle/Side)に変換。
public ToMS ( ) : WaveMS
return WaveMS

ToSpectrum() public method

内部形式を周波数特性に変換。
public ToSpectrum ( ) : WaveFrequency
return WaveFrequency

ToTime() public method

内部形式を時系列に変換。
public ToTime ( ) : WaveTime
return WaveTime

WaveData() public method

public WaveData ( ) : System
return System

WaveData() public method

public WaveData ( FormatHeader header ) : System
header FormatHeader
return System

operator() public static method

Al = a.Left, Ar = a.Right
Bl = b.Left, Br = b.Right
Cl = c.Left, Cr = c.Right
[Cl] [Bl Br][Al] [Al Ar][Bl]
[Cr] = [Br Bl][Ar] = [Ar Al][Br]
c を求める。 c.Middle = a.Middle * b.Middle, c.Side = a.Side * b.Side
public static operator ( ) : WaveData
return WaveData