15 ms·
I Built My Own Audio Player
- duxup 1y agoThis 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.
- AdmiralAsshat 1y agoDang, I thought he had built his own hardware. I'd still love to get a proper successor to the Sandisk Sansa Fuze, just with USB-C charging instead of its proprietary charging cable. There's plenty of "luxury" /audiophile MP3 players out there which cost in the hundreds of dollars, but that one was in the sweet spot of bang-for-your-buck music player that I could just use for listening to music on long plane rides etc. without draining my smartphone battery.
- blizdiddy 1y agoI had been wanting something similar recently and ended up buying a Hifi Walker H2 and loading rockbox on it. Works great, and it’s a total nostalgia trip to be using rockbox again after so many years! Wheels will always be the best way to navigate music libraries.
- AdmiralAsshat 1y agoOh, nice! That undercuts the price of the FiiO JM21 by about half, which was the other entry-level audiophile music player I was looking at if I ever decided to splurge on one: https://www.amazon.com/JadeAudio-JM21-Snapdragon-Bluetooth-Playtime/dp/B0F6VR9TF2 https://www.amazon.com/JadeAudio-JM21-Snapdragon-Bluetooth-P...
- yapyap 1y agoThe Tangara from cooltech.zone fits most of ur requirements, except the price one maybe
- razakel 1y agoI wonder if you could get an iPod Classic and upgrade the storage/replace the battery...
- q2loyp 1y agoYes that is possible, I got gifted one such iPod once.
- windowsrookie 1y agoThere is a whole modding community around the iPod video/classic. You can replace the hard drive with MicroSD/SD or compact flash cards. https://www.iflash.xyz https://www.iflash.xyz You can buy different color faceplates/backplates, upgrade the batteries, etc. https://www.idemigods.com/iPod_5th_5_5_Generation_Video_Parts_s/6.htm https://www.idemigods.com/iPod_5th_5_5_Generation_Video_Part...
- sphars 1y agoI have an iPod 5th gen sitting on a drawer, I definitely need to check this out, thanks for the resources
- Foobar8568 1y agoYou have many options for DAP, unfortunately they are often android based. In some rare cases, they are either pure custom OS, or stripped down android device. I have a Cayin N3U, I hesitated a lot with some Hobby device as it's a small brick and Android, while the android interface is still too present for my taste, and a bit too large, I have no regret, I really wanted something dedicated, no Bluetooth, tube, portable, no streaming, no extra app.
- keyringlight 1y agoThere was a merge into Rockbox [0] last month with someone making their own hardware [1] primarily to run rockbox. [0] https://gerrit.rockbox.org/r/c/rockbox/+/6510 https://gerrit.rockbox.org/r/c/rockbox/+/6510 [1] https://github.com/amachronic/echoplayer https://github.com/amachronic/echoplayer
- JKCalhoun 1y agoI've considered building a device with the Teensy. I don't even need it to be portable. In fact, I'm happy with a "component stereo" look with a VFD display. ;-)
- deleted 1y ago[deleted]
- vel0city 1y agoI get what you're thinking of with having a separate device, but I've found it better to just have a decent extra battery pack to travel with. You get a lot more flexibility with use. Maybe you just wanted to listen to music. Maybe you later decided you actually wanted to read instead, or play a game, or watch a video. Maybe you forgot to sync those podcasts until you got to the airport waiting on the plane and only just downloaded it and now it's a hassle to bust out a cable and sync it to your offline only MP3 player. Essentially, you could carry a small battery attached to an extra sigle-task dedicated device, or a slightly larger battery in about the same-ish form factor that will let you use that energy to do anything you want with your other device you're probably already carrying. If your phone is in whatever airplane mode, battery saver mode, etc. it's not going to use that much power just to play local music.
- josefritzishere 1y agoIt's interesting that most/all of the available tools for playing digital music, a well-known and very popular activity... suck. Do we think that's enshittification or product managers misunderstanding the market? In a normal universe one might otherwise expect it to be saturated with options.
- deleted 1y ago[deleted]
- dylan604 1y agoThe enshitification was completed when they convinced us to no longer want to own our own copies of music but to perpetually rent access to their content.
- lukan 1y agoThe latest Iteration I discovered 2 days ago, a audio service(via Amazon), where you have limited time for listening. So I get to listen to that new audiobook, but see my 10 h contingent decrease every second I listen. Creates a new vibe for me.
- dylan604 1y agoLibraries had the same count down, but it just wasn't in your face. If you returned a book after the agreed time, they charged you late fees. These guys just cut off access to it. They should have a late fee equivalent where you can extend the time without having to pay the full rental rate again.
- lukan 1y agoMaybe I was not clear, but the counter only ran while it was playing. That is something completely different to me, as it limits replaying. Having access for 14 days lile a boo kwould be something very different and more OK with me. But limiting the act of playing that audio itself has a new quality for me.
- 1y ago
- mg 1y agoI wonder if one could build this in HTML, so there is no need to install anything. On both iOS and Android, HTML can play videos and mp3s while the screen is turned off. So maybe it is possible?
- __jonas 1y agoThey specifically ditched react-native because of their requirements regarding file system traversal, so this is definitely not something that could have been done in-browser.
- mg 1y agoTraversing local directories is supported via the File System Access API in browsers these days: https://stackoverflow.com/questions/64283711 https://stackoverflow.com/questions/64283711 It works nicely in Chrome on the desktop and on Android. Not sure how the situation is on iOS.
- miramba 1y agoBut unfortunately not on Safari respectively the iOS webview, which would have been mandatory for the author to use. If I am wrong, I‘d gladly take a solution. I think this is one of the main problems for PWAs: No good , platform-independent way to access the local file system. As in „pick once, access forever“. Edit: https://caniuse.com/native-filesystem-api https://caniuse.com/native-filesystem-api Edit2: Just a few posts down: https://webamp.org/ https://webamp.org/
- mg 1y agoI see. That's a pretty big argument to go with an Android phone. Being able to write your own tools in HTML is so nice.
- lukan 1y agoSure, I did it 13 years ago and still use it daily. On a PC though, mostly. (But the actual player was mobile first, as it was my remote connection to the PC that is connected to the bass box. But works also standalone.) I just never polished it to publish it, but it is quite easy and I guess ChatGPT can help with the basics as no arcane knowledge is required. (Except maybe the playing while screen is off.) You also need a small node script, though or something different with system access to scan the media files. I think in browser tools make this now somewhat possible without(beware of security restrictions), but my approach is simply a node script scanning the music folder and generating a list that the media player consumes to find files for the player. I still didn't got around to make it automatic, but I don't add so much music (anymore). I guess I will give it a try to see, how good it works a mobile player nowdays. I always wanted to upgrade it, so I can connect to spotify from my player as I hate the spotify mobile app.
- ThrowawayTestr 1y ago[flagged]
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- amiga386 1y agoI won't comment on the merits of this project, but I put my entire media collection, including all audio, in Jellyfin, and I find Finamp (available for Android and iPhone) to be convenient player, especially that it has easy download of entire albums, artists, etc. and "offline mode" you can toggle on so you can random-play whatever you've downloaded, even in places with no phone reception.
- deleted 1y ago[deleted]
- daoistmonk 1y agoThanks! Just tried Finamp and it works great!
- Mashimo 1y agoI had a few bugs with Finamp, now I switched to the paid https://symfonium.app/ https://symfonium.app/ app on android, still with jellyfin backend. Which works great for me.
- boomer_joe 1y agoIsn't VLC an option for playing local files and available in the App store? You could sync the folder with iCloud.
- deleted 1y ago[deleted]
- nexo-v1 1y agoIt is available, but the last time I tried it, I was only able to select specific audio files for import. I couldn't import the whole directory at once
- skydhash 1y agoThere’s a VLC folder inside Files (iOS) where I dumped the library. The nice things is that it plays opus (my lossy format of choice).
- noncoml 1y agoJFYI in case anyone else is in same situation. Before building your own app first try Navidrome and play:Sub
- deleted 1y ago[deleted]
- jsmith99 1y agoI strongly recommend the apps you mentioned, but in the author's case they wanted to keep their music in iCloud.
- TiredOfLife 1y agoNavidrome and https://symfonium.app/ https://symfonium.app/ on Android
- hondo77 1y agoI don't see the problem with cable syncing, which works fine for me with lots of music and three devices I sync to, but you do you.
- bigiain 1y agoWireless charging means I rarely (perhaps even never for my current phone) plug it in with a cable. It wouldn't be a huge deal if I needed to to sync music, but it's certainly friction to my adopting apps that require that.
- slmjkdbtl 1y agoManaging 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.
- cageface 1y agoYou could give my app a shot too: https://www.plastaq.com/minimoon https://www.plastaq.com/minimoon
- slmjkdbtl 1y agoThis looks great! Will give a try later. For iPhone sync can it sync to the built-in Music app music library?
- cosmic_cheese 1y agoPart 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 1y agoThe 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.
- 1y ago
- precompute 1y agoI don't play music on my phone very often. But when I do, I use VLC to access my local minidlna server. It's easy and works with ~no config.
- 7839284023 1y agoFor music on iOS I can't recommend foobar2000 [1] enough - and I tested ALL of the alternatives. You can import ANY folder (probably what OP is looking for) or use your "iPod Library". [2] Personally, I sync my music via Synctrain (a Syncthing client). [3] [1]: https://apps.apple.com/us/app/foobar2000/id1072807669 [2]: https://imgur.com/a/7GVxB2y [3]: https://apps.apple.com/us/app/synctrain/id6553985316
- jasonjayr 1y agoI was unaware that synctrain existed! That solved my last issue I had with my iPhone. I have been using keepass on various platforms to sync my password list, and with keepassium + synctrain I have my iPhone covered. Thank you! I was unaware foobar2000 existed on iOS too, but the Windows version is my favorite audio player on that platform too.
- deleted 1y ago[deleted]
- eviks 1y agoBut foobar doesn't scrobble unlike other alternatives
- kelthuzad 1y ago>Even after the DMA Act in the EU, sideloading still isn’t fully open. EU users can now install apps from third-party marketplaces directly from a developer’s site, but only if that developer still enrolled in Apple’s $99/year program and agrees to Apple’s Alternative Terms. For personal/hobbyist use, this still doesn’t remove the 7-day dev build limitation. Does Apple want to face a formal non-compliance judgment under the DMA, or is there another reason for Apple's blatant contempt of court with its refusal to properly and fully implement the mandated sideloading[1]? [1] The Digital Markets Act (DMA) does mandate sideloading in Article 6(paragraph 4). It requires designated gatekeepers, which includes Apple for its iOS operating system, to allow for the installation and use of third-party apps and app stores. ( https://eur-lex.europa.eu/eli/reg/2022/1925/oj/eng https://eur-lex.europa.eu/eli/reg/2022/1925/oj/eng )
- deleted 1y ago[deleted]
- tschumacher 1y agoI 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 1y agoYou'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
- busymom0 1y agoI personally use the Documents app by Readdle. I have the free version and have been using it to transfer and play audio files for like 3 years. Their audio player looks just like a music player and has all controls too. You can transfer files to the app over wifi or even use files from the Files app.
- rckt 1y agoOn iOS I'm using Evermusic player, which allows syncing with different online sources. First I used it with my Dropbox folder, then moved to my self-hosted WebDAV.
- deleted 1y ago[deleted]
- dvh 1y agoYears ago I also made music player in Lazarus using mplayer in slave mode.
- sandreas 1y agoNice write-up - although I thought you've built your own HARDWARE audio player first. However, I feel like this is one of the most re-invented wheels I've come across so far. Nobody seems to be happy, everybody seems to fail to build something that fits at least 80% of the requirements most people have. My personal K.O. criteria is a bit awkward in days of bluetooth and wireless devices: Working cable headphone remote controls like Apple devices had for more than 10 years now - especially useful for audio books. Years ago I tried to write a cross platform audio player[1] app with C# and Flutter inspired by iPod Nano 7g, but it always failed for the same reason: I could not get the headset controls working properly. I've also spent some days to submit a PR on audiobookshelf-app[2], but it didn't get merged, although it worked pretty good on my device. Nowadays I use a combination of my old iPod Nano 7g for music and audiobooks on the go and my Android GrapheneOS Phone as spare device for "streaming" something I don't have with me using Navidrome[3] and Substreamer[4] / DSub[5] for music and audiobookshelf-app[6] and VLC Media Player[7] for audiobooks (the offline support for audiobookshelf regularly breaks on my device) - most of these are available on fdroid or even official app stores. Btw, if you ever wondered, why Apple EarPods do not support Volume Control on Android devices and vice versa, see this link[8] - it's definitely worth a read 1: https://github.com/sandreas/ToneAudioPlayer https://github.com/sandreas/ToneAudioPlayer 2: https://github.com/advplyr/audiobookshelf-app/pull/1218 https://github.com/advplyr/audiobookshelf-app/pull/1218 3: https://www.navidrome.org/ https://www.navidrome.org/ 4: https://substreamerapp.com/ https://substreamerapp.com/ 5: https://github.com/daneren2005/Subsonic https://github.com/daneren2005/Subsonic 6: https://github.com/advplyr/audiobookshelf-app/releases https://github.com/advplyr/audiobookshelf-app/releases 7: https://code.videolan.org/videolan/vlc-android https://code.videolan.org/videolan/vlc-android 8: https://tinymicros.com/wiki/Apple_iPod_Remote_Protocol https://tinymicros.com/wiki/Apple_iPod_Remote_Protocol
- throw_m239339 1y agoVery good read about your experience developing an Audio Player for Iphone. thanks.
- NSUserDefaults 1y agoInteresting read, nice to see technical details and rationale for building it this way. I made a similar one (https://www.catnapgames.com/tiny-player/ https://www.catnapgames.com/tiny-player/) except instead of iCloud I rely on web based uploads. For me one of the high level takeaways was to use ffmpeg next time. Apple APIs for decoding are nice but have limited support for file formats. And then there’s the lockin aspect..
- nzoschke 1y agoI built my own audio player too. https://github.com/nzoschke/jukelab 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 1y agoYes 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.
- CommenterPerson 1y agoYears and years ago I tried to store and organize family photos using iTunes on my computer. Suddenly, I could not use image files directly any more , for example edit them in Photoshop, without having to jump through hoops. That was when I ruled out apple products for ever. .. It's enshittification.
- selkin 1y ago> 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.
- Citizen_Lame 1y agoBut for his usecase, this most likely won't be an issue as he just wants simple audio player.
- eikenberry 1y ago> 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 1y ago> 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 1y ago> [..] 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.
- koakuma-chan 1y agoI built my own player too, but it's a web app https://github.com/mayo-dayo/app https://github.com/mayo-dayo/app
- Clood5 1y ago[dead]
- strunz 1y agoSite is down, mirror - https://archive.is/Mxfcp https://archive.is/Mxfcp Project's Github - https://github.com/nexo-tech/localwave https://github.com/nexo-tech/localwave
- prell 1y agoI 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 https://nobsutils.com/mp
- bromuro 1y agoTo me the go-to music player has always been foobar2000. (Replaced today by Cog app)
- out-of-ideas 1y ago2025 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 1y agoFoobar2000 is the irfanview for audio, apps I still use regularly more than 20 years and counting.
- ibz 1y agofoobar2000, IrfanView, Total Commander. The 3 apps I still miss after 15+ years of not using Windows (went through 10 years of OSX, now on Linux for probably 5 years). There's just nothing like this trio on OSX or Linux.
- out-of-ideas 1y agoi never got the hang of Total Commander; i only use the file browser on windows as the cli form is so terrible compared to bash.. irfan was fun though, i do like Emulsion even though its not really under development anymore im currently happy with foobar2k via wine, havent yet loaded all my plugins yet but will eventually load up the 7.1 upmixer and test it out. if you have not used the later versions of f2k, its worth checking out
- shubkukreti 1y agoThis is soo cool
- johng 1y agoMan, this is awesome. It's sad that this is a rarity now a days... I have a hard time playing my own music on the iPhone as well. I'm pretty sure the first mp3 I played was in DOS BBS days and you spent a good 20 minutes downloading a single song and then fired up a fraunhoffer DOS CLI player. S3M/XM/IT players were much more advanced interfaces at the time....
- aanet 1y agoNow THIS is the kind of project that I love to see on HN. Well done!
- karpovv-boris 1y agoI could recommend VOX https://apps.apple.com/us/app/vox-mp3-flac-music-player/id916215494 https://apps.apple.com/us/app/vox-mp3-flac-music-player/id91...
- deleted 1y ago[deleted]
- 369548684892826 1y agoPeople 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)?
- mynegation 1y agoI’m on iOS and I use navidrome/substreamer app combo - it work great and I can keep selected music on device too.
- rollcat 1y agoYou really would move to a different country just because they have better bread? What's the problem with baking your own?
- noman-land 1y agoIt'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.
- somanyphotons 1y agoPeople will literally write code to avoid Android
- koito17 1y agoI 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). [1] https://github.com/johnno1962/InjectionIII https://github.com/johnno1962/InjectionIII
- detectivestory 1y agoWould be amazing if you could connect this to pcloud. Their default player is no fun to use
- rollcat 1y agoSince everyone's dropping their fav/DIY players, shout out do Decoupled: <https://apps.apple.com/app/decoupled/id1382409837 https://apps.apple.com/app/decoupled/id1382409837> You just upload your files (e.g. via Finder) and play them. You can browse by artist, album, etc. It's boring, it works, it's all I want.
- al_borland 1y agoI 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 1y agoAutomatic wi-fi syncing to iTunes still works fine as far as I know.
- runxel 1y agoHuh, iTunes is not a thing anymore... so how would that work exactly? Genuine question, what do I miss here?
- jiehong 1y agoIf 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 1y agoIt is on Windows.
- pdntspa 1y agoI wonder if this app shits the bed with "Various Artists"-type compilations (or DJ mixes separated into tracks) like seemingly every music app does. What should happen: The album only has one listing and opening it reveals the entire album What actually happens in pretty much everything: The album has one listing per artist (so you end up with a screen full of the same thing) and trying to play the whole album as one cohesive unit is an exercise in frustration VA stuff is extremely common in my experience and it is gobstopping to me that nobody gets it right. Gobstopping enough that I have been kicking around ideas for my own music player (as it seems many of you as well)
- teleforce 1y agoFor me the best audio player ever is Napster [1]. It's not just an audio player but an eco-system, and for better or worst it changed the music industry forever. Perhaps the modern version should make a p2p music streaming from peers rather than direct downloading. [1] Napster: https://en.wikipedia.org/wiki/Napster https://en.wikipedia.org/wiki/Napster
- slurpyb 1y agoDo you ever think about how the mp3 lead to napster, facebook, then whatever hellscape we have now?
- soulofmischief 1y agoSpotify was originally p2p. The early principal engineer was the same dev who built µTorrent, Ludvig Strigeus. I'd also recommend looking at communities such as Soulseek. And Limewire is still around!
- teleforce 1y agoThanks for the info although I was around during the released of µTorrent and one of its early users, I didn't know Ludvig Strigeus was instrumental in the Spotify early days. Apparently he also the original author of OpenTDD and ScummVM, and it seems that he's the legit Carmack 2.0 [1]. [1] Ludvig Strigeus: https://en.wikipedia.org/wiki/Ludvig_Strigeus https://en.wikipedia.org/wiki/Ludvig_Strigeus
- soulofmischief 1y agoStrigeus, Fabrice Bellard and Carmack are three of the most GOATED hackers ever, I look up to them as examples of real 10x engineers.
- gitroom 1y ago[dead]
- Gud 1y agoI wish someone would revive XMMS.
- Almondsetat 1y agoDo people forget iTunes allows you to load your own music files so you can play them in your music app? Unless you only have linux computers, this is a non-problem
- zaphodias 1y agoDid you read the article's section "Why I Built My Own Audio Player"?
- slimebot80 1y agoPlexamp is pretty OK, btw
- ivyirwin 1y agoI 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 1y ago> 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.
- MarcellusDrum 1y agoI 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 1y agoOP says son is 10 years old. (not sure if it was edited)
- 1y ago
- codingjerk 1y agoI feel like developing an app for iOS is harder than developing one for Android. Everything from writing code to building and publishing is overcomplicated.
- brulard 1y agoUnless you try to support wide range of devices. That's where android development is harder.
- codingjerk 1y agoThis. And it feels like competition is lower on AppStore.
- eddieroger 1y agoI've done both, and this was not my experience. Nowadays, they're much more similar than different, but 10 years or so ago, "easy" was defined by if you knew Java or Objective-C. Android, like most Java, required a lot of code to do simple things (public static void main...), and tons of XML to make the app support so many devices. Objective-C had good boiler plate thanks to Apple and NeXT before it using the frameworks for years. Now, SwiftUI and Compose are effectively cousins, as are Kotlin and Swift. Both App Stores have their quirks. Publishing is part of both workflows. It's really not harder for one or the other, it's just administrivia.
- codingjerk 1y agoThanks for sharing. I agree in general, But for me language is not a problem at all. I mean that you have a lot of pre-requirements to start developing for iOS. And the stuff, except writing code feels much more restricted. AppStore is a walled garden itself. But yeah, Objective-C was something...
- eddieroger 1y agoWhat prerequisites are you thinking of? Nowadays, all you need is a Mac, download Xcode, and go. You can't do /everything/ if that's as far as you go, but if all you wanted to do was flesh out an idea, that would get you started. And how's that's any different than getting a computer, installing Android Simulator, and starting a new project?
- wvh 1y agoI'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.
- Eavolution 1y agoI'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?
- eviks 1y agoTechnology 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)
- legends2k 1y agoEven 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.
- hulitu 1y ago> Technology has caught up many years ago citation needed. Youtube still gives you crappy, unlistenable 153kbps crap.
- duped 1y agoThere 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_Subjective_Evaluation_of_MP3_Compression_for_Different_Musical_Genres https://www.researchgate.net/publication/257068576_Subjectiv...
- icar 1y agoTangentially, I really recommend https://play.google.com/store/apps/details?id=in.krosbits.musicolet https://play.google.com/store/apps/details?id=in.krosbits.mu... if you have your collection of music offline. Works flawlessly.
- octo888 1y agoSymfomium is also excellent (supports Plex, Jellyfin, WebDAV, SMB etc too)
- nopelynopington 1y agoHistorically one of the reasons I became an android user was the sorry music experience on Apple, if you don't buy into iTunes. On android the best I've found is Pi music player
- apt-apt-apt-apt 1y agoHow long did it take you to finish the app? 1.5 weeks seems incredibly fast.
- tipofthehat 1y agoTangentially related: as a non-developer I have started trying to hack/extend Anytime Podcast player to become a light language learning app, for supporting using native level resources for intermediate learners. The idea is to give me vocab, phrases and idioms with timed with a transcript to appear just before the audio, with some feedback on understanding and a simple learning model of users level, vocabulary, strengths and weaknesses etc I've made a start using whisper and some simple Bayesian modelling but if anyone more technically gifted wants to steal my idea they're more than welcome... As it's going to take a while for little old me.
- bccdee 1y ago> 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.
- wafriedemann 1y agoI thought about doing that as well. Currently I use Doppler but I wanted to add meta data from Wikipedia to create an experience similar to what Roon offers. It should also have more automation like auto-generated daily playlists and the like so your local library feels more alive and let's you rediscover things.
- jbirer 1y agoThis is really cool, I love how you planned the entire development before with graphs. When I was 16, I developed an mp3 player in C (I cheated and used mpg123 library). Audio players are a great way to learn about low level stuff and as a first project. Keep developing things!
- TartHint54 1y agoLoved the deep-dive! Your switch from React Native to pure SwiftUI really drives home how much easier native code becomes once you need proper iCloud access, and the SQLite FTS5 search trick is brilliant—I’m borrowing that for my own library app.
- thelastinuit 1y agoWe gotta go back to the 90's... this is awesome!