wave.js 660 Bytes
a.show()
a.setBins(4)
a.setScale(2)
a.setCutoff(4)
a.setSmooth(0.84)

osc(30,() => 0.085, Math.PI/(1 + Math.sin(time)))
  .luma()
  .hue(() => Math.cos(time/10))
  .out(o0)

src(o0)
  .scale(() => 0.5 + (a.fft[0] % 10) / 10)
  .rotate(() => Math.sin(time/12))
  .out(o1)

src(o1)
  .modulateScale(
    noise(() => 100 * a.fft[3] + 80
    ,() => 10 * a.fft[2] + 5 * a.fft[3]))
  .out(o2)

src(o2)
  .add(
    shape(5)
    .scale(() => 1.9 + Math.cos(time/3 + time/19 + time / 100))
    .colorama(0.1)
    .rotate(() => Math.sin(time/4 + (0.01 + 0.1 * a.fft[1]) * Math.random() / 2) % 360)
    .modulateHue(src(o2))
    .modulate(src(o2))
)
.out(o3)

render(o3)