Example #1
0
        public ReverbChannel(int bufferSize, int samplerate)
        {
            parameters = new Dictionary <Parameter, double>();
            foreach (var value in Enum.GetValues(typeof(Parameter)).Cast <Parameter>())
            {
                parameters[value] = 0.0;
            }

            preDelay = new ModulatedDelay(bufferSize, 10000);

            multitap = new MultitapDiffuser(bufferSize);
            diffuser = new AllpassDiffuser(bufferSize, samplerate)
            {
                ModulationEnabled = true
            };
            lines       = Enumerable.Range(0, 12).Select(x => new DelayLine(bufferSize, samplerate)).ToArray();
            lineCount   = 8;
            perLineGain = GetPerLineGain();

            highPass = new Hp1(samplerate)
            {
                CutoffHz = 20
            };
            lowPass = new Lp1(samplerate)
            {
                CutoffHz = 20000
            };

            rand           = new ShaRandom();
            tempBuffer     = new double[bufferSize];
            outBuffer      = new double[bufferSize];
            delayLineSeeds = rand.Generate(12345, lines.Length * 3).ToArray();

            this.samplerate = samplerate;
        }
Example #2
0
        public ReverbChannel(int bufferSize, int samplerate)
        {
            parameters = new Dictionary<Parameter, double>();
            foreach (var value in Enum.GetValues(typeof(Parameter)).Cast<Parameter>())
                parameters[value] = 0.0;

            preDelay = new ModulatedDelay(bufferSize, 10000);

            multitap = new MultitapDiffuser(bufferSize);
            diffuser = new AllpassDiffuser(bufferSize, samplerate) { ModulationEnabled = true };
            lines = Enumerable.Range(0, 12).Select(x => new DelayLine(bufferSize, samplerate)).ToArray();
            lineCount = 8;
            perLineGain = GetPerLineGain();

            highPass = new Hp1(samplerate) { CutoffHz = 20 };
            lowPass = new Lp1(samplerate) { CutoffHz = 20000 };

            rand = new ShaRandom();
            tempBuffer = new double[bufferSize];
            outBuffer = new double[bufferSize];
            delayLineSeeds = rand.Generate(12345, lines.Length * 3).ToArray();

            this.samplerate = samplerate;
        }