[All] To build a better music player

Yorick Moko yorickmoko at gmail.com
Thu Jan 15 19:55:39 CET 2009

just to let you know: bass can be boosted with a capacitator, but no
official OM documentation on that one

On Thu, Jan 15, 2009 at 7:17 PM, Dylan Reilly <dreilly at atariland.net> wrote:
> One of my primary uses for the openmoko is a music player, and I have
> spent some time trying to improve my listening experience with it. I
> wanted to make a web page or such on the subject but I am highly
> unmotivated to do so. In lieu of that, I am posting my findings here.
> Audio Quality
> -------------
> IMO, good audio quality can be achieved with proper tweaking of the
> alsa mixer. Some of the settings do nothing while others make the
> openmoko sound like crap (e.g., bass boost). The state file [1] is
> what I am using. One can utilize this by over writing the like-named
> file in /usr/share/openmoko/scenerios . I even find the bass decent,
> but not ideal. This is a known, and much discussed, hardware issue.
> Audio Player
> ------------
> When I started my quest, there was no music player that met my needs.
> The two that were close were pythm and mokoko. Mokoko has more
> potential, I believe. However, it has (had?) issues resuming from a
> suspend (crucial for me). That seems to imply an issue with gstreamer
> - which it utilizes for playback - and that is something I do not want
> to bother fixing. So, for the short term I turned to pythm and began
> hacking away at it. The following is a list of changes I made to the
> 0.5.1 version:
> 1) Improved responsiveness, especially with regard to starting the
> next song in a play list.
> 2) Lowered processing overhead during main update loop.
> 3) Tweaked the GUI. Most notably, the buttons are larger.
> 4) Read ID3 tag info at play list load time using python ID3 library.
> 5) Optionally (default true) disable suspend through enlightenment
> while song is playing. Change the no_suspend option in the [mplayer]
> section of /etc/pythm.conf.
> 6) Automatically pause playback when phone call received, resume on
> hang-up. Only if running on FSO-based framework (not qtopia
> phone-kit).
> 7) Hook directly into alsa for setting/getting the volume.
> 8) Tweaked nice levels for more consistent playback.
> Note that these changes apply only to the mplayer back-end and I have
> no idea if the mpd back-end still works as I have no mpd server set
> up. Furthermore, I have not tested this with ogg files, so item 4 from
> the above list might break on those. Needless to say, this is a work
> in progress.
> To play with this, one should first install the regular pythm package
> [2] and then extract [3]. Some of the tweaks include changing nice
> levels for the GUI and mplayer which are done in /etc/pythm.conf and
> /usr/bin/pythm.
> There are still some issues that I may not be able to over come (i.e.,
> audio "blip" on some song changes) but I believe they are inherent to
> the use of mplayer as a back-end and the slowness of the openmoko
> processor. Moving to gstreamer is probably a good idea for the future.
> There is a good chance this won't work out of the box given that I
> have not tested it on another device. Let me know and I will see what
> I can do.
> MP3 Playback
> -------------
> For better or for worse, my music is encoded as vbr mp3 files. Mplayer
> normally does not handle vbr very well. So, I patched an compiled my
> own version. You may find it at [4]. Without the patch, pythm can not
> handle vbr. I also added mp3lib decoder support which I feel is
> slightly better than the others. This may be enabled by default via
> [5]. Be warned, that I know nothing about optimally compiling mplayer
> and the binary is *huge*. Any input on that would be appreciated.
> Headset Detection
> -------------------
> If one is using a recent FSO frameworkd then this is now automatically
> handled. If you are not, the either upgrade or search the mailing list
> archives for extensive discussions on the matter.
> Troubleshooting
> -----------------
> 1) Sound skips. This means there is another process that is running at
> about the same priority as mplayer and taking more than ~15% of the
> CPU. You can either address the problem with this rogue process, or
> increase the priority of mplayer via pythm.conf.
> 2) Sound is only coming out of one speaker when using the stereo-out
> jack. This means that the alsa mixer still has the amp for the
> built-in speakers enabled. See "Headset Detection."
> 3) Audio quality is bad. Either #1 is happening or your alsa mixer
> settings are bad. I find the audio quite good but with some
> degradation at the high end.
> That is all that comes to mind at the moment.
> [1] http://atariland.net/~dreilly/openmoko/audio/stereoout.state
> [2] http://wiki.openmoko.org/wiki/Pythm
> [3] http://atariland.net/~dreilly/openmoko/audio/pythm-0.5.1-dmr-20090115.tar.gz
> [4] http://atariland.net/~dreilly/openmoko/audio/mplayer.gz
> [5] http://atariland.net/~dreilly/openmoko/audio/mplayer-conf.tar.gz
> --
> Dylan Maxwell Reilly
> _______________________________________________
> Openmoko community mailing list
> community at lists.openmoko.org
> http://lists.openmoko.org/mailman/listinfo/community

More information about the community mailing list