private void UpdateWaveForm() { if (audioWaveFormVisualization == null) { return; } MicProfile micProfile = micPitchTracker.MicProfile; if (micProfile == null) { return; } float[] micData = micPitchTracker.MicSampleRecorder.MicSamples; // Consider amplification AbstractAudioSamplesAnalyzer.ApplyAmplification(micData, 0, micData.Length, micProfile.AmplificationMultiplier); // Consider noise suppression when displaying the the buffer bool isAboveThreshold = AbstractAudioSamplesAnalyzer.IsAboveNoiseSuppressionThreshold(micData, 0, micData.Length, micProfile.NoiseSuppression); float[] displayData = isAboveThreshold ? micData : new float[micData.Length]; audioWaveFormVisualization.DrawWaveFormMinAndMaxValues(displayData); }
private void Update() { if (audioWaveForm.style.display != DisplayStyle.None) { audioWaveFormVisualizer.DrawWaveFormMinAndMaxValues(clientSideMicSampleRecorder.MicSampleBuffer); } UpdateFps(); }
private void Update() { if (audioWaveForm.style.display != DisplayStyle.None && audioWaveFormVisualization != null) { audioWaveFormVisualization.DrawWaveFormMinAndMaxValues(micSampleRecorder.MicSamples); } UpdateFps(); }
public void UpdateAudioWaveForm() { if (!songAudioPlayer.HasAudioClip || songAudioPlayer.AudioClip.samples <= 0) { return; } if (audioWaveFormVisualization == null) { audioWaveFormVisualization = new AudioWaveFormVisualization(songEditorSceneControl.gameObject, overviewAreaWaveform) { // Waveform color is same as text color WaveformColor = overviewAreaLabel.resolvedStyle.color }; } using (new DisposableStopwatch($"Created audio waveform in <millis> ms")) { // For drawing the waveform, the AudioClip must not be streamed. All data must have been fully loaded. AudioClip audioClip = audioManager.LoadAudioClipFromUri(SongMetaUtils.GetAudioUri(songMeta), false); audioWaveFormVisualization.DrawWaveFormMinAndMaxValues(audioClip); } }