Log in

View Full Version : 2nd MM Bible sneak peek:crossfade/gapless playback, media compatibility&power usage


Menneisyys
12-10-2007, 01:48 PM
You may already know I’m working very hard on my forthcoming Multimedia Bible. The first “sneak peek”, on radio station streaming, has already been published (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2350&more=1&c=1&tb=1&pb=1) and got pretty good feedback.

Now, I present the second installment: a vastly enhanced version of my previous, well-known and, for example, Pocket PC Thoughts-frontpaged article “Everything you will ever need to know about the power consumption of Pocket PC audio players (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1656&more=1&c=1&tb=1&pb=1)”, with battery life tests of ALL compatible (and more widely used) formats of all major media players, on all the three major (consumer mainstream – hence no Linux or Blackberry) mobile platforms: Windows Mobile, Symbian S60 and Palm OS. I also present a detailed elaboration on the media format compatibility of these players (and platforms), paying special attention to the new and freaking good and storage-friendly HE-AAC v2 format. You’re REALLY supposed to read that article to get a complete picture of what the percentages in this guide are all about and how you can further reduce battery usage.

That’s not everything! I also present thorough reports on crossfade and gapless playback (http://en.wikipedia.org/wiki/Gapless_playback). This subject has been widely discussed in the mobile community and a lot of misconceptions and plain bad info flying around. Here, I present a 100% dependable and reliable, full overview of everything you need to know about this question.

What’s missing from this roundup?

Note that, as opposed to the previous power usage-related article, I haven’t retested the MP3-only and, generally, VERY old and not recommended titles that haven’t been updated in the meantime. This is why they aren’t present in the article / chart.

Also note that 40th Floor’s iPlay has been upgraded in the meantime (and a brand new product, Phantasm, has been released), but its trial version is uselessly crippled (http://forum.xda-developers.com/showthread.php?p=1724812) – much more so than iPlay. As I’m one of the few billion people that is banned from iPlay’s web sites (they seem to ban countries / ISP’s in a completely random way – most, if not all, of Europe is banned from there), I don’t even have the chance of buying the product, as I, in situations like this, would. (For example, for this Bible to be as thorough as possible – and to avoid having to ask for freebies –, I’ve purchased Pocket Music and Nero Mobile Pro. I’ve also purchased the Symbian and Pocket PC versions of CorePlayer (along with their third product, CoreAVC, for the desktop). I think the latter should be done by everyone that uses TCPMP – the original developer of TCPMP certainly deserves financial support, even as a “thank you!” for TCPMP’s unparalleled superiority on Windows Mobile and Palm OS.)

I haven’t included thundershadow14’s PocketMelody (http://forum.xda-developers.com/showthread.php?t=347089) either because the development is still at its early stages. However, it’s a worthy product keeping an eye on.

I have also left out the current MPlayer port (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2312&more=1&c=1&tb=1&pb=1) because it’s, at its current state, is pretty much useless except for some given tasks (for example, HTTP RealAudio streaming). It has the following CPU usage figures: 22% for MP3; 77%(!) for OGG; 28% for LC AAC; 17%(!) for HE-AAC. As can be seen, there isn’t much point in using it for music playback unless you have a non-phone device (meaning no AAC support in the system), haven’t purchased CorePlayer and want to play back HE-AAC (the native iTunes format). (CorePlayer is the only really battery-friendly solution for playing back HE-AAC content on these kinds of handhelds – all the other players consume way more power.) Unfortunately, it doesn’t support HE-AAC v2.

The chart is HERE (http://www.winmobiletech.com/122007MMBible/CPUUsageChart.htm). Comments are welcome, as usual.

Let me elaborate on the results. First, let’s take a look on what formats are supported and what CPU usage the reviewed players cause.

1. Format compatibility and power (battery) usage

Let’s separate the ‘old’, well-known formats like MP3, WMA and OGG from the “new” and, with HE-AAC v2 - particularly when it comes to streaming (the subject of my previous audio streaming “sneak peek” (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2350&more=1&c=1&tb=1&pb=1)), pretty much revolutionary AAC formats.

Note that, in here, I’ve only listed the most commonly used formats. In the final version of the Bible, I’ll also include speech formats (for example, AMR or Speex) and losless formats like FLAC.

1.1 MP3, WMA and OGG

The “old” formats have pretty good support. MP3, which is played back by all the players, is best played back in CorePlayer (CPU usage-wise), but GSPlayer and (as was already the case with the old, 3.x series) Resco Audio Recorder is pretty close too when it comes to extending battery life.

OGG isn’t so widely supported; the winners are GSPlayer and CorePlayer. TCPMP, Pocket Music and Pocket Player aren’t left behind much either; MortPlayer and, particularly, Nero Mobile Pro, is. On Symbian, you’ll want to prefer LCG Jukebox. CorePlayer, as you’ll see later, isn’t really battery-friendly with short(er) titles.

To play back WMA, you’ll most probably want to use the (in Windows Mobile) built-in Pocket WMP (Windows Media Player), albeit GSPlayer is also very good and the later versions of Pocket Player, unlike with previous ones, also play them back pretty well. Under Symbian, the current (beta) version of CorePlayer is almost useless, WMA-wise; on the other hand, the (in S60v3) built-in WMA support of the factory Music Player is excellent. On Palm, Pocket Tunes also supports WMA (I couldn’t test this because of the trial restrictions.)

1.2 AAC and enhanced versions

With the latest format, AAC, which seems to be all the rage now, the situation is vastly different. First, if you really want to save some storage, you MUST use the most space-conserving HE-AAC v2, which allows for file sizes of about half or third (!) of those of WMA’s or MP3’s - of the same quality(!). No wonder a lot of Internet radio stations are quickly switching to HE-AAC v2 streams – after all, FM-quality, stereo, 44 kHz streams can be broadcast at 24…32 kbps, which is just unbelievable with any other audio compression technology, including even the latest WMA and RealMedia technologies.

This is the most enhanced and, on Windows Mobile (the two other mobile OS’es are far better supported in this respect) still pretty scarcely supported format. This can clearly be seen in the chart. For example, not even the built-in PWMP or the current version of CorePlayer support it (only the significantly “dumber” versions of AAC: HE-AAC and LC-AAC, which don’t help much with saving storage). Unfortunately, currently, all the Windows Mobile players cause around 55% CPU usage (at 208 MHz), which corresponds to significantly decreased battery life.

With not so advanced (and, therefore, not very commonly used – except for iTunes, which uses these as the default format, and not the much more advanced HE-AAC v2) AAC versions, there’re significant differences. In there, PocketMusic 5.01 turned out to be the worst choice (followed by the GSPlayer / MortPlayer duo and, then, Nero Mobile Pro and TCPMP) and (as one would expect) CorePlayer the best, followed by the built-in WMP in Windows Mobile phones (but, again, NOT in non-phone-enabled Pocket PC’s – that is, Windows Mobile Classic devices. The WMP in these does’t support AAC at all).

1.2.1 Symbian / Nokia

In this respect, the built-in Music Player in the Nokia N95 is far-far better. The following power usage shot shows the HE / HE2 / LC / MP3 / WMA playback power usage in Music Player. As can clearly be seen, HE-AAC v2 (again, the second in the chart) only consumes about 0.02-0.03W more than the “dumber” HE / LC versions. (Also see THIS (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2338&more=1&c=1&tb=1&pb=1) for more info on how this graph should be interpreted.)

http://www.winmobiletech.com/122007MMBible/N95-MusicPlayerAll.png

(Another quick Symbian-related note: Unfortunately, the (currently, for audio playback under Symbian) not THAT recommended CorePlayer behaves much worse in this respect: it starts burning much more power at the first third(?) of every song, regardless of the format, as can be seen in the following two screenshots:

http://www.winmobiletech.com/122007MMBible/N95-CPbeta2All.png
(HE / HE2 / LC / MP3 / OGG playback)

Another example: playing back WMA files in order:

http://www.winmobiletech.com/122007MMBible/N95-CPbeta2WMAplayback.png

(the first section of the chart shows the built-in Music Player playing back exactly the same songs. As can clearly be seen, it didn’t exhibit the same huge power usage peaks as CorePlayer.)

This, however, means playing back podcasts or loooooong files in CorePlayer won’t result similar problems; the following screenshot shows the case of playing back a 2.5-hour-long MP3 podcast:

http://www.winmobiletech.com/122007MMBible/N95-CPbeta2LongTimeMP3playback.png

As can be seen, the high power usage didn’t “kick in” in the first hour. I don’t, however, know what would have happened after that, when it would have kicked it in and for how much time.

I don’t know what this bug is caused by; hope the CoreCodec folks fix this.)

1.2.2 (Pocket) Windows Media Player (on phone devices) and AAC

Still speaking of the (HE-)AAC support of the built-in Windows Media Player in Windows Mobile, it, unfortunately, is unable to stream as SHOUTcast / Icecast AAC(+) streams can be seen in THIS (http://www.winmobiletech.com/122007MMBible/WinMediaUnabletoplayAACStreams.png) screenshot. That is, while it supports the playback of local AAC files, it can’t stream them. The situation is the same with Conduits’, otherwise, highly recommended Pocket Player. This all is an unfortunate result of the AAC decoder that HTC has licensed - it's not as componentized as developers would have liked. It takes over the complete audio path when called (its output can't even be redirected to A2DP, for some reason). Neither can HTC’s Streaming Media (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2045&more=1&c=1&tb=1&pb=1) stream AAC, unfortunately. That is, for the time being, you MUST stick to third-party apps to stream AAC (as is also explained HERE (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2350&more=1&c=1&tb=1&pb=1)) – and, of course, to play back local HE-AAC v2 files. Unfortunately, the same is true on Symbian, where Music Player has absolutely no streaming capabilities and, therefore, you must rely on third-party apps like CorePlayer or Nokia’s brand new Internet Radio. The latter two, however, still doesn’t support HE-AAC v2 and will only play them back in mono and greatly reduced quality.

1.3 Equalizers / bass boost and battery use; MortPlayer

The battery usage of enabled equalizers / bass boost code is pretty battery-friendly with the most widely known / used generic multimedia players, except for, maybe, CorePlayer, where CPU usage pretty much increases with the equalizer enabled. (Note that with these apps, not in the previous test were there really bad results.) Using the equalizer in the two apps (VITO SoundExplorer and Resco Audio Recorder) that also behaved very bad in the past test are still in no way recommended: they can easily quadruple (!) the CPU usage with enabled equalizer.

It’s worth noting that MortPlayer is still closely mimicking the behavior of GSplayer – with the exception that it (still) has slightly (not much!) worse battery usage, except for the MP3 and the OGG case. In the latter cases, GSplayer has significantly lower battery usage and, therefore, should be preferred – unless you MUST use MortPlayer for its, for example, large on-screen buttons.

2. Crossfade effects, gapless playback and reopening the audio channel

Let’s talk a bit about crossfade (http://en.wikipedia.org/wiki/Fade_%28audio_engineering%29) effects and/or gapless playback. I’ve long searched (http://www.aximsite.com/boards/multimedia/151475-help-needed-looking-concert-live-cd-image-inter-track-speech-noise.html) for a CD that would it make possible to reliably test the incompatibility problems some players might have. Fortunately, at last, I’ve found one – a(n, otherwise, pretty bad) Finnish language audio play (Jerry Cotton G-mies - Kostaja Sing Singistä (http://www.bookplus.fi/product.php?isbn=6415732306353), Poptori, ISBN: 6415732306353), which has an excellent, gapless track structure to be used to find anomalies / bugs in the players. For example, track 10 on CD1 abruptly ends with a sentence. PocketMind’s Pocket Music (one of the very few apps to explicitly support gapless playback), with the default settings, just chops this sentence off. Fortunately, this is caused by (default) a (not really working – read the Wiki article on gapless playback (http://en.wikipedia.org/wiki/Gapless_playback) so that understand how it SHOULD work as opposed to the current state) padding-removing functionality. It seems it was really worth thoroughly testing gapless playback with this CD: I’ve found a bug that, otherwise, would cause a lot of problems to many Windows Mobile users.

As can clearly be seen, Pocket Player is WAY better than anything else out there – in not only the gapless playback being flawless, but also in the cross-fade effect. On Windows Mobile, the only other player offering something similar, Pocket Music, is way worse in this respect. On Palm OS, Pocket Tunes is equally excellent, crossfade-wise.

2.1 Reopening the audio channel

Note that the second test (second row) in this group elaborates on the hardware equalizers I’ve elaborated on for example HERE (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2281&more=1&c=1&tb=1&pb=1). For example, HTC’s hardware equalizer just re-sets the audio channel when skipping to the next song, which may be a major pain in the back – you’ll end up having to dis-, and, then, re-enable the equalizer applet again and again, after every track change. (Note that the latest, 0.10 version of x50mix prevents at least the Dell Axim and Fujitsu-Siemens users from happening this. That is, it’s only newer phones that MUST rely on the, in this regard, inferior HTC Equalizer.) This has resulted in a lot of disgruntled XDA-Devs users.

Fortunately, in this respect, more (even free: GSPlayer) players are flawless (unlike the built-in WMP). This means if you do plan to use the hardware equalizer (for example, not to suffer from the additional power drain caused by the built-in equalizer in several players), you’ll want to select your player accordingly.

Note that you not only want to prefer players that have a “+” in here when you have to use an external, hardware equalizer like the already-mentioned HTC Equalizer. The reason for this is that, in order to achieve this kind of functionality, an audio player must NOT close and reopen the output audio channel between songs. The ones that don’t do this, generally, don’t cause any annoying noise (which can be very important on several Windows Mobile models) when switching tracks and may also be faster at doing this. Therefore, you might want to prefer players that are able to do this over ones that don’t, particularly if yours is a “noisy” Windows Mobile handset. With models like that, players that don’t close and reopen the output channel (or, are configurable not to do so), will be a godsend for you.

Menneisyys
07-30-2008, 11:28 AM
UPDATE (07/29/2008)

I’ve thoroughly benchmarked the current (!!!) versions of the most important media players (including the just-released Pocket Tunes; Resco Audio Recorder 4.01, while it’s not the best for playback, has also been included because of the low MP3 playback CPU usage). All the tests have been made on the HP iPAQ 210 (always) clocked at 624 MHz. n/a stands for not supported. I haven’t tested some (not that important) cases requiring a plug-in.

http://www.winmobiletech.com/sekalaiset/audioplayerpuusage072008.png

(HTML original HERE (http://www.winmobiletech.com/sekalaiset/audioplayerpuusage072008.html))

That is:

Compared to WMP:
* if you only play MP3’s, you’ll want to take a look at Resco, CorePlayer, TCPMP, GSPlayer, Pocket Tunes and MortPlayer in this order, should you want something better than the built-in WMP
* if you play back WMA’s, it’s only CorePlayer that is better than WMP
* if you play back standard (non-HE-AACv2) AAC, on PPC PE devices (that is, Pocket PC phones), you’ll want to go with WMP. On non-phone models, CorePlayer and TCPMP (in this order) are the best; the other (standard) AAC-capable players (Pocket Tunes etc.) aren't that good.

If you want to play back HE-AACv2, the just-released Pocket Tunes 4.1 is your best choice. If you don’t need goodies like libraries, tag reading or AVRCP and can put up with the slightly higher CPU usage, you can get on with TCPMP too. Forget the buggy GSPlayer altogether for HE-AACv2 playback because of the sound quality.

For OGG playback, TCPMP is the best choice. However, its OGG decoder is stated to be a bit inferior in quality; therefore, you might also want to take a look at CorePlayer or GSPlayer. The other OGG-capable players incur a slightly bigger CPU usage.

For FLAC, of the two compatible players, CorePlayer is a bit more battery-friendly. TCPMP isn’t much worse, though.