I helped bridge the gap in my own guitar playing from “can play tabs” to “can vamp and improvise from a scale” by making / using a random tab generator: https://www.asciitabs.com/random
I think building the site helped more than using it... breaking the concepts down into code helped me to see the broader patterns and abstractions more than just reading about it.
I also like forcing arbitrary constraints during practice. Can you make a simple song from only firsts and fifths in one key? Now add in sevens. Then do a key change every 8 measures (but same pattern). Now invert part of the pattern during the key change. Etc...
That kind of practice helped me intuitively understand what sounded good and what didn’t, which helped me finally grok the theory / vocab i was reading online but didn’t really get before then
I think building the site helped more than using it... breaking the concepts down into code helped me to see the broader patterns and abstractions more than just reading about it.
I also like forcing arbitrary constraints during practice. Can you make a simple song from only firsts and fifths in one key? Now add in sevens. Then do a key change every 8 measures (but same pattern). Now invert part of the pattern during the key change. Etc...
That kind of practice helped me intuitively understand what sounded good and what didn’t, which helped me finally grok the theory / vocab i was reading online but didn’t really get before then