Example #1
0
        private void reCalc()
        {
            int found = 0;
            int diff  = (int)Math.Abs(datasets[0].fs - _sampleRate);

            for (int i = 1; i < datasets.Count; i++)
            {
                if ((int)Math.Abs(datasets[i].fs - _sampleRate) < diff)
                {
                    diff  = (int)Math.Abs(datasets[1].fs - _sampleRate);
                    found = i;
                }
            }
            filterSet = datasets[found];
        }
Example #2
0
        private void createFilters()
        {
            datasets = new List <FilterDataset>();

            FilterDataset a;

            a    = new FilterDataset();
            a.fs = 11025;
            a.b  = new double[]
            {
                0.7736721075390028,
                -2.8625867978943105,
                3.7136261161872133,
                -1.7020786365858063,
                -0.1547344215078005,
                0.2321016322617008
            };
            a.a = new double[]
            {
                1.0000000000000000,
                -3.5757337829718345,
                4.7582766196624924,
                -2.7899757644608405,
                0.6085910689326314,
                -0.0011559137053395,
                0.0000005512739116
            };
            datasets.Add(a);

            a    = new FilterDataset();
            a.fs = 22050;
            a.b  = new double[]
            {
                0.8055484487647923,
                -2.9805292604297318,
                3.8666325540710029,
                -1.7722065872825432,
                -0.1611096897529584,
                0.2416645346294377
            };
            a.a = new double[]
            {
                1.0000000000000000,
                -3.8302763396909523,
                5.5476415277122415,
                -3.6541031162267403,
                0.9871997587068019,
                -0.0512041243503595,
                0.0007424782229829
            };
            datasets.Add(a);

            a    = new FilterDataset();
            a.fs = 44100;
            a.b  = new double[]
            {
                0.6180020317070465,
                -2.2866075173160723,
                2.9664097521938229,
                -1.3596044697555023,
                -0.1236004063414093,
                0.1854006095121139
            };
            a.a = new double[]
            {
                1.0000000000000000,
                -4.2307872496224137,
                7.0346422059383222,
                -5.7449460002195494,
                2.3363695685698880,
                -0.4225269693894642,
                0.0272484535888349
            }; datasets.Add(a);

            a    = new FilterDataset();
            a.fs = 48000;
            a.b  = new double[]
            {
                0.5815372712118925,
                -2.1516879034840022,
                2.7913789018170840,
                -1.2793819966661637,
                -0.1163074542423785,
                0.1744611813635678
            };
            a.a = new double[]
            {
                1.0000000000000000,
                -4.2935584346882125,
                7.2834260475956798,
                -6.1242473677395743,
                2.6089701629718975,
                -0.5111053205554470,
                0.0365149183602303
            };
            datasets.Add(a);

            a    = new FilterDataset();
            a.fs = 96000;
            a.b  = new double[]
            {
                0.2845855585491984,
                -1.0529665666320340,
                1.3660106810361521,
                -0.6260882288082365,
                -0.0569171117098397,
                0.0853756675647595
            };
            a.a = new double[]
            {
                1.0000000000000000,
                -4.8431509604790124,
                9.5812763956502831,
                -9.8758665218481614,
                5.5715967697266429,
                -1.6249444537578395,
                0.1910887708899461
            };
            datasets.Add(a);
        }