Gnu Digital Audio Player (GNUdap) is a project to build an userspace driver to interface with proprietary-protocol usb mp3 players and mass storage devices. Currently GNUdap supports the CHIC MP10, CHIC MP30, CHIC Symphony from "Perstel,Inc." and the NGS Jogger from the NGS Technology.

GNUdap is also an experiment to test the advantages of a strongly-typed programming language and of the functional programming paradigm in hardware developing. In fact GNUdap is developed using the Objective Caml programming language.

To access the devices, we use camlusb, an ocaml binding to libusb, wich is an userspace library to access usb devices.

A shell, which supports the main features of the player, is provided. Besides being done for linux, unlike the original program provided with the MP10, this software is interesting because it has additional features (like being able to transfer mp3's directly to the pc, and to change the playable status of a file on the DAP), not present in the official one. A graphical frontend and a filesystem interface are planned.

To find more informations about the protocol, the driver and the shell visit the Documentation Page.