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); } } }