Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }