Как я могу реализовать алгоритм Гертцеля с этим?

Я получил код здесь: https://naudio.codeplex.com/discussions/270762.

Алгоритм Гертцеля выглядит так:

    public double goertzel(List<double> sngData, long N, float frequency, int samplerate)
    {
        double skn, skn1, skn2;
        skn = skn1 = skn2 = 0;
        samplerate = this.sampleRate;
        frequency = this.freq;

        double c = 2 * pi * frequency / samplerate;
        double cosan = Math.Cos(c);

        for (int i = 0; i < N; i++)
        {
            skn2 = skn1;
            skn1 = skn;
            skn = 2 * cosan * skn1 - skn2 + sngData[i];
        }

        return skn - Math.Exp(-c) * skn1;
    }

Я хочу преобразовать аудиоданные (из устройства чтения волновых файлов по ссылке выше), используя этот алгоритм. Как я могу это сделать? Спасибо

1 ответ

Решение

Если вы выполняете обнаружение DTMF, попробуйте COM "phoneToneDecoder". он обнаруживает тональные сигналы DTMF с вашей звуковой карты. (я думаю, что это собственность)

Другие вопросы по тегам