/// <summary> /// リファレンス wave の読み出し。 /// </summary> /// <param name="filename">ファイル名</param> /// <param name="length">読み込む長さ</param> /// <param name="skip">ファイルの先頭を読み飛ばす長さ</param> /// <param name="type">リファレンスのタイプ</param> /// <param name="isNormalize">リファレンスの振幅特性を正規化するかどうか</param> public void DeconvoluteReference( string filename, int skip, int length, ReferenceType type, bool isNormalize) { WaveData reference = WaveAnalyzer.Read(filename, skip, length); Deconvolute(ref this.data, reference, type, isNormalize); }
/// <summary> /// Wave データ作成。 /// </summary> /// <returns>作成した Wave</returns> public WaveData CreateWave() { WaveAnalyzer analyzer = new WaveAnalyzer(); // データ読込み { int skip = int.Parse(this.textSkipLength.Text); int length = int.Parse(this.textReadLength.Text); if(this.checkRemoveSilent.Checked) { double threshold = double.Parse(this.textThreshold.Text); bool relative = this.checkRelativeThreshold.Checked; analyzer.ReadData(this.textDataName.Text, skip, length, threshold, relative); } else { analyzer.ReadData(this.textDataName.Text, skip, length); } } // リファレンス逆畳み込み if(this.checkUseReference.Checked) { int skip = int.Parse(this.textSkipLengthRef.Text); int length = int.Parse(this.textReadLength.Text); ReferenceType type = (ReferenceType)this.comboReferenceType.SelectedIndex; bool isNormalized = this.checkNormalize.Checked; if(this.checkRemoveSilent.Checked) { double threshold = double.Parse(this.textThresholdRef.Text); bool relative = this.checkRelativeThresholdRef.Checked; analyzer.DeconvoluteReference(this.textReferenceName.Text, skip, length, type, isNormalized, threshold, relative); } else { analyzer.DeconvoluteReference(this.textReferenceName.Text, skip, length, type, isNormalized); } } return analyzer.Data; }//CreateWave
/// <summary> /// データ wave の読み出し。 /// 無音区間の除去を行う。 /// </summary> /// <param name="filename">ファイル名</param> /// <param name="length">読み込む長さ</param> /// <param name="skip">ファイルの先頭を読み飛ばす長さ</param> /// <param name="threshold">閾値</param> /// <param name="relative">閾値にピーク値から見た相対値を使う</param> public void ReadData(string filename, int skip, int length, double threshold, bool relative) { this.data = WaveAnalyzer.Read(filename, skip, length, threshold, relative); }
} //Read /// <summary> /// データ wave の読み出し。 /// </summary> /// <param name="filename">ファイル名</param> /// <param name="length">読み込む長さ</param> /// <param name="skip">ファイルの先頭を読み飛ばす長さ</param> public void ReadData(string filename, int skip, int length) { this.data = WaveAnalyzer.Read(filename, skip, length); }