Rockbox – Free music player firmware
rockbox.org
rockbox.org
at times it was one of the rather large open source SW projects in terms of users, developers, testers, translators, doc writers. I'm kinda proud to have caused that :)
AMA
Before rockbox there was some PC utility that would read the whole Jukebox file list and then generate a series of randomised playlists numbered 01 to 99 which covered everything. As such, a roundabout way of getting a global shuffle.
In a way I think this is quite interesting, these days the idea of shuffling songs from your entire collection is very commonplace, but before large-capacity mp3 players people hadn't really thought of doing that before, so perhaps it never made it onto 'features people want' lists. Its obvious now, maybe it wasn't obvious then.
Was there any thought given to a global shuffle feature?
Also, I was never a SHUFFLE ALL type of person myself since that would mix way too different styles of music for my taste - even today, I mostly listen to an album at a time
what we did have was that we would remember a song not by its full path which could be like 256 bytes long, but by only 8 bytes, so when we read in an playlist, we would convert each file path into these 8 bytes and use them to retrieve the tracks later. that made parsing playlists "slow". Rockbox did access the playlist as a file, so they would only resolve the path when the next song was needed, but then they had the time and leasure to write a Posix like file API whereas we moved in a hurry and used a much more primitive block based approach. this was also born out of the fact that our design initially had only 128k of RAM and a larger SDRAM for buffering while the drive is off was only added later...
I was never angry about the fact that people preferred the alternative, given that with Archos we were running at breakneck speed to release a new product every year, constantly piling on more features for better or worse. there was little time to look back and reflect :)
It was my first USB 2.0 storage device I owned too. Soooo fast!
But ya I ran rockbox..
I wrote code to on-the-fly and in-memory convert a fixed bitrate MP3 stream into a variable bitrate one with differing frame length for each frame, adding padding data if needed to adhere to the allowed standard frame sizes. Once I had that I could drop or repeat MP3 frames, thus making the music play faster or slower. Since the reconstruction filters in MP3 decoder where already working across frame boundaries, they would also help to smooth over the artificial transitions introduced by this.
This works nicely up to a speed change of +/- 10%, going much slower would e.g. noticeably double snare drum hits or other percussive sounds.
of course you can also reassemble the frames in reverse order, I have a prototype MP3 "DJ" player where you can use a jog wheel to scrub forwards and backwards through an MP3 file without decoding it.
there, my secret is out :)
Now I just use my phone and streaming, but I sort of miss that era.
One of the things I valued most is being able to navigate the device without looking at it - not possible with the move to touchscreen interfaces most things have moved to.
I had done an early port of NSF, SPC, and ADX players back when I had an iPod Photo, though I think the NSF one was redone since. I also did some work on a text-only wikipedia viewer that was fun to have, though never really shippable: https://www.rockbox.org/tracker/task/4755
That being said, about 3-4 years ago the quality really began to decline on the Clip models - not sure if they just changed their manufacturing place or what, but a lot of us fans were disappointed.
There really are no good options anymore for a standalone small MP3 player. You've got bulky Iphones and Android, expensive IPads (the Shuffle was a good option 'till it was discontinued) and dozens off terrible Chinese knockoffs with poor battery and software*. I also miss the days when there were a dozen major companies competing in the portable music space.
But I suppose that if music streaming follows in the footsteps of TV show/movie streaming where you have to subscribe to half a dozen services to get access to most of the content I'll have to dust off my old Rockbox player and bittorent client. Hopefully it won't come to that.
I especially liked Archos earphones that hooked over the ears and wrapped around the back of the neck. I had to order multiple sets of those earphones separately.
Alas, all things come to an end. It was replaced with an Archos 504 audio/video player with 80 GB. That was so cool too. I had to learn my ffmpeg settings to convert videos to play on it.
Next, I figured out the format, and technique to put videos onto my flip phone (before smartphones). Cool, neato, but capacity was limited.
At the time it was an exciting experience to replace the default firmware with Rockbox. There was some danger involved as there was the small potential of bricking the hardware. I was so nervous, because at the time I was too young to afford replacing hardware. It went smoothly and paid off.
It was instructive in my eventual switch to Linux.
Good times.
The hardware that ran early Clips, IPod shuffles, and other small players existed 15 years ago. A dozen Chinese manufacturers still sell small players, which now are about the only option left, but they skimp on quality components like batteries and decent software.
Power is hardly relevant in this day and age, as any device with a decent firmware should be able to handle a ton of files and formats (this wasn't always the case, hence the need for rockbox).
Smart phones have versatility, but you sacrifice a lot on the music side. The audio hardware within the smartphone isn't as good, and it took a lot of years until there was an android player that had the bare minimum of features required by an audio enthusiast, namely lossless support (flac), replay gain, and gapless playback. Additionally, there are now players that run android and have all the "fruit", so the benefits are dimished.
But don't overlook the versatility of a standalone player, because relatively cheap devices like the Fiio X3 II that I am still running have other advantages compared to phone. It supports big sd cards (wasn't always a given on smart phones), has long battery life, has physical buttons (so can be operated without removing from pocket), and also functions as a USB DAC. So, lots of wins there.
Sadly, I work a daytime job and don't really have the time or will to actually capitalize on this. I do think that'd be a great way for Rockbox to fund themselves though. Make a Kickstarter with Rockbox officially supporting it, and the profits could go to the upkeep of rockbox.
But like you said, they're geared towards either the high end like FiiO or the very very lowend (i.e. third world countries where smartphones are only beginning to become ubiquitous in the last few years).
I just want a simple self contained mp3 player. If mine breaks, I think my next one will be an iPod loaded with Rockbox.
I got overwhelmed at the prospect of starting the CAD schematic and layout for the project (I've done simple microcontroller boards in Eagle, but never one this complex). The daunting task was wiring up all the data and address lines for 2x large RAM chips and 2x Flash chips, and my ADHD kicked in, plus frustration at not being able to use programmer abstractions to do circuit CAD. I also kept not finding the time to port Rockbox on the hardware development kit.
Side note: there's giant hole in the market offerings for hobbyist single board computers. You have microcontrollers with KB's of RAM, and things like the Raspberry Pi with GB's of RAM, but there's nothing with ~16 MB of RAM and a low power 32-bit processor. The chips exist, just no one has created a cheap & compact hobbyist board (i.e. not a hw dev kit).
ST's STM32 Discovery boards [1] fit that bill reasonably well. They're inexpensive (many under $20, most under $100), supported by an open toolchain (GCC / GDB / OpenOCD), and provide a wide variety of peripherals. Most parts don't have more than 1 or 2 MB of on-chip SRAM, but a decent number of their boards have 8 or 16 MB of external SDRAM.
[1]: https://www.st.com/en/evaluation-tools/stm32-discovery-kits....
They seem to be in the business of making Linux style things, and I wonder if this would be up their alley.
I use a CLip Sport for workouts, but they are not nearly as good as the Clip+
I'm planning to try selling it on Ebay now, since I just use my phone now.
I think Rockbox badly needs to be ported to other architectures. The cheap and powerful Esp32-WROVER modules (4MB Flash + 8MB PSRAM) could probably be a capable candidate, and i2s for the external DAC is already supported. Not an easy task though.
This was that moment with my old 30GB iPod, thanks for the trip down memory lane!
I think this sort of behavior should be embraced by manufacturers, but I get it; everything needs its own app store these days for a continuous stream of revenue.
I'd love to have rockbox running again, my last player died years back. Unofficial support would be fine as long as it works decently well.
EDIT: Found it, it's the AGPTEK Rocker v1 or v2 (same insides apparently), or also the Benjie T6. I could not find a T2 at all.
Found from: http://forums.rockbox.org/index.php?topic=52220.0
The most active thread is this one: http://forums.rockbox.org/index.php/topic,51653.0.html
AGPTek seems to not be complying with the GPL, which bothers me, but I doubt I'll be able to resist the temptation to get rockbox working again.
Nowadays I use my phone and really miss the physical buttons that I could use blindly while it's in my bag.
Hats off to the Rockbox developers. This project has been so solid for so long, I kinda take it for granted.
Fun times. Still have loads of friends from the dev crowd, including Daniel Stenberg, who is better known for curl - but was also one of the original Rockbox hackers. :D
The problem now is that mobile phones have killed multimedia players and it's hard to find new players with Rockbox support :-(
Again, as mentioned in the original thread: the idea is cheap, light+small, Free/Open, extensible hardware. Sansa were on the right track with the Clip. Not everything has to be touchscreen/hi-res display. It just needs to be reasonable in price and robust enough to withstand adventures, sleeping and some water.
TY <3
PS: We have a Quake port - https://www.rockbox.org/wiki/PluginQuake :)
I think the interface could use a little polish, but that aside there is still no mobile listening experience that surpasses having all of your music on you all the time and knowing that when you're at 50% battery you've still got close to two days straight of listening at max volume.
Rockbox had DOS-like graphics but it's functionality was amazing. I remember installing it because I wanted to calculate how much battery life my 5-year old Toshiba had left. It actually had a counter where it'd play music till the battery died, and when you rebooted it, it'd show you exactly how long playback lasted. Really nifty feature.
Thank you for the trip down the memory lane.
Of course, I keep it around for the memories as this was my first buy with money earned from RentACoder.com when I was in college. Fond memories :)
- multiple swappable storage/battery backpackd
- built in fm transmitter
- Linux based firmware / iTunes like music management that was Linux native
- mp3 ogg Flav support
- radio support plus scheduled recording
- Shazam like feature called "hear it see it" when plugged in
- ridiculously long battery life
In 2003
I wrote this software for messing about with rockbox back then: http://www.stats.ox.ac.uk/~davison/software/dbm/ (Not sure if the stats department know they're hosting it...)