Tremor

The Xiph.Org Foundation offers an open source alternative to the omni-present MP3 audio compression: it is called Ogg Vorbis and promises same if not better performance but it is royalty-free and license free. From their web site, like in all open source project you can download the full C source code for all the tools you need to convert and play back Ogg Vorbis files/streams on most operating systems

Like most open source projects, the code is based on the assumption that you will use the classic GNU Toolchain: gcc compiler, linker, standard GNU libraries, to compile and link your application. Now as you might know the PIC32 toolchain happens to be GNU compatible …

Tremor is the name of one of the branches of the Ogg Vorbis project optimized for use in embedded applications, minimizing the resources requirements and overall footprint. So I decied to start from it to create a PIC32 based Ogg Vorbis player.

I used the Explorer16 as my hardware development platform in addition to the AV16/32 PIC Tail Plus board (only the audio portion of the circuit is required to use two PWM channels as 12-bit D to A converters and the SD card connector of course).

I also used the SDMMC.c module developed in the book and combined it with the 17 source files that compose the Tremor library (no modifications required whatsoever)!