The Rio Karma is a small mp3 player, which supports the music formats ogg vorbis, flac, mp3, wave and wma. Moreover, it has an ethernet port which is in my opinion a major advantage compared to similar players. Just plug it into your network, use the java tool and...ehrm...what? Java?

I don't want to use Java for copying my newest CD to the Karma because that small java-application even needs 15 seconds to start up. Sure, i could try the software for usb2, but then i would have to install Wine. ;) That's why i began to implement the networking protocol in C - libkarma was born.

There's no documentation of the API, yet. Just examine the header files and the sample applications riocp and chprop, which are included in the package. If you want to learn more about the protocol which is used, go to or PearlLib.

libkarma depends on iconv and riocp on taglib. Since 0.0.4 libkarma also supports usb via libusb and the omfs kernel module. It's open source and licensed under the GPLv2.

libkarma allows developers to do the following:



libkarma-0.1.2.tar.gz GPG sig
libkarma-0.1.1.tar.gz GPG sig
libkarma-0.1.0.tar.gz GPG sig
libkarma-0.0.6.tar.gz GPG sig
libkarma-0.0.5.tar.gz GPG sig
libkarma-0.0.4.tar.gz GPG sig
libkarma-0.0.3.tar.gz GPG sig
libkarma-0.0.2.tar.gz GPG sig
libkarma-0.0.1.tar.gz GPG sig


Unfortunately, my Rio Karma died some months ago. So, if someone wants to maintain libkarma drop me an email. You want to write some code for libkarma? Please get the latest development tree first with mercurial from the repository.