Well ... a "midi controller" is a type of keyboard, so I'm not sure I quite see the dichotomy you've drawn.
Variables (in each case going from the generally lower cost to the generally higher), with a few random thoughts related to your particular question:
- Just a controller vs. something that comes with a sound engine of its own. If you're just trying to "program music" using software on your computer, you may not use the sound engine even if it's there.
- Fewer keys vs. more. By the same token: if you're just trying, basically, to "type in" a melody, or a bass line, or similar activities, you can probably do fine with a little 25-key deal (that's two octaves, in case that's not obvious). From there, the common sizes you'd move up to
* 37 keys (3 octaves ... duh), which gives you a little more space before you have to hit the "octave up" and "octave down" button;
* 49 keys, basically more of the same - plus it's big enough that you should have all the keys in front of you to trigger the various pieces and articulations of an electronic drum kit, without having to switch octaves up and down (this depends somewhat on the drum map, and you can certainly make do with fewer keys).
* 61 keys, which is about the smallest you can play like a piano, with two hands, though you're going to run the little finger of your left hand into the end from time to time.
* 76 keys, which is pretty much playable like a piano.
* 88 keys, which is about all you're going to get.
- Soft "synth" action vs. piano-like action. If you're typing in notes, or if you haven't played a real piano much, you may not care. For playing a synth or an organ, you might prefer synth action. If you're a piano player and want to play the thing like a - you know - piano, you probably want at least a weighted hammer-type action, which adds considerably to the price. If you want it really to feel like a grand piano, you're going to add a thousand or two to the price.
- Just keys vs. other control gadgets. The other gadgets will come in handy if you're playing a software synth the way people play analog synths: twiddling knobs and envelope filters, etc. They can also be used as a control surface (usually a fairly limited one) for your DAW. If you want a full-on control surface, you might well opt for something that's dedicated to that purpose, though. In any event, even the little cheap controllers seem to come with a handful of knobs, so you may wind up with them.
If you're just trying to type notes into the computer, a bare midi controller with 25 or 37 keys, synth action, and handful of knobs and buttons will work fine, and set you back less than a hundred bucks. You'd probably want to choose one with a USB connection built in (this has become a pretty common ste-up). If so, you don't need any soundcard or anything ... just a computer with a USB connection.
So far as connections to the computer go, the main options would be:
- USB
- MIDI. You'd need this if you choose a controller that doesn't have a USB connection already built in. If your computer doesn't already have MIDI jacks, you'd need a soundcard or interface that supplies them. Most of the ones built for music recording seem to, so that's not exactly a tall order.
- Analog audio - if your keyboard creates sounds, and you want to record them. This is basically what a soundcard/interface gives you.
- Digital audio - same situation as the previous one, but keyboard with built in sounds don't necessarily have digital outs, and not all soundcards/interfaces have digitals ins either.