Rockbox Development > New Ports
[Port Idea] Tangara The music player you wish you had in the early 2000s
speachy:
--- Quote from: Oktan on April 05, 2024, 01:40:24 PM ---How is it possible for modern devices to be too weak for Rockbox? They can't possible be weaker than the Archos players and the original iPod or anything, right?
--- End quote ---
"modern" doesn't mean "more capable", it just means "newer".
The bottleneck with modern parts is rarely the CPU; it's usually the quantity (and/or performance) of the onboard memory. Older designs exclusively used external parallel DRAM with some limited on-chip SRAM. Newer designs have more on-chip SRAM but rarely support external DRAM any more, because that costs more -- both in the overall bill of materials and the number of pins you have to have on the chip to interface with it.
For example, The ESP32 part used in Tangara player has 4MB (usable) of QSPI-attached "PSRAM" which is pretty crappy; IIRC it has a theoretical bandwidth of 40MB/s for linear reads (random is a _lot_ slower) In comparison, consider that the two-decade-old iriver IHP-1xx series has 4x (or 8x) the amount of RAM, with over 6x more memory bandwidth with and far lower per-operation overhead. Meanwhile, the ESP32 has about 4x the raw CPU oomph as the IHP (2 cores, with about 2x the oomph each!)
saratoga:
My smart light switches use esp32 microcontrollers. Just because something was designed recently doesn't make it a good choice for audio playback or make it better than older hardware for a specific task. Microcontrollers especially are often very limited by memory, which is fine if you want to toggle a light switch.
Oktan:
--- Quote from: saratoga on April 06, 2024, 09:36:34 AM ---My smart light switches use esp32 microcontrollers. Just because something was designed recently doesn't make it a good choice for audio playback or make it better than older hardware for a specific task. Microcontrollers especially are often very limited by memory, which is fine if you want to toggle a light switch.
--- End quote ---
Yeah, but I mean, it's intended to be a music player. Why were music players from the 00s so overpowered then?
speachy:
--- Quote from: Oktan on April 06, 2024, 05:00:43 PM ---Yeah, but I mean, it's intended to be a music player. Why were music players from the 00s so overpowered then?
--- End quote ---
Most DAPs from 20 years ago used SoCs capable of running real operating systems. They were also relatively expensive, even before inflation is factored in.
Most stuff today is built around cheap microcontrollers executing code from solid state storage and pulling data directly from other solid state storage into hardware codecs without CPU intervention. They are designed to be as minimal, integrated, and most importantly, cheap as possible to accomplish that task, resulting in a feature set that is largely locked in at the time the ASIC is produced.
20 years ago, flash was slow and expensive, so you had to execute code from RAM. You also had to buffer large amounts of data into RAM so you could leave the spinning rust hard drive powered off most of the time (and to reduce latency). Finally hardware codecs were relatively rare and expensive versus a more powerful CPU so one could do it all in software.
Meanwhile. Those $20 shovelware players have essentially identical (and very lacking) feature sets, with the software written entirely by the SoC vendor and lightly skinned for each customer. The ESP32-based tangara uses a off-the-shelf SoM on a custom motherboard, but its software is completely besopoke and intimately tied to the ESP32 vendor libraries (many of which are proprietary) with a relatively limited feature set (vs Rockbox).
Rockbox directly supports several dozen different devices encompassing four major CPU architectures and can run bare-metal, on Linux, or any SDL-capable platform. It supports 1bpp-to-32bpp screens of near arbitrary resolution, has an extensive codec, plugin and game library, arbitrary button configurations, touchscreens and a fully themable, translated, and *voiced* UI. The only limitations are those imposed by the hardware. And every line of its source code is under a F/OSS license.
Can it be made to work on the tangara player? Absolutely! But the feature set (and performance) is going to suffer somewhat due to the ESP32's limitations.
Navigation
[0] Message Index
[*] Previous page
Go to full version