Wave ファイル解析用クラス。
Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
		/// <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
Ejemplo n.º 3
0
 /// <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);
 }
Ejemplo n.º 4
0
        }        //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);
        }