Ambient ceiling lighting project for Dolby 5.1 sound for PC

I can help you avoid some common beginner mistakes.

Avoid using "floating point maths" where decimal points are involved, wherever you can. It's inefficient and slow on virtually all Arduino. Stick to using integers. To translate a number between two different ranges, the map() function can be useful.

Avoid using delay() wherever you can. Arduino has no multi-threading or multi-process capability to perform multiple actions at the same time, so to achieve those effects, it's important not to waste the processor's time (which is all delay() does).

Overlaying different layers of patterns on the strip is just a matter of the order that the code "paints" them. The libraries for use with ws2812 LEDs have a show() function and that should only be called after all the overlaid patterns have been painted, not after each layer and certainly not after each individual led has been updated.