Use MPlayer. It is simply the best. Quite like HBO, in fact. I have actually run a little distro on my system with 8MB RAM ( mem=8M ) and I actually played music on this with a statically linked MPlayer
Just run "mplayer -shuffle *" where you keep your music. Or, ( and this is brilliant ) do a 'find <my_music_folder> > ~/my_big_playlist' and then mplayer -shuffle -playlist ~/my_big_playlist' and have fun for hours !
And. MPLayer has lots of in-built audio / video filters, and it supports LADSPA too! So, if, like me, you have plenty of LADSPA plugins installed, you can have 'mplayer -af ladspa=dyson_compress_1403.so:dysonCompress:0:0.25:1:0.5,ladspa=ambis.so:Amsonics-rotator:180' to use the Dyson Compressor by John H. dyson and an Ambisonic filter to rotate the aural plane, maximizing your listening experience !
In defense of "dependencies", I have to say that dependencies are a way to share common codebases. This means that all media players will usually depend on libogg and libvorbis rather than having to come up with their own, which in turn means stable and easier to maintain code, and also that developers do not always have to reinvent the wheel. And, dependencies are usually ~ 10k to 100k. If like me, you have a slow internet connection, make a list of all the stuff you have to download, do wget -i list to get them and go make coffee. This arrangement is better, believe you me, that having to download a 29MB winamp every time and still it doesn't play headerless wave files correctly ( me and my band recorded this track on my system using Ardour - I ran it through MPlayer's audio filters and LADSPA Plugins ( the Dyson Compressor, TAP Equalizer ) with -ao pcm, and then when I gave it to my lead guitarist, his winamp wouldn't play it correctly. I told I had to give him an MP3 ). On Linux we have libavcodec, and all players who use it can play all kinds of stuff out of the box ( some better than others, MPlayer the best of all ).