- Home /
Question by
ffertigo · Oct 14, 2015 at 09:39 AM ·
delayaudiolistenerfrequency
Visualize audio spectrum with delay
This code is working and it's visualizing the sound frequencies on a line from audiolistener, it gets the sound from a synth that is build in c# and can be played in realtime. I want to put many of this lines next to each other with a short audio delay at each line execpt the first. the result would look like the famous joy division cover. I thought it could be maybe done with the WaitForSeconds class but i can't figure it out. I
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(LineRenderer))]
public class LineVisualizer : MonoBehaviour
{
public float size = 10.0f;
public float amplitude = 1.0f;
public int cutoffSample = 128; //MUST BE LOWER THAN SAMPLE SIZE
public FFTWindow fftWindow;
private float[] samples = new float[1024]; //MUST BE A POWER OF TWO
private LineRenderer lineRenderer;
private float stepSize;
void Start()
{
lineRenderer = GetComponent<LineRenderer>();
lineRenderer.SetVertexCount(cutoffSample);
stepSize = size/cutoffSample;
}
// Update is called once per frame
void Update ()
{
AudioListener.GetSpectrumData(samples,0,fftWindow);
int i = 0;
for(i = 0; i < cutoffSample; i++)
{
Vector3 position = new Vector3(i*stepSize - size/4.0f,samples[i]*amplitude,4.0f);
lineRenderer.SetPosition(i,position);
}
}
}
unknownpleasures.jpg
(118.4 kB)
Comment
Your answer
Follow this Question
Related Questions
Speed of sound delay adjustment 1 Answer
Couple of questions regarding instantiate delays 1 Answer
Delay between each instantiation 3 Answers
Yield only working once? 0 Answers