Get the top HN stories in your inbox every day.
prell
khazhoux
I also came to say, some 27 years later, I still think winamp had the right UI. So simple:
* A collection of files in directories
* Ability to randomize full collection, or play just one directory
wink
the only reason I've preferred foobar for many years is that I can have many playlists "loaded" at the same time. If Winamp's playlist panel had tabs (and a bigger font)...
randomstate
I love it, I was looking for a simple music player like this! FYI Currently the standard bookmark shortcut `cmd + d` changes the theme instead of bookmarking the website :-)
bromuro
To me the go-to music player has always been foobar2000. (Replaced today by Cog app)
out-of-ideas
2025 and im still rockin foobar2000 with 2000 plugins. wish a native linux binary was out though through wine is okay, just lacks native dark mode
andrew_lettuce
Foobar2000 is the irfanview for audio, apps I still use regularly more than 20 years and counting.
jorams
I haven't used it and you might already be familiar, but I've seen people mention fooyin[1] as similar enough to foobar2000 for them to make the switch. Might be worth checking out.
blacklion
What plugins do you use? I cannot imagine to add even 10 plugins to foobar2K, especially now,when "exclusive" access to sound card is built-in and doesn't require WASAPI/ASIO plugin anymore.
undefined
brulard
foobar2000 is awesome on Windows, but on Mac its a very different and lackluster app. At least it was some years ago.
julianz
This works great! Nice one.
wvh
I've been building a music collection in FLAC format for 25 years, and last year I bought an (Android) phone and a MicroSD card of 1TB that fits all of my music. It's been a long project for technology to catch up, but now that it's possible to have all of it in my pocket, I'm pretty happy with it.
I'm sure I can't be the only one that doesn't want to be a renter, give up control and stream anything the industry wants to push or deal with ads. It's cool to see some even go to great lengths to write their own application.
eviks
Technology has caught up many years ago, it's just that you insist on an format not fit for purpose. With good reencoding you get transparent audio quality (impossible to hear a difference) to fit all of your music on a much smaller card. (and as a backup you can always have those FLACs on the desktop)
wvh
Perhaps. I've never gotten into the effort of re-coding everything, though I have converted some to MP3 to take on runs with me before memory cards exceeded the size of the data. I'm happy we're getting at a point not having to care anymore about disk space – that is, those of us not locked into a walled garden forcing expensive upgrades for more storage.
legends2k
Even if we agree on a format I don't want someone to quietly say a song I like is gone from my library while I wasn't looking due to some reason.
duped
People should use wavpack for archiving instead of flac, to be quite honest. It feels like FLAC has mindshare and name recognition but it doesn't support hybrid encoding (which is great for storing audio for archival and playback) or more than 8 channels of audio.
eviks
Music has 2 channels, so that feature is of no use. The other feature is cool as it avoids the need t maintain 2 sets of tags, though as far as I understand, it's not widely supported, especially in smartphones
hulitu
> Technology has caught up many years ago
citation needed. Youtube still gives you crappy, unlistenable 153kbps crap.
eviks
You're not limited by YouTube, it's your library, your encoding settings. And you don't even need any citations, do a proper AB test yourself to confirm the well established
duped
There are a number of studies on this but this one has a good summary (1). The TL;DR is that over 256 kbps for MP3 there's no significant data that listeners could perceive a difference to CD quality audio. Lower than that you can perceive artifacts.
I'm too lazy for finding this but I recall this study or similar repeated for trained listeners (musicians and mastering engineers) with the same results.
Note that MP3 is 30 years old and newer perceptual audio codecs can beat it.
YouTube picking lower bitrates is a problem but the qualifier here is "at sufficient bandwidths."
(1) https://www.researchgate.net/publication/257068576_Subjectiv...
blacklion
You are very good collection curator! Only ~25% of my collection is FLAC/APE/ALAC/WavePack and still I have more than 3TB. It is what stops me from listening music on the go — I cannot choose what to put in mobile device in advance :-)
sshagent
I solved this by running a music stream. All songs i "like" are in a collection, and ices/icecast randomly select one song after another (i can also request things via discord bot) and i just fire up VLC and listen when i need music. Yeah its a little too random at times, but its also fun.
BeFlatXIII
I have a Pi in my kitchen that I use as a Navidrome server. Of course, this only works so long as my phone has data reception.
blacklion
I've tried many media servers (but not Navidrome, though, I'll try it too!) and all for them mangle my collection. Albums shown twice (because there is FLAC and CUE files, for example), albums splitted into to tracks (each track seen as its own album, I don't know why), problems with non-unicode tags in old files, 6 ways to spell "Bjork", some don't understand FLAC with embedded CUE (and don't show tracks in such files at all), and, as a cherry on the top, none of them understand such abomination as ISO image with WavePack and CUE files inside (format which was popular on one big tracker some time ago). Files without tags are also a problem. So, each of these servers show 75% of collection Ok and 25% as hot mess. Each software has its own 25%, of course.
And I don't have any willpower to fix all tags and formats in 3.5TB collection (for example, to re-code all lossless zoo to FLAC and fix all MP3 tags for IDv2.4 format and Unicode).
Matl
There are DAPs with two SD card slots such as [1]. There's now also 2TB sd cards, be it they're not cheap yet.
[1] - https://hifigo.com/products/hiby-rs2?variant=43134031167727
Matl
I have also been building a personal collection of exclusively FLACs, be it for a lot less than 25 years. It's past 1TB but https://www.navidrome.org as the server and https://symfonium.app as the client has been great.
Granted, 2TB sd cards are now a thing so once they come down in price, I'll probably get one.
nullwarp
Never seen Symfonium before going to have to give that a try looks great!.
I've been using Plex+PlexAmp for a while but have been really wanting to move to something outside of that.
Eavolution
I've always had the issue on Android of the cover art/title being unreliable i.e. I change it and it just doesn't change, or it does then randomly changes to a random cover. As far as I could tell this was a bug in Android, did you run into this?
tschumacher
I built my own web app to listen to full albums while allowing me to take breaks and switch devices. I really like to listen to albums from front to back but I found that at least YouTube Music doesn't remember playback position and you can't just switch devices without pulling up the album again on the other device and finding the position where you left off. My web app lets me paste a URL that is then downloaded to the server using yt-dlp and can be streamed from there. It always remembers playback position so I can listen from the phone in my car and then continue on the laptop at work from where I left off. It also works great for adding mixes from other sources such as NTS Radio - one of my favorites.
sphars
You've just described one of my biggest frustrations with YouTube Music, wishing I could save queues and switch devices more seamlessly.
Would love to take a look at your web app if it's available
duxup
This is a good read, admittedly haven't finished it yet. I like reading about the more granular details developers decide on and why.
I will say that I sympathize with the idea that ... I don't like any audio players that I've tried, but in the world of music apps the layout of screens and UI seem almost universal across them and ... I just don't like them / don't "get it".
I feel like I'm boxing with every music app ever...
I appreciate anyone who takes a shot at making something new.
al_borland
I still use the Apple Music app with my own local files.
I turned off Apple Music (the steaming service), loaded everything into Apple Music (the app on macOS). I then plugged my phone into my laptop like it was 2007 and synced it over like an iPod. Everything works as expected. My music doesn’t change so much, so syncing hasn’t been an issue. I get a certain hit of nostalgia when syncing over the wire as well.
frosted-flakes
Automatic wi-fi syncing to iTunes still works fine as far as I know.
runxel
Huh, iTunes is not a thing anymore... so how would that work exactly? Genuine question, what do I miss here?
jiehong
If you plug your iPhone on your Mac, you can click "show this iPhone on WiFi" in finder.
Then it’ll show up in Apple Music when connected on WiFi, and sync can happen this way.
frosted-flakes
It is on Windows.
selkin
> Initially, I avoided Swift because of my previous experience with it […] without native async/await at that time, writing concurrent code compared to Go or JS/TS felt clunky and boilerplate-heavy.
I have to disagree. Async may makes concurrent code easier to write, but also less simple to reason about as it grows. In a complex async codebase, I find it harder to reason about code flow and concurrency.
If the goal is to reduce the cost of executing threaded code, we have a solution in green light weight threads.
If we aim to reduce the cost of maintaining threaded code, I expect async to end up costing more effort in the long run.
eikenberry
> Async may makes concurrent code easier to write, but also less simple to reason about as it grows. In a complex async codebase, I find it harder to reason about code flow and concurrency.
Good concurrency should make the code simpler to understand and reason about as it grows. Simply having process/service based encapsulation is a huge win. IMO this is a failing of the async/await abstraction, not concurrency itself.
selkin
> Good concurrency should make the code simpler to understand and reason about as it grows.
As an ideal.
But you can only go so simple once you have a piece of data that is read at the same time by many, while also maybe mutated by at least one. And as simple you can get version 1.0, as software grow, it gets new features which necessitate more interactions with that data, which makes synchronization more complex.
eikenberry
> [..] once you have a piece of data that is read at the same time by many, while also maybe mutated by at least one.[..]
Dataflow patterns avoid this sort of issue by eliminating shared memory mutation. All data flows through the system by value with mutations only flowing downstream. There are several "Concurrency Patterns" videos by Rob about using these patterns in Go on youtube.
Citizen_Lame
But for his usecase, this most likely won't be an issue as he just wants simple audio player.
ivyirwin
I was hoping the article was going to be about a physical device as well as the software to manage and play songs. A few years ago I wanted to get my 10 year old son an mp3 player – he's really into listening to music but wasn't ready (still isn't) for a phone. I was shocked by the state of the mp3 player options. When Apple discontinued the iPod they created a huge vacuum that no one seems to have filled.
I think the iPos shuffle (usb stick form) is still the best mp3 player I ever had – it was small, pluggable without extra cords, and battery lasted a really long time. It didn't have a screen to browse music but that was part of the idea – just let the shuffle do its thing. Even this relatively simple concept has not been replicated in the hardware market.
People will say it's not a hardware problem but a software/drm issue. I think that's a real shame. I wish there were a good, inexpensive, portable device that would just play my music.
TheDong
> When Apple discontinued the iPod they created a huge vacuum that no one seems to have filled.
I think the real shift here isn't the iPod vanishing.
I think the existence of Spotify and smartphones is what killed mp3 players. Both of those just filled so much of the air in the room that it smothered everything else out.
cloudhead
Fiio has a bunch of products in this category, eg. https://www.fiio.com/cp13 and https://www.fiio.com/jm21
hexfish
Vouching for Fiio. They make really nice stuff! Never tried their audio players but the few Fiio DAC's I have used all felt really premium, especially for the price.
zevon
Maybe also an option and an educational little project about electronics and (re-)using "old" devices: There are lots of used iPods around and many of the old hard drive models are pretty easy to retrofit with flash-based storage (there are also lots of options for aesthetic customization as well as more involved modifications such as adding Bluetooth, USB-C and whatnot). As others have mentioned, the software side also still works well with iTunes on Windows and Finder/Music integration on MacOS.
MarcellusDrum
I think its a demand issue, not a hardware/software one. Chinese manufactures are creating Mini IPhone 16 and Mini S24, devices that look good, can play music, have the functionalities of a smart phone, and sell for $50-$100.
Parents will probably buy similar devices to their children instead of an MP3 Player. You have an unconventional parenting style not to get your son a phone at 14. Don't get me wrong, I respect that, but there isn't a lot like you to warrant a demand beyond what's currently available.
brulard
OP says son is 10 years old. (not sure if it was edited)
MarcellusDrum
He said a few years back. I might have wrongly assumed 10 was his age back then.
stateofinquiry
Sony still makes very nice players - under the "walkman" brand no less. https://electronics.sony.com/audio/walkman-digital-recorders... . Probably too pricey for a 10-y-old child, but you might be able to find a used one on ebay?
videogreg93
This are just dumbed down phones in a sense: I don't want my mp3 player to be running android. I want a minimal piece of software that lets me quickly navigate to the songs that I want, and physical buttons to do it. I've look long and hard for something like this and cannot for the life of me find it. I'm really sad that I lost my Ipod classic 10 years ago.
DocTomoe
Sony also has 'dumb' - and incidentally cheaper - MP3 players: https://electronics.sony.com/audio/walkman-digital-recorders...
That model looks a lot like what the iPod nano did.
TheDong
Surfans F20 HiFi MP3 Player / HiFi Walker H2 fits your description.
Both are compatible with rockbox, so if you install that you can be sure they aren't running android: https://www.rockbox.org/
flobosg
You just reminded me that I have a SanDisk Clip lying around somewhere in my flat.
voidUpdate
Just buy a bag of nuggets from ebay :P
theandrewbailey
Then make a YouTube channel out of it:
https://m.youtube.com/playlist?list=PLv0k4pV5hufxLd70t1bN7Zj...
slmjkdbtl
Managing local music with Music.app and syncing with Finder iPhone sync still works good for me, but Music.app does seem unmaintained for a couple years now with some annoying bugs since the terrible Big Sur rewrite. Despite the flaws this combination is still the best music library management + mobile sync solution I've seen (plz recommend!), but I feel eventually will have to write a system myself since the software is not maintained and not cross platform.
cosmic_cheese
Part of the issue with the Music “rewrite” is that it’s less of an actual rewrite and more of a copypaste from iTunes. Lots of iTunes quirks remain, like the modal settings/preferences window that’s a holdover from the OS 9 days (OS X settings windows aren’t supposed to be modals).
My hunch is that they’ve got an actual from-scratch rewrite in the works that’s similar to the all-new WinUI-based Windows version of Music that came out a while back.
DrillShopper
The built in Finder sync is still very broken on my 5th Gen Video iPod. The most annoying breakage was trying to sync podcasts - it worked fine back when iTunes was the program to do that with, but when using the Finder sync on Big Sur it's buggy and does not remember your place in the podcast if you move to another track / podcast and back, which functionally makes podcasts longer than a few minutes unusable on the device.
jonhohle
It’s amazing to me that iPod syncing still works. I use a 2ᴺᴰ gen nano and my son uses a, 6ᵀᴴ gen. I preferred managing in iTunes to finder, but it’s crazy that a 20 year old player with a proprietary software interface still works.
Apple is so quick to drop support for some things and keep other things around seemingly indefinitely.
369548684892826
People will literally build their own music apps instead of switching to Android. Is it just for the blue bubbles, or because of how everything "just works" (unless you want to play offline music)?
rollcat
You really would move to a different country just because they have better bread?
What's the problem with baking your own?
noman-land
It's more akin to moving to a different country because this one mandates which bread you will eat and how you will eat it. A mighty fine reason to emigrate.
coolcase
More like the country bans the sales of cannnabis but you are allowed to grow your own, so you buy some lamps etc.
rollcat
How are any of the players mentioned in the comments banned on iOS?
koito17
I made a prototype of a music player for iOS, since the VLC app cannot reliably parse metadata of FLACs stored on my file server. I cannot store my whole music collection on my device, due to storage limitations.
My app is a prototype in the sense that I want more features, but the app has just enough functionality that I lack motivation to implement more features. Currently has audio playback, remote file access, and FLAC metadata parsing. Similar to the author, I originally wanted to use React Native because I have experience with it and already maintain a few React Native applications. However, I am not interested in targetting (or debugging) other platforms. So I decided to try using SwiftUI and used a special tool[1] to get something resembling hot reloading. (It's kind of a gross hack that requires supplying custom linker flags in Xcode, but it works just enough for me to not miss the DX of TypeScript and React Native).
somanyphotons
People will literally write code to avoid Android
bee_rider
Foobar2000 has been on the App Store for ages…
Actually, I think it is a bit odd that the author didn’t find a free music app they liked. But I also think you don’t really need an excuse to go make something anyway, so… I dunno, it think maybe that was just a framing narrative to get the story started.
mynegation
I’m on iOS and I use navidrome/substreamer app combo - it work great and I can keep selected music on device too.
icar
Tangentially, I really recommend https://play.google.com/store/apps/details?id=in.krosbits.mu... if you have your collection of music offline. Works flawlessly.
octo888
Symfomium is also excellent (supports Plex, Jellyfin, WebDAV, SMB etc too)
nzoschke
I built my own audio player too.
https://github.com/nzoschke/jukelab
It's a web app with the Spotify Web Playback SDK or a good old MP3 HTTP server and API like Internet Archive.
It works crazy well on a ChromeBook, and reasonably well on an iPhone, iPad or Android both through a native app with a webview component or the browser.
I have a theory the pendulum is swinging back and there is a demand for controlling our own music and music interface, and web technology is sufficiently good for implementing players.
keysdev
Yes web player usually requires 206 support on http or you can chop up the audio file to a m3u format.
Or else a large audio file will be halted on the clientside till it is fully downloaded.
bccdee
> This makes ultimately no sense. An innovative technology company actively puts roadblocks into democratized application development.
Makes sense to me. See this quote from erstwhile Disney CEO Michael Eisner:
> We have no obligation to make art. We have no obligation to make history. We have no obligation to make a statement. But to make money, it is often important to make history, to make art, or to make some significant statement.
Apple is not innovative by nature, and it is certainly not democratic. It is profit-seeking by nature, and will innovate and democratize when it thinks that is the best way to make money. However, letting the riff-raff into your App Store without paying the entrance fee is not a good way to make money. That fee is where the money comes from. You're letting the public abscond with your golden goose.
Get the top HN stories in your inbox every day.
I come from the times where winamp was the go-to music player. Today, even in the age of streaming services I still keep a local music library organized in folders. So, just as others here in the comments I built myself an old-school music player as a hobby project to listen to my music offline. It's a 1 page html/js app, has full keyboard controls and also features a simple queue mechanism functionality Check it out: https://nobsutils.com/mp