Rockbox: Difference between revisions
→Rockbox features: link to correct section of the EQ article |
→Rockbox features: add reference |
||
Line 116: | Line 116: | ||
* OTF ("on the fly") playlists |
* OTF ("on the fly") playlists |
||
* True random shuffle (fresh randomly shuffled list every time) |
* True random shuffle (fresh randomly shuffled list every time) |
||
* Custom [[Theme (computing)|UI themes]] |
* Custom [[Theme (computing)|UI themes]] <ref name=themepage>{{cite web|title=Rockbox themes|url=http://themes.rockbox.org/|accessdate=19 April 2012}}</ref> |
||
* Dynamic Playlists (queue files to play next, or in other parts of a dynamic playlist) |
* Dynamic Playlists (queue files to play next, or in other parts of a dynamic playlist) |
||
* Stereo voice/MIC & FM radio recording to WAV/AIFF/WavPack (lossless) and MP3<ref>MP3. WavPack and AIFF are not available on Archos devices. Multiple sample rate frequencies and bitrates are available (hardware-dependent).</ref><ref>{{cite web|title=Recording|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildch10.html#x13-14900010|work=Rockbox Manual|accessdate=May 22, 2011}}</ref> (limited model/device/target support) |
* Stereo voice/MIC & FM radio recording to WAV/AIFF/WavPack (lossless) and MP3<ref>MP3. WavPack and AIFF are not available on Archos devices. Multiple sample rate frequencies and bitrates are available (hardware-dependent).</ref><ref>{{cite web|title=Recording|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildch10.html#x13-14900010|work=Rockbox Manual|accessdate=May 22, 2011}}</ref> (limited model/device/target support) |
Revision as of 00:39, 19 April 2012
![]() | This article contains content that is written like an advertisement. (November 2011) |
![]() | |
![]() Main menu using default theme | |
Developer | The Rockbox Project |
---|---|
Written in | C, assembly language |
OS family | Embedded operating systems |
Source model | Open source |
Initial release | June 2, 2002 |
Latest release | 3.11.2 / April 12, 2012 |
Repository | |
Marketing target | Firmware replacement for digital audio players |
Platforms | Digital audio players, various |
Default user interface | Graphical user interface |
License | GNU General Public License v2 |
Official website | www |
Rockbox is a free and open source replacement for the standard firmware in various forms of digital audio players (DAPs). 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. Enhancements include personal digital assistant (PDA) functions, applications, utilities, and games. Rockbox can also retrofit video playback functions on players first released in mid-2000. Rockbox includes a voice-driven user-interface suitable for operation by blind and visually impaired users.
Rockbox runs on a wide variety of devices with very different hardware abilities: from early Archos players with 1-bit character cell-based displays, to modern players with high resolution color displays, digital optical audio hardware and advanced recording abilities.
History
The Rockbox project began in late 2001 and 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).[1] Rockbox was unable to significantly alter playback abilities. Instead, it offered a greatly improved user interface and added plug-in functions absent in the factory firmware. Rockbox can be permanently flashed into flash memory on the Archos devices, making it a firmware replacement.
Versions of Rockbox have since been produced for more sophisticated devices. These perform audio decoding in software,[2] 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. Rockbox is run from the hard drive or flash memory after being started with a custom boot loader, so to upgrade Rockbox, users need only copy the files onto the player's drive and restart the device. Reflashing is only needed when changing the boot loader, and on some platforms is not needed at all.
The first of these ports, beginning in late 2004, was for the ColdFire-powered devices manufactured by iriver, focusing on the H1xx series of hard drive players (H110/H120/H140). About one year later, a port for the H3xx series became functional, offering similar functions.[1]. 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 portal player. Throughout 2006, Rockbox ports were made available for a variety of iPod models. Beginning in 2007, ports became available for a large number of additional ARM based targets, including players from Sandisk, Toshiba, Olympus and Phillips in addition to newer Apple and iRiver players based on a variety of ARM7, ARM9 and ARM11 series processors. During this time, extensive work was conducted optimizing open source audio decoders for each of the ARM series processors. In 2008, porting began to processors based on the MIPS architecture. In 2010, work began on supporting "hosted" architectures where rockbox runs as an application inside of more complex operating system.
To date, all Rockbox ports have been accomplished by reverse engineering with little or no manufacturer assistance. As free software, many Rockbox developers and supporters hope to eventually see official manufacturer support for new ports, or at least unofficial assistance in porting Rockbox to new devices. Only a few companies have expressed interest in Rockbox, and none have officially contributed code to the project or included it with their hardware. The Sansa e200v1 port is the first to be started at the request of the hardware manufacturer, who gave the Rockbox team samples of their devices.
Rockbox is continuously developed, with new Git builds being released after every source change, and stable releases every 4 months for targets deemed sufficiently mature.[3] 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.[4]
Future
Rockbox is targeted primarily at digital audio players, rather than more powerful general-purpose devices (such as smartphones and tablet computers), which have been increasing in popularity since 2010. Some authorities expect the former class of devices to become obsolete in the next few years.[5]
Daniel Stenberg, a founder of the Rockbox project, envisions the project evolving away from a standalone Rockbox operating system to Rockbox as a media player application that runs under mobile operating systems, such as Android, iOS, or MeeGo:
In a chat after my Rockbox talk at Fosdem 2010, two other core Rockbox developers (Zagor and gevaerts) seemed to agree to the general view that a Rockbox future involves it running as an application. Out of the existing systems mentioned above, I'd prefer to start this work focused on Android. It has the widest company backing combined with open source, and it's also the most used open phone OS. I don't think there's anything that will prevent us from working on all those platforms, as the back-bone should be able to remain the same and portable code we already have and use. Heck, it could then also become more of a regular app for common desktops, too.[6]
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[7] and completed.[8] Currently, Rockbox runs on Android based players, but integration into Android and conversion to work with touch based devices is ongoing.[9] Subsequently, an anonymous Chinese developer unofficially ported Rockbox to Palm's WebOS.[10]
Customization
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Wps-brushedmetalh300wps.png/200px-Wps-brushedmetalh300wps.png)
Subject to the limitations of each particular platform, the appearance of Rockbox can be customised in various ways. 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.[11] These themes can include backgrounds and other images (such as icons), plus various formats for file names, ID3 tags, album art, file progress, and time and system information.
Rockbox has essentially been a file-tree based player, to which folders could be dragged and dropped and then navigated by folder structure. However, more recent versions have included a complementary database feature which allows the player to compile information from the files' ID3 tags.[12] The user can then navigate the files regardless of file structure.
Features
Codecs
Rockbox on software decoding platforms (non-Archos) supports playback of eleven lossy codecs (depending on how one counts), five lossless, two uncompressed and twelve miscellaneous formats.[13] This makes a conservative total of 30 supported audio formats, although a few of them do not operate in realtime on all platforms. Extensive work has gone into optimizing each codec, with FLAC, Ogg Vorbis, WMA, APE, TTA, MPC, Wavpack, ATRAC3, Cook and WMA Pro among the fastest known integer implementations for those formats.[14]
Lossy formats
- MPEG audio layers I-III (MP3/MP2/MP1)
- Ogg Vorbis
- MPEG-4 AAC(-LC/HE/HEv2 profiles) (in MP4 or RM containers)
- Musepack
- AC3 (raw or RM container)
- WMA Standard
- WMA Professional
- Speex
- Cook
- ATRAC3
- The lossy portion of WavPack hybrid files
Lossless formats
Uncompressed formats
Together they include over a dozen different PCM and ADPCM formats.
Miscellaneous formats
In addition, there are playback of game audio types ADX, SID, NSF, SAP, SPC, AY, GBS, HES, KSS, SGC, VGM, and VGZ. The MOD tracker format, and the Yamaha SMAF are also now supported.[15]
Some profiles in Monkey's Audio are not real time on all targets due to very high CPU needs. Also, Rockbox will not play files with a digital rights management (DRM) scheme.
Rockbox features
Beside the ability of playing and recording audio files, Rockbox offers many playback enhancements that other firmware packages may not have implemented yet. Listed below are a handful of these features.
- Gapless playback[16]
- Crossfading[17]
- ReplayGain[18]
- 5 band fully parametric equalizer[18]
- Variable speed decoding with pitch correction[19]
- Crossfeed[18]
- OTF ("on the fly") playlists
- True random shuffle (fresh randomly shuffled list every time)
- Custom UI themes [20]
- Dynamic Playlists (queue files to play next, or in other parts of a dynamic playlist)
- Stereo voice/MIC & FM radio recording to WAV/AIFF/WavPack (lossless) and MP3[21][22] (limited model/device/target support)
- FM radio, including FM recording (limited model/device/target support)
- Remote control (supporting devices)
- Digital S/PDIF input/output (supporting devices)
- Last.fm support (even on players lacking RTC)
- Cue sheet support
- Changeable selector bar
- Album art[23]
- Sleep timer
Plug-ins
Rockbox developers can create plug-ins, which provide the user with other enhancements that may not be available on various firmware modules.
Available plug-ins include:
- JPEG viewer (16 bit color/129 shade greyscale)[24]
- Rockboy Game Boy emulator (port of Gnuboy)[25]
- ZXBox ZX Spectrum emulator (port of Spectemu)[26]
- Doom (port of the PrBoom engine)
- WAV to MP3 encoder
- WAV to WavPack encoder
- MPEG video player[27]
- PictureFlow, an album art viewer similar to Apple's Cover Flow
- Various games including sudoku, solitaire, chess, minesweeper, pong and many others (see http://www.rockbox.org/twiki/bin/view/Main/PluginIndex for an official list of plug-ins)
- Musical Instrument Digital Interface (MIDI) player, real-time on some targets. Needs external instrument set, available on Rockbox page.
Architecture
Rockbox uses a simple kernel,[28] with a flat memory model, letting it run on platforms without a memory management unit, and single process. Thin threads run cooperatively, returning control to a scheduler that prioritizes the audio thread; the only form of preemption is through interrupts. The operating system and plug-ins are written in C, with assembly used for code that is device- and platform-specific, and performance sensitive. The simple and lightweight architecture allows Rockbox to run on a variety of targets, with memory ranging from 1 to 64 MB, and CPU speeds ranging 12 to 532 MHz. Rockbox also provides support for multicore and asymmetric multiprocessor systems based on ARM, ColdFire, MIPS and SH. Several codecs can be parallelized across 2 CPU cores for increased power efficiency, and the HWCODEC interface allows for dedicated audio decoder DSPs.
Rockbox utility
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/IPod_Nano_1G_4GB_On_Rockbox_%26_iPod_Classic_4G_20GB_Do_Not_Disconnect.jpg/220px-IPod_Nano_1G_4GB_On_Rockbox_%26_iPod_Classic_4G_20GB_Do_Not_Disconnect.jpg)
The Rockbox Utility is a free computer application, available for Linux, Mac OS X, and Microsoft Windows, built using Nokia Qt platform, that is used to install and manage Rockbox on DAPs. Rockbox Utility allows downloading and installing Rockbox, and many of plug-ins and extras, directly onto a DAP automatically, unlike the traditional method of installing which requires downloading the correct files and installing them onto the DAP manually. The most recent version of Rockbox Utility is version 1.2.11, released November 6, 2011.[29]
Supported devices
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/IPod_mini_rockbox.jpg/220px-IPod_mini_rockbox.jpg)
The following should be considered to be a list of devices that at least substantially work (listed as "Supported" or "Usable" on the Rockbox wiki Device Chart). See the Rockbox Target Status for details.
Apple
- iPod 1st generation
- iPod 2nd generation
- iPod 3rd generation, FireWire only
- iPod 4th generation, grayscale
- iPod 4th generation, color/photo
- iPod 5th and 5.5 generation, video
- iPod 6th generation, Requires emCORE
- iPod Mini 1st generation
- iPod Mini 2nd generation
- iPod Nano 1st generation
- iPod Nano 2nd generation
Archos
- Archos Jukebox series:
- FM Recorder
- Recorder v2
- Ondio FM
- Ondio SP
Cowon
iRiver
- H10 series: H10 5, 6, 20 GB
- H100 series: H100/H110/H115/H120/H140, aka iHP-100/110/115/120/140
- H300 series: H320/H340
MPIO
- Mpio HD200
Packard Bell
- Vibe 500
Philips
Samsung
- YH-820
- YH-920
- YH-925
SanDisk
- Sansa e200 series – v1 and v2/AMS
- Sansa e200r series
- Sansa c200 Series – v1 is stable, v2/AMS is unstable
- Sansa Fuze – v1 and v2
- Sansa Fuze+ – Unstable
- Sansa Clip/Clip+/Clip Zip
High capacity micro SDHC memory cards can be read by Rockbox in the c200, e200 series, Sansa Fuze (v1, v2, & Fuze+), Clip+, and Clip Zip.
Toshiba
- Gigabeat F series: F10/F11/F20/F21/F30/F31/F40/F41/F60
- Gigabeat X series
- Gigabeat S series, standard build works, needs a few external steps
Olympus
Rockchip
- Rockchip RK27XX (generic)
See also
References
- ^ a b "rockbox history".
- ^ "rockbox software decode".
- ^ "buildsys".
- ^ "unstable".
- ^ Joe Brockmeier (June 16, 2010). "Rockbox 3.6 and Beyond". LWN.net.
- ^ Daniel Stenberg (February 15, 2010). "The Rockbox future is an app". Daniel Stenberg's blog.
- ^ "RockboxAsAnApplication2010 < Main < Wiki". Rockbox.org. Retrieved March 12, 2011.
- ^ Rockbox Contributors. "mail archive". Rockbox. Retrieved March 12, 2011.
{{cite web}}
:|author=
has generic name (help) - ^ "TouchscreenInterface < Main < Wiki". Rockbox.org. Retrieved March 12, 2011.
- ^ "万能播放器ROCKBOX for palm pre,新软支持下,绝对不会失望~~ – Palm Pre/+, Pixi/+, webOS – Pre,Pixi,webOS,Treo – Powered by Discuz!". Treo8.com. Retrieved March 12, 2011.
- ^ "Customising the User Interface". Rockbox Manual. Retrieved May 22, 2011.
- ^ "Database". Rockbox Manual. Retrieved May 22, 2011.
- ^ "Rockbox Supported audio formats". Rockbox Manual.
- ^ "Codec performance comparison – Hydrogenaudio Forums". Hydrogenaudio.org. Retrieved March 12, 2011.
- ^ "Other Codecs". Rockbox Manual. Retrieved May 22, 2011.
- ^ "Codec Featureset". Rockbox Manual. Retrieved May 22, 2011.
- ^ "Crossfade". Rockbox Manual. Retrieved May 22, 2011.
- ^ a b c Software decoding targets only
- ^ "Pitch". Rockbox Manual. Retrieved May 22, 2011.
- ^ "Rockbox themes". Retrieved April 19, 2012.
- ^ MP3. WavPack and AIFF are not available on Archos devices. Multiple sample rate frequencies and bitrates are available (hardware-dependent).
- ^ "Recording". Rockbox Manual. Retrieved May 22, 2011.
- ^ "Some limitations. Details at Rockbox Wiki". Rockbox.org. Retrieved March 12, 2011.
- ^ 129 shade greyscale is achieved on 1 bit and 2 bit (4 shade) greyscale targets due to exploitation of the slow passive LCD refresh rate.
- ^ Rockboy supports original Game Boy and Game Boy Color ROMs.
- ^ ZXBox emulates ZX Spectrum 48. The original site of Spectemu
- ^ The mpegplayer plug-in supports MPEG-1 and MPEG-2 video streams with MPEG audio (layer II/III) multiplexed into .mpg files with no hard limits on frame rate or bit rate. Files must be encoded at native screen resolution. Seeking is now implemented. [1]
- ^ "About the Rockbox kernel". Rockbox.org. Retrieved March 12, 2011.
- ^ "RockboxUtility < Main < Wiki". Rockbox.org. Retrieved March 12, 2011.
External links
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- Official website
- FLOSS Weekly – 43: Rockbox TWiT.tv (network) podcast with Paul Louden of Rockbox