AudioEngine/MathLib.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;

namespace AudioEngine
{
   public  static class MathLib
    {
        public enum FFT_Quality
        {
            Low = 64,
            Average = 128,
            Good = 256,
            Best = 512
        }

        static int _fftsamples = (int)FFT_Quality.Average;

        public static int FFT_Samples
        {
            get { return _fftsamples; }
        }

        public static void SetQuality(FFT_Quality iQ)
        {
            _fftsamples = (int)iQ;
        }

        public static float CrossCorrelation(float[] iF1, float[] iF2) { return CrossCorrelation(iF1, iF2, 0); }

        public static float CrossCorrelation(float[] iF1, float[] iF2, int iT)
        {
            float outVal = 0;
            long len = Math.Min(iF1.Length, iF2.Length);
            for (long i = 0; i < len; i++) {
                try {
                    if (iT > 0)
                        outVal += iF1[i] * iF2[i + iT];
                    else if (iT < 0)
                        outVal += iF1[i - iT] * iF2[i];
                    else
                        outVal += iF1[i] * iF2[i];
                } catch { break; ; }
            }
            return outVal;
        }

        public static float AutoCorrelation(float[] iF)
        {
            return CrossCorrelation(iF, iF);
        }

        public static float FindAbsPeak(float[] iF)
        {
            float peak = 1;
            for (int i = 0; i < iF.Length; i++) {
                if (Math.Abs(iF[i]) > peak) peak = Math.Abs(iF[i]);
            }
            return peak;
        }

        public static float[] FFT(float[] iF, UInt32 iOffset)
后面还有 104 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。