/// <summary>
 /// FFTの結果を格納させ、検査を実施させる
 /// </summary>
 /// <param name="result">WAVEファイルをFFT処理したデータ</param>
 public void Add(FFTresult result)
 {
     //for (int i = 0; i < this._coreUnit.Count; i++)
     Parallel.For(0, this._coreUnit.Count, i =>                              // 可能なら並列で処理
     {
         this._coreUnit[i].Set(result);                                      // 発声検出器にデータを格納して発声部分の認識を行う
         if (this._coreUnit[i].Ready)
         {
             Monitor.Enter(this._generatedFeatures);
             Result feature = this._coreUnit[i].GetFeature();                // 生成された特徴ベクトルを取得
             if (this.PcaAnalysis)                                           // 主成分分析を使ったベクトルのスリム化が必要なら処理する
             {
                 var copyVector     = feature.FeatureVector;
                 double[] neoVector = PCA.Convert(copyVector.ToArray());
                 var neoFeature     = new Result(feature.FilterName, feature.Time, feature.TimeWidth, feature.SN, new PatternRecognition.Feature(neoVector));
                 this._generatedFeatures.Add(neoFeature);                    // 特徴データを取得可能ならもらって登録する
             }
             else
             {
                 this._generatedFeatures.Add(feature);                       // 特徴データを取得可能ならもらって登録する
             }
             Monitor.Exit(this._generatedFeatures);
         }
         if (this.Log)
         {
             this._coreUnit[i].SaveConditionOfDetector("sound detection log " + this._coreUnit[i].FileterName + ".csv");          // 必要ならファイルへ検出器のコンディションを出力
         }
     });
     return;
 }