Example #1
0
            protected override void ProcessData(double[] data)
            {
                /*
                 * double[] x = new double[data.Length];
                 * for (int i = 0; i < x.Length; i++)
                 * {
                 *  x[i] = data[i] / 32768.0;
                 * }
                 */

                Wavelet.Pitchtracker.dywapitchtracker pitchtracker = new Wavelet.Pitchtracker.dywapitchtracker();
                Wavelet.Pitchtracker.dywapitch_inittracking(ref pitchtracker);
                double freq = Wavelet.Pitchtracker.dywapitch_computepitch(ref pitchtracker, data, 0, data.Length);

                owner.OnFrequencyDetected(new FrequencyDetectedEventArgs(freq));
            }
Example #2
0
            protected override void ProcessData(short[] data)
            {
                double[] x = new double[data.Length];
                for (int i = 0; i < x.Length; i++)
                {
                    x[i] = data[i] / 32768.0;
                }

                if (Wavelet.Pitchtracker.counter == 0)
                {
                    double freq = FrequencyUtils.FindFundamentalFrequency(x, SampleRate, MinFreq, MaxFreq);
                    owner.OnFrequencyDetected(new FrequencyDetectedEventArgs(freq));
                }
                else
                {
                    Wavelet.Pitchtracker.dywapitchtracker pitchtracker = new Wavelet.Pitchtracker.dywapitchtracker();
                    Wavelet.Pitchtracker.dywapitch_inittracking(ref pitchtracker);
                    double freq = Wavelet.Pitchtracker.dywapitch_computepitch(ref pitchtracker, x, 0, x.Length);
                    owner.OnFrequencyDetected(new FrequencyDetectedEventArgs(freq));
                }
            }