QUOTE
I'm looking for an 'automatic' way to get rid of the ending silence.
As Lyx said, it's not each MP3 that's the problem, and no MP3 trimmer will solve it.
The above statement is assuming that you wish to play back live albums and gapless DJ-mix style albums and "concept albums" where tracks run into one another. If there was silence on the original CD and you wish to remove it, that's a different thing for which player silence-removal plugins are available.
An encoder like LAME will record the encoder delay and padding in the LAME header tag (unless you disable it) to enable a smart decoder to recover the accurate length of the original audio. Such gapless-aware decoders include Foobar2000 and iTunes on PCs and for standalone players, the iPod or any player with Rockbox 'firmware' installed (I think it's all Rockbox implementations that are gapless).
The MP3 format has a few things which prevent it from being intrinsically gapless, including a different "frame" length to CDs and, being a transform codec, the need to pad with zeroes at start and end because of windowing functions and overlapping transform windows and the fact that some of the information and energy is spread out slightly in time.
The gapless fix of specifying the accurate length in the LAME header is good enough to rarely show a problem, though there may be a few instances (as 2Bdecided pointed out in a thread a few months ago) where there is then an abrupt change between tracks with gapless info that wouldn't be present if they had been encoded as a single file (I'll call this a "gapless glitch" below). This can be fixed (method 1) by using whole-CD images, using CUE sheets to specify the track loactions within the image, but this loses compatibilty with most standalone players and many software players that don't understand CUE sheets. Use foobar2000 and there's no problem. For individual files, one per track, the fix would be to append the beginning instant of the next track rather than to pad with zeroes before encoding, and likewise to prepend the final instant of the previous track at the front (but this requires either better integration between ripper and encoder) or to encode a whole image then split the MP3, inserting accurate length info and keeping the frames which overlap in both files at the split point.
If you're using a PC, the best thing is to use a gapless-aware player. Foobar2000 seems to be the favourite here, and I'd concur. It also reads CUE sheets, so there's no problem with possible gapless glitches either. If you ripped securely using something like EAC or dBpowerAmp with correctly set Read Offset, it should play back in shuffle mode or default mode as accurately as any MP3 could. Personally, I'm not aware of any instances where a gapless glitch has been noticeable using foobar2000 and individual MP3 files.
My problem comes with my in-car CD/USB MP3 player. Like many hardware decoders and many old-tech software decoders, it completely closes the audio stream between files then re-opens it for the next track ensuring a gap even between files cut with mp3DirectCut. If I want to ensure good playback of a live album there, I have to encode as a single file per CD, thereby disabling shuffle (which is really crap on my player) or manual track selection - unless of course I have both a track-based and image-based version of the album. Normally, I just live with the gaps, because I don't usually play too much music that requires gapless.
For me foobar2000 and individual LAME MP3 files is completely good enough. CD Image LAME MP3 files and CUE sheets (or embedded CUE sheets) would be just as good with foobar2000, and would safeguard against the gapless glitch, but it's rare enough that I don't find it worthwhile, given that individual files are preferable for my in-car needs where I must live with the gap.