Featurelist for the perfect portable music player

I listen to music, podcasts and radio a lot, and I don’t find the device I use for this very satisfying. Here’s a list of the features I want in a portable music player, in no particular order:

  • RDS FM radio
  • DAB radio
  • It must play a wide range of music formats, including: mp3, FLAC, ogg/vorbis and m4a
  • It should read metadata from all these formats.
  • It must have a music library to access the media files, which lets me find songs by
    • artist
    • album
    • artist -> album
    • album -> artist (for those “Various Artists” CD’s)
    • track name
    • filesystem structure
    • genre
    • genre -> artist
    • genre -> album
    • genre -> artist -> album
    • genre -> album -> artist
    • artist -> genre
    • most played (the last week, the last month, ever)
    • least skipped
    • rating
    • score (a calculated value from the number of plays, the number of skips and the tracks age on the device)
    • recently added
  • For several of the features of the music library, it needs to keep stats of plays, skips and playtimes. This statistical data should be available on the Mass Storage Device interface as an XML file or an SQLite database, so the music transfer application can use this to suggest which tracks to remove, and also to upload the stats to last.fm and/or libra.fm.
  • a Mass Storage Device interface should be used for music transfer, so no special software should be required. This also ensures compatibility with different Operating Systems
  • Playlists created by the device should be stored in XSPF or m3u (configurable, with XSPF as default)
  • It should be able to use a wide range of playlist formats, including xspf, m3u, pls, asx and even RSS and ATOM.
  • It should be able to differentiate between Podcasts, music tracks and music mixes (those hour long mp3s). This could be done simply by using different folders, using metadata or simply by a configurable threshold in track length. The latter can’t differentiate between mixes and podcasts though.
    • Podcasts should be marked as played once the whole file has been played. If you stop listening to it, and then goes back to it at a later point in time, it should resume from where you left off. Audio books could be treated as podcasts.
    • Music tracks should play normally
    • Mixes should behave pretty much in the same way as Podcasts, but they should be in a different place in the music library.
  • It should be able to use .cue files to apply metadata to different parts of a mix. It should also support ID3tag switching within the track.
  • It should use a regular mini-USB interface for communication with the PC
  • It should use a regular 3.5mm mini-jack plug for headset
  • It should hold at least 8GB of music internally, AND support regular SD cards for extending the space. (Allowing for at least 40GB totally)
  • It should use cover art embedded in ID3tags, but fall back to cover art defined in XSPF playlists or located in the folder where the track is
  • There should be a remote for it, just like the old MiniDisc players had. From this remote you should be able to play, pause, skip back and forth (both within tracks and between tracks) and even give the track a rating. It should of course also display the tracks metadata on the screen on the remote. And using the remote should be 100% optional.
  • It should analyse your collection and normalize the volume between tracks (NOT within tracks)
  • The buttons should be easily accessible, even while you have the device in your pocket, but it should have a physical keylock (again like the MiniDisc players had).
  • It should communicate with my cellphone via Bluetooth, so it pauses playback when the phone rings.