I understand that harmonic tension occurs when you hang on a chord which "wants" to resolve, like a chord with a leading tone or certain dissonant intervals. Are there other sources of harmonic tension?
What are non-harmonic sources of tension?
The pause is one that comes straight to mind - the rhythm stops, and everything hangs for some moments. Rubato has a similar effect, as do rallentando and accelerando.
Crescendo and decrescendo can also be used to produce tension - especially in the way Beethoven used it. Never felt certain that it wasn't his frustration showing through...
A key change is also effective, although I've never felt an effect lasting more than a bar or two.
EDIT: 5/4 in itself tends to create tension. There have been several themes for suspense type tv programmes that have used 5/4. As already mentioned, a change of time sig. for a single bar is a good ploy. Particularly in a piece with a good foot-tapping rhythm. The listener just gets disturbed. (As does the player who may not be expecting it !)
Change of instrumentation, most effective within an orchestral setting, will bring large mood changes to a piece.
And, of course, the other factor that makes music - silence. Unexpected tacet is truly effective - whether it's in an orchestra or a rock band.
In very general terms, I'd say that deliberately withholding some element of music that the listener knows (or thinks they know) is coming will always build tension.
It could be a harmonic a resolution that's a long time coming - for example, if you use Emin, Fmaj and Gmaj chords, then the listener might assume you're in the key of Cmaj/Amin, because that's traditional key that fits those in best. If you hold off from actually using either of those chords, it creates tension.
In dubstep and related genres, there's "the drop", which is where the artist deliberately withholds the heavy bass beat for as long as possible, creating tension. (See this Lonely Island sketch.)
Or perhaps skipping a beat that the listener really feels you should play (like leaving the first beat of the bar silent).
Overall, figure out something obvious that your listener wants and expects to happen next, and see if you can delay it.
Syncopation is a very common form of non-harmonic tension. From Wikipedia,
Syncopation involves a variety of rhythms which are in some way unexpected which make part or all of a tune or piece of music off-beat. More simply, syncopation is a general term for "a disturbance or interruption of the regular flow of rhythm": a "placement of rhythmic stresses or accents where they wouldn't normally occur." The correlation of at least two sets of time intervals. Also known as an "Uneven movement from bar to bar".
There are a variety of ways to achieve syncopation, including:
Playing multiple notes in the space for a differrent number of beats will also create tension. If you play a triplet over 2 beats then that's a hemiola.
In addition, gradually increasing the tempo, accelerando, is an easy way to increase tension as is increasing the volumne.
Switching time signatures will increase tension as will creating melodies that are a little longer or a little shorter than the standard 32-bar length. In American old-time these are called "crooked tunes" and will drop or add a half-bar to two bars of length to the A or B part of an AABB or AABA tune.
Big jumps up or down in the melody can create excitement. The general rule is "Big step up, small steps down," or vice versa.
Finally: silence. Silence can create enormous tension, especially in music that's "notey".
Once you have established a major or minor tonality, almost anything without the tonic and third (combined) will sound unresolved. That works well enough to keep a lot of pop music going. This is accomplished through simple chords of stacked thirds (Em, D, etc.), or by using suspended notes. The 4th and tonic sus4 chords sound particularly unresolved.
Briefly stepping outside of the key works well in jazzier settings. For example, if you are in the key of C, moving directly to a Dbmaj7 chord then immediately back to Cmaj7 creates tension and release. This works particularly well with minor chords and chords that contain extensions. (For example, Cmaj7 Dm7 Ab9 G9 Cmaj7, which is actually a b5 substitution.)