If you want a more interactive source you can play with python notebooks from the music information retrieval site [2]. I've found it helpful, as you try some of the described music theory concepts in a programming environment.
Shameless plug, I've also written about how audio fingerprinting works [3], which touches on some of the topics regarding music theory.