private void autocorrelationButton_Click(object sender, EventArgs e) { if (_audio != null) { actionStateLabel.Text = "PROCESSING"; List <int> frequencies = _audio.Autocorrelation(); string freqText = ""; foreach (int freq in frequencies) { freqText += freq.ToString() + " Hz (T = " + (1.0f / freq) + " s), "; } actionStateLabel.Text = ""; CharWindow autoCorelation = new CharWindow(); autoCorelation.setPropert(); autoCorelation.Histogram.Series.Add("AutoCorelation"); autoCorelation.Text = "AutoCorelation"; autoCorelation.Histogram.Series["AutoCorelation"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine; autoCorelation.Histogram.Series["AutoCorelation"].MarkerSize = 2; autoCorelation.Histogram.ChartAreas[0].AxisX.Title = "Index"; autoCorelation.Histogram.ChartAreas[0].AxisY.Title = "AutoCorelation value"; for (int i = 0; i < _audio.autoCorrelations[0].Count(); i++) { autoCorelation.Histogram.Series["AutoCorelation"].Points.AddXY(i, _audio.autoCorrelations[0][i] / (32768.0f * 32768.0f * 100)); } autoCorelation.Show(); SoundUtil.SaveSound(_audio.fileName, _audio.sampleRate, _audio.chunkSize, frequencies); MessageBox.Show(freqText, "Autocorrelation frequencies"); } }