//returns the minimum count of samples for looping
        //to avoid glitches
        public float GetSampleCountForLooping()
        {
            var SampleForLoopCount = AudioHelpers.PPCM(Oscillators.Select(o => (int)(SampleRate / (o.Frequency * o.FrequencyRatio))).ToArray());

            return(SampleForLoopCount);// *(float)Math.Pow(2, MathUtils.ppcm(Oscillators.Select(o => o.Pitch + 1).ToArray()) / 12);
        }