Rockbox is a free and open-source software replacement for the OEM firmware in various forms of digital audio players (DAPs) with an original kernel.
[2][3] It offers an alternative to the player's operating system, in many cases without removing the original firmware, which provides a plug-in architecture for adding various enhancements and functions.
It was first implemented on the early Archos series of hard-disk based MP3 players/recorders (including the flash-only model Ondio), because of owner frustration with severe limitations in the manufacturer-supplied user interface and device operations.
These devices have relatively weak main central processing units (CPU), and instead offload music playback to dedicated hardware MP3 decoding chips (MAS).
These perform audio decoding in software,[7] allowing Rockbox to potentially support many more music formats than the original firmware, and adding the extensibility and increased functions already present in the Archos ports.
[6] In late 2005, work began on a port of Rockbox to Apple's iPod portable players based on CPUs from ARM Ltd. incorporated into systems on a chip sold by PortalPlayer.
During this time, extensive work was conducted optimizing open source audio decoders for each of the ARM series processors.
[8] Additionally builds are often available to developers of unsupported targets, which, while somewhat functional, are typically not ready for general users due to incomplete features or poor stability.
Rockbox is targeted primarily at digital audio players, rather than the much more powerful general-purpose devices (such as smartphones and tablet computers) that have been increasing in popularity since 2010.
[11]A project to port Rockbox to run as an application under a full-fledged operating system was accepted for Google's 2010 Summer of Code[12] and completed.
Fonts and foreground and background colours can be added and selected, while a simple markup language can be used to create themes for the menu and playback screens.
However, more recent versions have included a complementary database feature which allows the player to compile information from the files' ID3 tags.
In addition, there are playback of game audio types ADX, SID, NSF, SAP, SPC, AY, GBS, HES, KSS, SGC, VGM, and VGZ.
Several codecs can be parallelized across 2 CPU cores for increased power efficiency, and the HWCODEC interface allows for dedicated audio decoder DSPs.