Graduating to 8x8x8 Cube....Requesting Help on layer switching

Yup...that's the idea...either 9 shift registers or 8 shift registers and 8 NPNs directly driven from 8 IO pins....although the more i think of it the more i am concerned that more than the h/w it’s the s/w that is going to wreck havoc for me.

See, the way I did the code for my 4x4x4 bi-colored cube was I stored the pattern in PROGMEM as 4-byte values for each layer essentially each bit representing one LED in green or red. There were 4 such sets for each of the 4 layers and shifting them out with 4 SPI commands. I had adapted a fairly popular code that I found on the internet to be able to do this with a lot of help from PaulS. But now having spent time to write patterns for that cube I can very well see that I am in for real big trouble. I would need 8-bytes per layer if I use this approach. It’s going to be a nightmare to come up with pattern and not pull my hair out.

I wonder if there is another way to do this. I am sure you guys must have a better and a more creative solution for this. Would be grateful for any ideas. I also have in inkling to try to integrate an audio input into the cube and make a select switch that allows me to run the cube either off an audio input or pre stored patterns. I was going through Jeremy Blum's arduino tutorials and came across this:

where he use a non inverting op amp to drive an RBG led strip. Do you think it might be possible to adapt this to serve the purpose of an audio input?
Apologies for the longish post. Just that I am really excited to do this project but I want to think this through before beginning.
Much appreciate any suggestions.

Thanks
Nitin