void Update() { float[] spectrum = fftPitchDetector.Spectrum; //int formant = 0; Color color = Color.red; for (int i = 1; i < spectrum.Length - 1; i++) { GLDebug.DrawLine(new Vector3(transform.position.x - halfCameraWidth + i, transform.position.y - halfCameraHeight + 10, transform.position.z + zPos), new Vector3(transform.position.x - halfCameraWidth + i, transform.position.y - halfCameraHeight + spectrum[i] * magnification + 10, transform.position.z + zPos), color, 0, true); } //{ /*if (formant < formantFinder.Formants.Length) * if (i == formantFinder.Formants[formant].LowerBound) * color = Color.yellow; * else if (i - 1 == formantFinder.Formants[formant].HigherBound) * { * color = Color.red; * formant++; * } * else if (i == formantFinder.Formants[formant].Peak) * color = Color.white; * else if (i - 1 == formantFinder.Formants[formant].Peak) * color = Color.yellow; */ //} // Draw Noise Line //GLDebug.DrawLine(new Vector3(transform.position.x - halfCameraWidth, transform.position.y - halfCameraHeight + formantFinder.NoiseLevel * activationThreshold * magnification + 10, transform.position.z + zPos), new Vector3(transform.position.x + halfCameraWidth, transform.position.y - halfCameraHeight + formantFinder.NoiseLevel * activationThreshold * magnification + 10, transform.position.z + zPos), Color.blue, 0, true); //vowelText.text = vowelFinder.vowel; }
void Awake() { if (instance) { DestroyImmediate(this); return; } instance = this; SetMaterial(); linesZOn = new List <Line>(); linesZOff = new List <Line>(); }
void Update() { if (audioPlaying) { visualiserPoints[visualiserPosition] = microphoneInput.Level; //float noiseIntensity = microphoneInput.NoiseIntensity; float highest = 0; Color color = Color.white; for (int i = 0; i < visualiserPoints.Length; i++) { highest = Mathf.Max(highest, visualiserPoints[i]); //if ((pointFeatures[i] & (1 << 0)) != 0) // color = Color.green; //else if ((pointFeatures[i] & (1 << 1)) != 0) // color = Color.red; //else color = Color.white; GLDebug.DrawLine(new Vector3(transform.position.x + i - halfCameraWidth, transform.position.y - halfCameraHeight, transform.position.z + zPos), new Vector3(transform.position.x + i - halfCameraWidth, transform.position.y - halfCameraHeight + visualiserPoints[i] * magnification, transform.position.z + zPos), color, 0, true); if ((pointFeatures[i] & (1 << 2)) != 0)// Syllable Peak { GLDebug.DrawLine(new Vector3(transform.position.x + i - halfCameraWidth, transform.position.y - halfCameraHeight + visualiserPoints[i] * magnification, transform.position.z + zPos), new Vector3(transform.position.x + i - halfCameraWidth, transform.position.y - halfCameraHeight + visualiserPoints[i] * magnification + 10, transform.position.z + zPos), Color.blue, 0, true); } } magnification = 20 / highest; //GLDebug.DrawLine(new Vector3(transform.position.x - halfCameraWidth, transform.position.y - halfCameraHeight + noiseIntensity * MicrophoneInput.activationMultiple * magnification, transform.position.z + zPos), new Vector3(transform.position.x + visualiserPoints.Length - halfCameraWidth, transform.position.y - halfCameraHeight + noiseIntensity * MicrophoneInput.activationMultiple * magnification, transform.position.z + zPos), Color.red, 0, true); // GLDebug.DrawLine(new Vector3(transform.position.x - halfCameraWidth, transform.position.y - halfCameraHeight + (noiseIntensity + 2 * microphoneInput.StandardDeviation) * magnification, transform.position.z + zPos), new Vector3(transform.position.x + visualiserPoints.Length - halfCameraWidth, transform.position.y - halfCameraHeight + (noiseIntensity + 2 * microphoneInput.StandardDeviation) * magnification, transform.position.z + zPos), Color.red, 0, true); //if (microphoneInput.InputDetected) // GLDebug.DrawLine(new Vector3(transform.position.x - halfCameraWidth, transform.position.y - halfCameraHeight + noiseIntensity * MicrophoneInput.presenceMultiple * magnification, transform.position.z + zPos), new Vector3(transform.position.x - halfCameraWidth + visualiserPoints.Length, transform.position.y - halfCameraHeight + noiseIntensity * MicrophoneInput.presenceMultiple * magnification, transform.position.z + zPos), Color.blue, 0, true); //GLDebug.DrawLine(new Vector3(transform.position.x - halfCameraWidth, transform.position.y - halfCameraHeight, transform.position.z + zPos), new Vector3(transform.position.x - halfCameraWidth, transform.position.y - halfCameraHeight + microphoneInput.NormalisedPeakAutocorrelation * 100, transform.position.z + zPos), Color.red, 0, true); visualiserPosition++; if (visualiserPosition >= visualiserPoints.Length) { visualiserPosition = 0; pointFeatures[visualiserPosition] = pointFeatures[pointFeatures.Length - 1]; } else { pointFeatures[visualiserPosition] = pointFeatures[visualiserPosition - 1]; } pointFeatures[visualiserPosition] = (byte)(pointFeatures[visualiserPosition] & (255 - (1 << 2))); } }