Optimizing for a CPU-Intensive Music Visualizer

That’s fine. Setup should be used to load files, because it may take a lot of time. Draw() cycle starts after that prep works has been done. So to get the audio in sync

  • load files in setup. Do all the time consuming stuff there
  • start audio in draw(). Then they’ll start at more or less same time. You can stop looping of draw()-function with noLoop()