I "caused" Rockbox, being the original firmware developer for the Archos Jukebox 6000. apparently the firmware I wrote was so bad around playlist handling and our CEO unwilling to open source the code so that the boys and girls wrote their own.
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 :)
Haha. Hello, I had an Archos Jukebox 6000, in 2001 or so. From what I remember it was pretty awesome. The first MP3 player with a decent hard drive (available for some years before the iPod). I think my main niggle was that it was missing a 'play randomly from my whole collection' feature if I remember correctly. And I think there was a limitation to the length of a playlist so you couldn't just make a huge playlist and randomise that.
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?
the problem with global shuffle was that you could have a LOT of music on the device, thus for a global shuffle you would need to hold an index of ALL the music in memory, and I did not like that.
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
It doesn’t require much memory to shuffle, essentially just an integer permutation generator and possibly an index of block pointers. You could store the latter in the NV storage. This assumes no storable “playlist” at all. If you have playlists then shuffle is trivial.
true, but as said below, I was a bit green at that 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...
Probably today I would use a bloom filter to avoid duplicate plays. You could even produce a transition matrix between albums with similar code and memory complexity.
Very interesting. What was the development like for you? How much time did you have to do this? How experienced were you at the time? Were you ever upset to hear it wasn't loved by users, or was it something you were upset at having to release in it's state due to a fixed deadline?
basically the "mp3 player engine" that was used by Archos (and a few other companies at that time, TerraTex M3PO, SSI NEO25/NEO35) was our first project out of high school, so the code is pretty bad looking at it today :)
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 :)
I was more upset that Archos took our original design with a 4 line LCD and a rotary encoder and reduced it to a single line and U/D/L/R buttons - missing the whole point of "all" your music with you, thus needing a way to browse it fast...
not in code, but I think I answered a few questions. there was also the fact that another MP3 player I was involved in, the Terratec M3PO had a feature to change the MP3 playback speed and the Rockbox people wondered for years how we did that on the limited DSP that it had (same as on Archos products) - took them a long time and some hints to figure out :)
nope, the MAS had MP3 decode fixed in ROM and while you could upload your own algo into the RAM and run it, that meant no MP3 decode at the same time :)
MPEG layer 3 (MP3) differs from layers 1 and 2 in the fact that the frame data for a given audio frame can be spread out over several consecutive MP3 frames, that makes the stream effectively VBR (variable bitrate) even if the total bitrate is fixed at e.g. 128kbit/s. due to that you cannot simply cut at MP3 frame boundaries.
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.
BTW, the original motivation to write that code was a bug in an early version of the DSP chip, it would produce a loud "click" each time the MP3 data stream stopped or started. so instead of stopping the stream I would either play a file (processed as per above) or if stopped or paused repeately insert a frame of "silence" that I encoded for every possible sampling frequency. luckily total silence is a really short frame to store
I used to run this on a Sansa Clip+. It was an amazing combination: great audio quality, expandable storage via microSD, playback of a huge array of formats natively, it ran DOOM, and it only costed around $40 when it was new.
Now I just use my phone and streaming, but I sort of miss that era.
My ~7 year old Sansa Clip+ is still going. Soon after buying it, I was fed up with it scanning everything when I turned it on. When I loaded Rockbox on it, and it was able to reliably go from off to playing music in 2 seconds, I knew it was a keeper! (That's a killer app right there!) I use it just about every day when commuting. I bought another one for my dad about 3 years ago, but he doesn't use it, so I intend to ask for it after mine dies. (Who knows how long that will be. These things are built like old Nokia phones.)
You must be lucky and/or careful. I've gone through a bunch, and aside from losing them, it's always the headphone jack input that goes. Apparently this was common enough there were soldering how-to videos out there.
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 loved my Sansa e200 and installed Rockbox. Just pulled it out of a drawer and remembered what a great piece of hardware it was - hadn't been used in years and the battery still had a charge. The hardware wheel selector is a lost piece of tech that needs to be recovered, perhaps for use in car stereos and TV remotes. Rockbox was a great idea, well executed. However I'm baffled why it's still seeing so much recent activity considering how few MP3 players are still in use.
I still have a Clip+/Rockbox that I load up with meditation tracks. I don't feel as bad falling asleep with this thing clipped to me as I would my phone.
I just picked up another Sansa Clip Zip, I tend to lose them or have them stolen, on the last one the buttons wore out due to playing Rockblox too much! Still my favorite media player with Rockbox.
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
Haha, according to Amazon, I went through 10 clips in the last 10 years. They were the perfect music player for the gym or anywhere else you didn't want to use a bulky and far more expensive phone.
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.
There actually are still quite a few companies making mp3 players, but they call them Digital Audio Players (DAPs) and market them to the audio enthusiast crowd. The do cost a lot more than the Sansa Clips did, but you get better audio quality. Look up Fiio, Shanling, Cowon, and Sony DAPs on Amazon if you want some examples.
Yeah I picked up three of them at a Radio Shack that was clearing them out, all gone now. Most of the value of those would be in the 32 or 64GB microSD card I'd put in them! Most recent one is a refurb off eBay, but the battery is pretty poor.
Judging from all the comments, the Sansa Clip+ was a popular option. I used to have one to and loved it, but eventually my use of a standalone mp3 players faded when I had a phone on me at all times and the last time I pulled it out of a drawer, I couldn't get the thing to hold a charge and it didn't seem worth the trouble to see if replacement batteries for it were even a thing.
Yes - I have Rockbox running on a Sansa Clip+ and it's superb. The only music player apart from Winamp that has a built-in out-of-phase stereo option! (aka 'vocal remover', though the effect is highly variable)
I have a similar story, it really worked well. Nowadays it's hard to compete with services like Spotify, it's got basically all the music I care for accessible instantly.
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've used Rockbox since I was pretty much a child. It had pretty good accessibility support, and a sansa Clip + was an order of magnitude cheaper than all the players made specially for the blind. I remember being so proud of that purchase and my tech knowledge to actually install Rockbox onto the player. A lot of my friends were impressed that I could achieve something like that for such a low price. I remember using Balabolka[1] to convert text ebooks to mp3, with a speech synthesizer, and then reading those books on the Sansa, for the lack of a build-in TTS. I switched to streaming and reading on my phone in like 2014. I never looked back, though I still have the Sansa lying around on my desk.
I remember loading Rockbox on a Archos Jukebox back in the early 2000's[0] as being one of my first real exposures to using open source software. It was glorious, thanks for the hard work!
Yep. Had an early 2000(s) Jukebox, 10 GB I think, that I got on clearance at Target. I loved that thing and used it for several years. Being into open source, I discovered Rockbox and installed it. I was already using Linux. In fact, Linux compatibility was foremost on my mind (in those days) when looking at buying any hardware.
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.
Exact same thing here. One could actually interact with the community very easily, the information was well organized and they made changes in the code visible on the front page of their website. I had other players afterwards, but since then it was always a requirement that it can run RockBox. I loved it especially for its playlist management. Thanks RockBox team!
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.
I really wish I had more of the know how to make a Kickstarter/Crowd Supply for this. I imagine an mp3 player with native Rockbox support would be very popular, especially in the form factor of an iPod and/or a Sansa Clip.
I'd love to see this too and would be interested in funding it. I know that stand-alone mp3 players are a niche now that everyone carries a far more powerful phone. But there has to be enough support to make an open source Clip-like device profitable or at least break-even after costs.
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.
now that everyone carries a far more powerful phone
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.
There are a bunch of niche ones still, they either go way low end or way high end. I have a FiiO X5 for my "regular" mp3 player and a Sansa Clip Sport for my workout one.
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.
I've looked at the FiiO lineup and they do seem like some really sweet hardware, though more geared for the audiophile.
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 have a Gen 2, and there are some firmware warts, but it works reasonably well. Sadly, their new offerings all use Android, so now I have all of the hassles of a Phone (spying, out of date, etc.) in my mp3 player!
I just want a simple self contained mp3 player. If mine breaks, I think my next one will be an iPod loaded with Rockbox.
A few years ago I had the itch to do this and got as far as buying a hardware development kit one of the NXP LCP chips. They're low power ARM CPUs available in LQFP form (so theoretically hand-solderable) and it should be not hard to port Rockbox to it.
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).
> Side note: there's giant hole in the market offerings for hobbyist single board computers.
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.
There have been a number of attempts at this over the years with Rockbox (not sure about recent years though as I no longer hang out in the dev channel on freenode). All of them came to naught eventually though.
Remember using it a lot in mid 2000s. On iPod Mini and the HP Player. Also Sansa.
IIRC , on iPod it let you play more codecs and then there were a few games thrown in.
Loved it and that is what switched on my "change the native firmware" mode. Before this I did not know it could be done. I also realized how OEM hobble the hardware with restrictive firmware.
Now I try not to buy Hardware (phones, routers etc) that can't be flashed with custom firmware.
As a student I learned C and how OSS projects work through hacking Rockbox to add features to my iRiver H320. Fond memories and a very valuable learning experience.
Oh, I have fond memories of the H320 (it was released right around the time of the click-wheel iPod with the grayscale screen). I could watch movies on my portable music player in colour! My friends' minds were blown.
I still have my H320, though I haven't powered it on in years. I even replaced the battery (with an iPod battery, with the wires swapped on the connector), and I replaced the hard drive with a 30GB model. I also got some accessories for it: a dock for your desk, and also a remote control. It was great for listening to music on airplanes.
I'm planning to try selling it on Ebay now, since I just use my phone now.
That brings back memories! Installing Rockbox, switching the battery… I also found out later that you could get a ATA-to-CF Adapter and basically switch it to an SSD.
The great thing about the Iriver H340 (I had the 40 GB version) was that it could play MP3 and Ogg Vorbis. Also, everyone was running around with iPod with a few GB. I was laughing my ass off. RockBox was a little bit more friendly on the battery. I still use the USB OTG cable which came with my Iriver H340 (I gave the device itself away in 2008).
Man that name brings back memories. Was anyone here involved in the iPod Wizard community? I was one of the guys that worked on mapping hex string locations to sprites and characters in each new firmware release. I wouldn't be surprised if I spent more time bricking and salvaging my iPod G4 with Rockbox, iPod Wizard, iPod Linux, and the iPod Wikipedia port than actually playing music on the thing. I ended up doing the same thing with the MacThemes community, specifically in mapping and documenting the iTunes files and enabling that to be themed. I really miss the time spent trying to figure out how to change a single black pixel on the screen that we missed somewhere or figuring out how to display gradients and images when all you have is black, white, and two shades of gray
I had both an Archos and a Cowon MP3 player back in Middle/High School that I loaded Rockbox onto one of (can't remember which). I remember being able to play Doom, watch pirated Family Guy, and listen to my music all on one device and thinking this was the pinnacle of technology.
It run great for years on my two old Sansa Clip Zip, and now that the only barely surviving one is about to go (dead keys, defective phones connector, reduced battery life etc) and attempting to open it is a nearly destructive operation, Those of us who wouldn't use a cellphone for multiple reasons need an alternative, but most modern players are either costly due to being niche market products or can't run Rockbox for having not enough resources.
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.
I‘ve been through the „I‘ll just use it as it comes from the factory“ -> „let me tweak every little thing about this and take it as far as I can“ -> ... cycle more times and with more devices than I care to admit.
This was that moment with my old 30GB iPod, thanks for the trip down memory lane!
This is precisely why I went with the Sansa Clips back in the day. They were inexpensive enough to replace easily if one broke, and RockBox gave them a lot more life. I still have a few of them laying around but haven't been used much anymore due to using streaming services.
I think I picked up my first Sansa Clip+ new for £15, and my second one (just after they were discontinued) for about £35. I imagine it's gone up again since then!
Much love for Rockbox. I used to run this on the iriver h120 and use it for amazing lossless recording on the cheap. This was one of the earliest things that got me interested in open source.
I fondly remember the days of loading this on my 4th gen iPod, having access to games and such.
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.
For those interested, it can run fine on currently produced AGPTRocker/Benjie T2, although it's not officially supported as of yet. More bulky than Sansa, but there's no options left anymore.
Would you mind linking to more info on either that device or its rockbox support? I'm having trouble telling if I'm looking at the right device with a different name or what.
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.
Still running Rockbox on an iPod Video for tunes in a car that doesn't speak Bluetooth but has an aux jack. Considering an upgrade, having recently discovered there are new devices that can run Rockbox, including this one: https://fiio.com/m3k
Hats off to the Rockbox developers. This project has been so solid for so long, I kinda take it for granted.
Heh - I helped out on the port to 80GB video which came with a rather odd ATA controller on it that didn't work with the first cut of the ATA driver that Rockbox had been shipping with before the 80GB model came along.
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
I used Rockbox a lot, I even made my own build so I can configure some buttons to tigger specific actions. Sansa Clip+ with Rockbox has been my music player for a long time.
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.
Used to run this on my old iPod 4G and later on iPod Video. Those were the days. Play whatever audio/video format you want, could run video games. Those were the days -- can't believe it was only 12 years ago.
Wanted to weigh in here, I've got a 5g iPod (Wolfson DAC) with an SSD, upgraded battery and rockbox. It's fantastic, I use it to listen to podcasts before bed. I have something like 200Gb of music on it and I think the last time I charged it was over a month ago.
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.
Installed this on a now-ancient Toshiba Gigabeat 40GB MP3 player waay back in 2010. The default firmware and UI for a lot of non-iPod players were awful, despite having good hardware.
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.
A few of my friends and I went on a FLAC kick back in the late '00s and I remember installing Rockbox on a Gen 4 or 5 iPod in order to play my FLAC files.
I remember installing Rockbox on an original iPod for a blind friend of mine, just because with the right settings it would read out the name of the song to her. It took me about two hours, because we were working on a WinXP PC with JAWS and the iPod wasn't exactly Windows-compatible, even in mass-storage mode.
I used to use this and a few other open source firmwares on my iPod when I was at high school, so I could listen to FLACs. When my school friends (I was in the musical crowd) saw it, they all wanted it too, so I'd install it for them. That would've been in 2009-2010. Those were the days.
I have this on an old iPod Video - easily the best media player I've ever had. I think this was my first exposure to the idea of running non-Apple firmware on Apple devices (loathe to call it a jailbreak, but it feels sorta like one).
I use Sansa Clip Zip with Rockbox daily and mostly for audiobooks.
My favorite feature is possibility to increase playback speed while keeping pitch intact
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