private void openToolStripMenuItem_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog(); if (ofd.ShowDialog() != DialogResult.OK) { return; } using (var stream = new FileStream(ofd.FileName, FileMode.Open)) { var waveFile = new WaveFile(stream); _signal = waveFile[Channels.Left]; } _fft = new Fft(512); var lpcExtractor = new LpcExtractor(16, FrameSize, HopSize); _lpcVectors = lpcExtractor.ParallelComputeFrom(_signal); FillFeaturesList(_lpcVectors, lpcExtractor.FeatureDescriptions); lpcListView.Items[0].Selected = true; spectrumPanel.Line = ComputeSpectrum(0); spectrumPanel.Markline = EstimateSpectrum(0); spectrumPanel.ToDecibel(); lpcPanel.Line = _lpcVectors[0].Features.Skip(1).ToArray(); }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog(); if (ofd.ShowDialog() != DialogResult.OK) { return; } using (var stream = new FileStream(ofd.FileName, FileMode.Open)) { var waveFile = new WaveFile(stream); _signal = waveFile[Channels.Left]; } _fft = new RealFft(512); var options = new LpcOptions { SamplingRate = _signal.SamplingRate, LpcOrder = 16, FrameDuration = FrameDuration, HopDuration = HopDuration }; var lpcExtractor = new LpcExtractor(options); //var lpcExtractor = new LpccExtractor(options); //var lpcExtractor = new PlpExtractor(_signal.SamplingRate, 10, // lpcOrder: 8, // rasta: 0.94, // filterbankSize: 20, // //lifterSize: 22, // window: WindowTypes.Hann); _lpcVectors = lpcExtractor.ParallelComputeFrom(_signal); FillFeaturesList(_lpcVectors, lpcExtractor.FeatureDescriptions, lpcExtractor.TimeMarkers(_lpcVectors.Count)); lpcListView.Items[0].Selected = true; spectrumPanel.Line = ComputeSpectrum(0); spectrumPanel.Markline = EstimateSpectrum(0); spectrumPanel.ToDecibel(); lpcPanel.Line = _lpcVectors[0].Skip(1).ToArray(); }