void Update()
        {
            float[] rawOutput = new float[SegmentCount];
            float[] spectrum  = new float[SpectrumSample];

            AudioListener.GetSpectrumData(spectrum, 0, FFTWindow.BlackmanHarris);
            AudioVisualizer.CalculateRawSegments(spectrum, ref Output);
            Output.CopyTo(rawOutput, 0);
            AudioVisualizer.CalculateDrop(rawOutput, ref Output, ref PreviousOutput, ref DropBuffer, DropRate, DropMultiplier);
            AudioVisualizer.NormalizedSegments(ref Output, ref rawOutput, ref Highest);
            AudioVisualizer.CreateAmplitude(rawOutput, Output, ref AmplitudeOutput, ref AmplitudeHighest);
            //AudioVisualizer.DebugOutput(Output, 30.0f);
            //AudioVisualizer.DebugAmplitude(Output, AmplitudeOutput, 30.0f);

            //Sync segments with audio
            for (int i = 0; i < SegmentCount; i++)
            {
                MiddleSegments[i].transform.localScale = new Vector3(MiddleSegments[i].transform.localScale.x, Mathf.Lerp(0, MaxSize, Output[i]), MiddleSegments[i].transform.localScale.z);
                if (i < TopSegments.Count)
                {
                    TopSegments[i].transform.localScale = new Vector3(TopSegments[i].transform.localScale.x, Mathf.Lerp(0, MaxSizeTop, Output[i]), TopSegments[i].transform.localScale.z);
                }
            }
        }