First of all, I hope this is the right place to ask this question.
My desire is to make electronic music; what I have in mind is something between glitch, IDM and ambient. In the last 1-2 years I've been using a few DAWs in my spare time, namely FL Studio and Live. I've also been using a few VST instruments such as NI Massive, Battery and others. I've always "learned" things by playing around with stuff and I've never taken any class nor read any book so far. Again, this has always been something to do in my spare time for fun, so I didn't really care about that.
Lately I've been thinking to get serious about this. The problem is that I feel that my approach won't really get me anywhere. I've always been creating my sounds by randomly twiddling knobs: sometimes I do get interesting results, sometimes not, but the thing is that I don't know how stuff really works. I know nothing about how to create sound. I can manipulate knobs in a VST until I get what I have in mind, or an approximation of it or at least something that sounds good to me, but I don't know how I've done it. I also have little idea of what it means to master a track, for example. I don't know what equipment I need to make music properly (I do have a pair of decent studio headphones, though). I feel like I don't know the basics. I don't know what a compressor is and why I should use it. I may be able to enable a reverb and manipulate knobs until I get the desired results, but I still don't know what I've done.
I realized all this is going to limit my possibilities a lot. Also, I think this random approach is probably not a good learning method at least when it comes to the basics. Plus I'm the kind of guy that really wants to know how something works.
The question is: where do I start? I don't even know what to search for. Do I need a sound design book? Would learning Max/MSP be a good idea? From what I know you get to create everything from "scratch" when working in such an environment, and I know that there's lots of Max documentation around. I don't have the time for a class but I do have time and money for reading books, buying needed equipment, learning on my own and practicing.
Edit: Also, and I know this is an age old debate: should I switch to hardware instead? The thing with software is that there are unlimited possibilities (aside from the fact that you don't have something tangible to work with). And, I do want to learn how stuff works, but I also want to be creative, so I need to find a compromise between these two things. Hardware would also lead to another problem though: I have no idea what to buy.