Not bad. :) It's a fun track to listen to, though the more frenetic nature of the track makes mastering it -- at least to a reasonable extent -- arguably a necessity. I think the mix itself varies from 'average' to 'fairly punchy' to 'needs work' intermittently. There's a lot of high frequency content here that I feel would benefit from lowpass filtering to rolloff the more grating frequencies; because of the lack of mastering, the inherent perceived loudness differential between low energy noise and high energy is all the more apparent.
While that may have been deliberate, and, indeed, the track is geared more in that direction anyway, the more constant barrage of higher mid-range and treble frequencies is hard on the ears.
Here's a few quick suggestions based on my own current workflow, and some advice on mixing (and loose advice on approaches to mastering) and so on --
I personally prefer to compose 'into the mix' in the sense that I apply multiband compression and a limiter to the master bus in my DAW before I even get started and adjust if needed. With the type of music I generally make, I've found that I can generally get away with simply relying on the same settings within my compressor of choice (Waves C6) as long as the mix itself is solid overall.
For some tracks I'll have a couple additional compressors working within the mix on individual channels, but usually it's just a single instance of multiband compression with a fairly small ratio -- something like 2:1 at most, threshold of around -1.1 to -1.5 per band, attack setting of around 70ms per band, and release setting left alone.
Honestly, though, I wouldn't recommend delving into that until you try out other methods first. Probably best to go with the more tried and true methods beforehand and figure out for yourself what works best for you. Other advice:
- Regularly check your mix in mono. If it sounds good and balanced in mono, chances are it sounds more than good in stereo. Also, you'll need to do this to check for phase issues, anyway.
- Speaking of phase issues and such, you should always check your mixes with a spectrum analysis tool like Voxengo's awesome 'Span' plugin, which is free.
- I do arbitrary "audibility tests" for my own mixes, or at least have started doing so within the last couple months, that usually boil down to me not being satisfied with a mix until I can hear every individual element of the mix played back at the lowest level I can hear the track at when I'm standing at the other end of my room, etc. I'll check mixes with my noisy AC on and play it back on my phone, my monitor-style headphones, my 'listening' headphones, crappy earphones, etc. before I finalize stuff.
Etc., etc.
Here's what I'd suggest for the time being, mixing-wise (disregarding getting too heavy into compression or mastering). For now, I'd say just tack a limiter on to your master bus and set it to -1.1db or something. That's what I set all my stuff to because I don't want to peak past -1db, though that's a personal preference. For the record, setting it a limiter to -1db usually results in peaks just slightly above (-0.9db or so) unless measured with a more accurate meter, which is why I set mine to -1.1db. But I digress. I do this to avoid having to be overly conscious of my levels while actually composing because I'd rather have a limiter in place preventing clipping at the source than have to work around it from the offset, y'know?
Anyway, do that, and get in the habit of actually mixing everything with your monitors/headphones cranked down pretty low. One of the best habits get into for long-term accuracy when mixing, I find.
And if you try doing the whole 'multiband compression on the master bus' thing like I do, the key is generally to divide the individual bands of the compressor up in accordance with the way the frequency spectrum is defined, more or less -- i.e, something like 20-200 or so for low end, 200-2000 for midrange, etc. I hesitate to give exact numbers because my MBC has 6 bands and most have 4, but that's a good approach to take in the sense that it works for most types of songs.
Anyway, there you go. Hope that gargantuan wall of text helped, haha. Keep up the good work!