Ramblings of an insane nerd

The concept™️ 

Mp3Tag (Mac rather than Win in my case) for managing metadata. Cover art is a weak point for something like Quod Libet that I would otherwise choose, and the Mac version is broken on modern systems, meaning I would have to break out my 17 year old ThinkPad to run the FlatPak, or suffer X Forwarding or similar grumbles with restoring my 12 year old Latitude to its Debian glory days. Thus indie software wins this scenario because MacBook Air.

Good ol’ ffmpeg for audio conversions. I’m really not a fan of hand-wrangling ffmpeg, and don’t want to mess with it for cover art purposes. It’s like a grizzly bear wielding a Swiss army knife when it comes to esoteric video muxing and complex encodes, which are a pain. But I’m content to use it for transcoding audio. The open question is whether I want to load ffmpeg on one of my Linux server’s virtual machines, or just brew install ffmpeg while drinking a root beer.

These both solve the problems that exist between my existing music collection, and what Apple Music can offer in the ways of managing a personal music library like it’s still two thousand ‘ought something.

Apple Music is still combat effective for ripping CDs, since I actually like the iTunes+ format of MP4 + AAC 256K and it does a passable job of fetching metadata. It’s just after the disc is ripped, we’re done.

The file server for warehousing data. I’ve mostly followed the pattern of collecting content in its various forms under Music, while backups exist imaginatively under Backups. Things will probably become divided either by format or purpose, such as FLAC, M4A or Library, Player directories in place of the existing “Artist – Album” structure. I might debate between the old media depot under Backups getting reorganized or moving to a dedicated “Originals” structure organized by source (CD, Steam, iTunes, Amazon, Google, yada, yada) on my Music share. One of the advancements over the past decade is its no longer just “Backups” and individual hosts that gets backed up regularly, but the entire file server’s shares where LAN data lives.

This path of insanity makes a good excuse to start normalizing my approach to dealing with cover art, lyrics, and readme files pertaining to music–but are a smaller problem than ensuring sane song metadata and library structure. Enforcing a tag editor centric data flow is also a good reason to make for easily saving/loading metadata from disk.

I’m also thinking that for a general approach to normalization, making MP4/AAC the standard lossy format with FLAC as the lossless where applicable. One of those things that has changed over the past decade and a half, is I’ve no real reason to prefer MP3/320K over AAC/256 or WAV over FLAC. Software compatibility for decoders (unless perhaps, you’re a damn iPod or the like) just isn’t a problem like it was in the early days of AAC, and there’s no real reason to treat the hax that ID3 evolved from and WAV is basically the software equal of a 3.5mm analog jack this side of FLAC.

Yup, let’s just say the iPod experiment finally drove me over the hill ^(o_o)^

Continuing iPod Experiments

Augmenting the iPod, I’ve ended up with a trio of different players. Okay, so yeah, I finally went crazy 🤪.

Digital Media Players

There’s the iPod in the middle that I’ve posted about a few times, which is effectively a 5th generation late 2006 model with a new front plate, battery, and a 64G SD card replacing the 30G hard drive. Not to mention some blood, sweat, and tears invested. Well, thankfully not blood since I used an iFixIt toolkit instead of an Elite Old Electronics opening tool, but I can now understand while opening the metal models that followed is such a pain 😂.

Flanking this is to the right is HIFI WALKER’s H2, which has turned up so often in YouTube and Amazon suggestions, that we may as well call this a crosspoint between being advertised to death and being pissed at the iPod that much.

On the Left is Innioasis’s Y1, which is a device that I had came across researching the cost between old iPods and the question, “Surely someone makes a modern thing with a clickwheel,” and it is also the cheapest of the group. The wallpaper set is one I used to use on my Xbox One, not the standard one.

iPod 5th Gen

The iPod actually works pretty good when it works. Issues stemming from the memory card size and the cable aside, the primary beef I have with it is the PC/Mac software. It’s pretty cool that Apple Music and Finder/Apple Devices supports recovering and syncing to iPods in this day in age, but frankly the software sucks.

Syncing services on Mac are pretty crappy but do remain effective. It’s been so many years since the Apple sold iPods, a product that originally began in the PowerPC era, that I can forgive the CPU load and occasional bottlenecking, because it does in fact work. Enough so, that I kind of suspect at least one or two quality assurance engineers at Apple must still have an actual iPod. But I suspect that hooking it up to something on my Linux machine using libgpod would be far, far more resource efficient.

The only thing that was hacky was recovering on Mac, since its kind of a pull plug and restart trick; it’s better to just use Apple Devices on Windows unless you specifically want a Mac APM/HFS+ formatted iPod instead of a PC MBR/FAT32 formatted iPod. Otherwise, the software is just like grossly inefficient and twitchy. Like, the sync services may be one of the more CPU intensive things I’ve ever run on my MacBook Air–a machine that can find itself doing x265 video encodes in 1080p, lol.

Hardware wise, I think the iPod is pretty great. Discounting the cable hoopla and surgical procedures, the worst I can really say there is that it uses the old 30-pin connector and that I don’t want to desolder that for a USB-C mod.

Something that remains questionable is the decoder. Certain audio tracks lead to artifacts in playback, which do not seem to affect other devices.

Attempts at running Rockbox have been spotty enough that I returned to booting into the iPod’s native OS. Stability seems to be better in recent development versions than 3.15 stable, but the combo of an iFlash Solo and Rockbox on the iPod means having to boot into the iPod’s disk mode to sync. Using Rockbox’s USB mass storage mode leads to corruption and slow I/O, the kind where the memory card in the iFlash Solo seems to both get files jumbled up (parts of another song running together) and shitting data across the disk in a way that makes fsck wonder just what the fuck was done to it, lol.

In a nutshell, running the iPod firmware gives crap syncing and running Rockbox firmware is a bit twitchy in my hardware configuration. I think if Rockbox was stable or I had less grief with the iTunes front, I would spring for a 30-pin Bluetooth connector like one from Kokkia; it’s less effort than modding but too expensive to splurge on during the experimental phase.

HIFI Walker H2

The H2 is perhaps the real winner in the experiment, or at least the lead horse. Hardware wise, I can’t say that the style really does it for me, but it is very well made. It feels like a brilliant hardware engineer went craftsmen on the ODM front, and then let his cousin Bob write the firmware as a college project so that they could sell it as an white label product.

The H2’s hardware reminds me a lot of the old school Walkmans. So much so that it makes me wish for a belt clip, lol. The zinc alloy frame seems to be pretty durable, and I wouldn’t be surprised if it would hit the pavement like a Chuck Norris joke and come out unscratched next to a broken side walk. Looking online for tear downs, suggest that it likely has a pretty hefty battery filling most of its thickness. While our tastes may differ, I have a lot of respect for whoever designed the H2 hardware, they did an awesome job. Coincidentally, the earbuds that come bundled are pretty darn nice!

Software works as advertised, but is the worst user experience of these three players. I think that the vendor would have been better off hiring some Rockbox developers to improve the port, and someone else to graft on Bluetooth support. The awesome thing is the Rockbox build is even more stable than the original firmware, and sounds like it will be promoted to stable whenever Rockbox 4.0 happens. The main negative to hosted Rockbox, is it places the firmware on the memory card at .rockbox, where the native firmware is on the player’s tiny, tiny internal flash; which makes it easier to go oopsie with an rsync. The Rockbox wiki page has plenty of info on the hardware which is quite helpful.

For the most part, I find myself using the H2 most often in the past few weeks–but booted to Rockbox rather than the OEM firmware. The worst thing that I can say about RB on the H2 is that it doesn’t support Bluetooth, which is pretty much true of everything that runs Rockbox. The native firmware seems to be better about handling cover art, but the only real reason to use the HiBy Player firmware that’s on the H2’s flash is to use Bluetooth.

My preference for BT, and the support for aptX being one of my reasons for coughing up the dough aside. I think that one would be better off using Rockbox and tag editing software on a PC to handle their music collection. From the sounds of the manual, future software updates are likely to include a version of HiBy player that doesn’t support as many features, so Rockbox is probably a net win.

While I’ve experienced no problems with the USB mass storage mode in the H2’s native HiBy Player or the development builds of Rockbox, it’s just more convenient to eject the memory card and use it directly IMHO.

Innioassis Y1

I kind of have the most mixed feelings about the Y1, but would recommend it if someone wants an “iPod Like” device but not an iPod.

Hardware wise, just imagine what an iPod classic would look like today. Looking online for tear downs suggests that it’s a hardware design that is reminiscent but with a MicroSD card in place of where I would have expected eMMC soldered. Opening the iPod was enough of a pain, I don’t really want to find out, so I will just be thankful for the 128G capacity.

Software wise is interesting but also kind of “Meh” IMHO. Connecting the device to USB, it is obviously running some form of Android because of the folder structure. That it identifies itself with an HTC vendor id and 1 as the device id make some wonder if it was simply a device SDK with a few custom APKs baked in. Looking online, it sounds like the vendor is willing to support customers on the hardware front, but has zero access to the firmware, so it’s basically orphan ware.

The upside however is the software doesn’t suck, it’s just pretty bare. The trick of holding the back/menu key to control sorting based on file name or song name is perhaps the make or break between “Good enough” and “Missed it by that much,” and I think it would be neat if there was a way to jailbreak and replace it–I kind of want to see what happens on a machine with adb available. As it is, I would say that the firmware is just a little worse than an actual iPod. In that, I think it could be called a success, but like the H2–don’t ask a lot of it. Being able to load custom APKs and replace the launcher would be a major win, but I’m not likely to pursue that beyond the most obvious experiments to try.

I’ve only encountered one real problem and a few minor quibbles. Some of my music causes the album view to crash due to the album art, but that was easily rectified by bisecting a lot of music to find which albums caused woe. It’s amazing how many times you can forget to press the button to enable USB storage mode 😆. Aside from that, I would say it handles album art pretty swell–better than my iPod’s stock firmware, more reliably than Rockbox has so far, and less ‘ahh, my eyes’ the H2’s translucency approach.

On the minor quibbles front, the 3.5mm analog jack puts out a bit of hiss whenever headphones are connected. I’m not sure if this comes from interference or whatever state the DAC’s line in pins might be left in, or if it is just the quality of the amplifier circuit. It’s not too noticeable while playing music, and for $45 I’m fine with that. Not really an analog audio guy anymore, and the Bluetooth output to my Echo Dot was fine. In the near future, I need to try BT earbuds or headphones.

Interesting to me, my experiment with the higher sample rate FLAC plays out as a middle ground on the Y1. It cannot play the original FLAC the way the H2 can, but unlike the iPod it can play my AAC resampling just fine. And pretty much everything except for the iPod does play that AAC version just fine, lol.

Where to from here

Given the issues with the iPod, I’m tempted to relegate this to a secondary machine or shelf it as a vintage project. The H2, it remains to be scene whether or not my preference for BT will win out over RB, and the Y1 is a device that would fill the gap if only the software was more featured.

I think in the long run however, that neither syncing my “Originals” from the file server nor my Apple Music library will be a viable solution. Rather, some library where the metadata is more aggressively managed will be necessary. Because when using the former there is too much variation for the iPod/Y1 to take it as is, and in the latter too many issues between the iPod/H2/Y1 to call it good enough.

The question of course is what form that will take.

Old tunes

One miscellaneous upside of the recent putzing with portable media players, I ended up cleaning off one of my older USB sticks where I had stashed some files that never quite made it into the Plex-ification of my music library back in the day, which in turn helped me find the associated backups of those on my file server.

In most cases, these are files that I either have on my server’s Music folder already, or have the original CDs and plan to make a modern rip. In some cases, old downloads and freebies where I’d just go back and buy the rest of the album at this point. But in a few cases there are files that aren’t so replicable: party mixes and compositions that musically inclined friends did back in the day, that I assumed had been lost in the years since my first laptop was decommissioned.

Yeah, well, it turns out I’m an even better backup-horder than I remember, since I’ve found copies exported from my first laptop, and archives of old backups from the same laptop, lol.

The iWar Continues

Largely wrapping up the cluster-fuckery that is File Server -> Apple Music -> iPod, I find myself only mildly perturbed with some of the files that were filed (pun intended) for later review before import.

Cases where the album’s original source is a FLAC or WAV with an unusual sample rate when having Audacity convert it to an M4A/AAC file for import. Apple Music will happily import files with the crazy high 96 kHz sample rates, and Audacity happily uses 44.1 kHz for the project. Apple Music, whatever Finder uses for its previews, and VLC (the known good) all play them audibly fine but these can’t be synced to the iPod because of being unplayable due to the sample rates. In one specific case, Apple Music had audible muffling artifacts but otherwise sounds fine through multiple local audio outputs.

Adjusting the conversion options in Audacity to encode these at 44.1 kHz, works in that all points of software reference sound fine off the laptop, but generate chirp artifacts on the iPod as the source goes outside the sample range. Reconfirmed that it’s not just my ears by way of jacking into my speakers with a 3.5 male to male cable, and comparing the output of the iPod to Apple Music on my laptop.

Which makes me even more tempted to just say to fuck with it and load Rockbox. I’ve mostly tried to use the provided tools, even if I’m pretty sure that the iTunes side must have been the worst aspect of iPod software. But my temptation for replacement firmware has been more driven by the aspect that I’d prefer to treat the device as a generic storage device for media and playlists. Whether or not the FLAC encoder is up to snuffs or can support some of the more esoteric files in my collection would really just be a benefit IMHO.

In other weirdness, of course the first 3.5 M to M analog cable doesn’t work, because it’s probably the one weirdo in the box of analog computer stuffs, forcing me to go get the known good cable from my car just to do that AUX IN test, lol.

Destruction of trust and faith, supplemental

Well, that’s fun and interesting. Several attempts at removing / reimporting later, I found that results would not change. But in between importing and quitting, if I used “Show in Finder”, it decided to open one of the missing tracks–right out of the trash. Emptying the trash, deleting the album, quitting the app, relaunching, and re-importing seems to have worked. Watching the activity window, it even worked its way through sound check information.

So, I guess it can be made to work–Apple Music just can’t be trusted unless you’re prepared to quit app and review that every import matches what it should. ‘Cuz that scales so well \o/.

Yeah, my urge to press my old ThinkPad or Latitude into song management duty is rising.

The way to destroy all trust and faith in your music software

Eons ago when I had first encountered iTunes, I will admit that I really hated it–but I will also admit that it *worked* which is ya know, like the most important thing ever about software? We just had a difference in opinion on how things should work, but it did work, and for that I respected iTunes despite the sour taste it left in my mouth. For friends, it was often the gold standard unless they were fellow unix nerds.

Importing music into Apple Music is mostly painless. Drag a folder of tunes onto the icon and boom, it’s imported. The tag editor even makes it easy to add album art and metadata, if so inclined.

And here’s the rub?

Drag and drop “Alan Jackson – 34 Number Ones” onto the icon, it imports, it plays, the files get organized into “$HOME/Music/Music/Media.localized/Music/Alan Jackson/34 Number Ones” by way of the default copy and organize settings. Yup. All good. Everything working perfectly! Now quit and relaunch Apple Music, and go open the album. Suddenly tracks 4, 20, 32, and 33 are present out of tracks 1 through 37 but here’s the real kicker: the files are still in Apple Music’s library on disk, they just are not in the database after quitting the app!

Now I know why the fucking hell partial albums were showing up on my iPod for some of my content that came from my old MP3 files rather than re-rips to fresh AAC/M4A generated in Apple Music. At first, I thought that it might have been because these are later 320 Kbit/s files encoded for quality unlike the 128 Kbit/s typical of older files. I considered those worth breaking out the stack’o’discs and external optical drive for ripping again, but these don’t need anything else.

Why is that a problem? Well, guess what: Apple Music just destroyed any faith or trust I have in its ability to _ever_ manage my music collection. Because if you can’t reliably import and database files reliably, you cannot be trusted to manage them safely. I could forgive throwing up your digital hands in horror with an error message decrying the files as unable to be imported; that would be fair because it’s descriptive if you encounter some kind of error. Silently flushing data into the aether on the other hand, not so much, even if you leave the files on disk.

For shits and giggles, removing the album removes the 4 tracks from its place on disk and leaves the other 33 behind. Which suggests that it really is a logic error somewhere, as if Apple Music imported the files but forgot to mark them as imported, so it doesn’t actually manage them. Trashing the entire folder on the other hand and re-importing, has a more interesting result. The GUI loads the entire set of files but only the same 4 tracks are copied into the library.

SMH, seriously what the fuck, Apple!

As far as I can tell, this occurs irrespective of the location of imported content. I’ve copied the file server’s master copies to my laptop, so that I could non-destructively sort them into imported and review folders after reviewing what’s ready to drag’n’drop as is, which will need updating metadata, and which require some thought (e.g. albums with mp3/flac and mp3/wav side by side), and so on. That eliminates any possibilities of the network or removable media, and ya know, checksums are kinda reliable at detecting oops a file is corrupt. I don’t think that I’ve had any problems with content directly ripped from disc, only with files imported.

The iPod Experiment

A profuse amount of profanity aside, we finally have an answer to a question that has been on my mind for several weeks now: who will surrender first, me or the iPod. And that answer is? The iPod gave up first!

Phase I was largely a head scratching affair, never having owned one. Nor in fact an Apple anything until my iPad Pro 2018. After much waiting on shipping however, I found the device to be a progressively hackwittery filled experiment.

First, the dandy screen that iPods apparently give when the battery is so dead that it has to charge before you can actually do anything at all with the iPod. But hey, that’s not so obscure that you can’t STFW to learn about it, so sure. Later, I would also learn that this screen occurs if you power up an iPod without the battery connected, but that’s getting ahead of my tale.

Secondly, while the device did eventually power itself up there was no stability. Attempting to connect to any machine including an equally old PowerPC system was met with failure, and PCs declaring that it failed to enumerate. That was a pain, but of course the damn thing would boot loop for about 10 to 20 minutes whenever turned on until eventually getting to the menu. Getting into the diagnostics mode to check hard drive info would only spew gibberish! Even when left running with the handful of songs it came with running, I would come back later to find it boot loopy in the morning.

An iFixIt tool kit, a torn up halberd, and a new love for plastic guitar picks and my pocket knife later, I managed to get the device open. But unfortunately the read the instructions first instructions for the SD card adapter it came with actually have fuck all info, and I had expected the board’s ribbon connector to be a pop top like most ribbons connectors I’ve ever seen in electronics (and apparently the original iPod hard drives as well). So I ended up damaging the connector on the board.

Several days and a new iFlash Solo in the mail later, I finally was able to try again only to get nothing, even after reseating the ribbon cable which was original and glued down at the motherboard end. A week of waiting for that in the mail aside, and still gibberish reading from the SD card adapter board. It only showed 96 GB and random stuff, along with locking the device so hard that a power pull of the battery connector was required. Well, at that point it’s either got to be the board or the card, so let’s reach for the collection of SD cards.

Sure enough the moment I replace the SanDisk 128GB card it came with, I can read hard drive data from diagnostics mode! It read the Transcend 64 GB card from my old Samsung tablets just fine and dandy. For shits and giggles, I used the 1G PNY card that was like the first or second SD card that I ever bought almost 15 years ago–worked just fine! Reaching for the various Samsung cards (2GB, 64GB, 512GB) in the spare cards bin, the only one it wouldn’t read was the 512. Okay, so either the board doesn’t handle larger SDXC cards or the motherboard is a model that uses wonky LBA addressing.

Big whoop there because I can probably melt the device’s database before a 64 GB card is filled up, and part of the point to this experiment is the lack of storage capacity left on my phone 😗. Key the next problem: nothing will actually recognize the phracking thing! I tried a bunch of different things with the SD card, trying to format it APM/HFS similar to the card it came with and trying dd recovery with MBR images still widely available, but nope. Ironically, when I dd’d a mounted disk utility image of the old card to the new card over /dev/rdiskN it booted perfectly despite the 128G image -> 64G card lobotomy, but still nothing would recognize it. The most that I could get with various dd and disk utility fun times was for the iPod to boot to the recovery screen or the ready to disconnect screen.

If I could just get it recovered, I knew it would be a win at that point.

I can’t say that I expected my M2 MacBook Air or the new Apple Devices app on Windows 11 to recognize the device, which they do after solving the problem. But I had expected that my iBook G4 running Tiger would work, especially after rolling it up to iTunes 9. Nope, nope, nada and the horse I rode in on. That was the point where I figured the only things left to putz with were the generic iPod sync and charge cable the device came with, and replacing the motherboard. Replacing the motherboard or something else to try the cable with would mean acquiring another, and opening this 5th gen made me glad that I didn’t buy one of the metal ones!

Queue the final count down: use an Apple branded 30-pin iPod cable, and everything works. Even more concerning than the amount of time and effort sunk into this project is that Apple still sells these cables. Another two days and a delivery later–the moment I plug it in, guess what? It’s recognized. SMH, greedy fruit companies and their MFI cables I suppose.

More curiously, both the Apple Devices app on W11 and my Mac running Sonoma offered to restore the iPod. I kind of hoped for the former, assumed the latter wasn’t likely, and expected to be reaching for my old iBook G4 again. Turns out that even on an M2 with Sonoma, you can restore an iPod classic from Finder…it’s just a buggy wreck.

Having to pull the cable, replug, and insert a hard shutdown to get the Mac to kill the hung iOS sync services later, I was able to trivially hook up and sync purchased and imported music through Finder. Long as I used the bloody Apple cable.

Once my music was synced, I decided that my choice of “Test” song was emotionally a good choice:

P!nk – So What

Totally forgot how appropriate the music video was, but in the name of more fun I’ll be enjoying the rest of the Funhouse album.

One upside of sorting through old CDs, is the opportunity to restore files that kind of disappeared two or three laptops ago. Another, is content for a recent experiment but that’s still a work in progress :^o.

Something that I also find curious is how tastes have changed. Less so my taste in music, more so my taste in interfaces. The last time that I ripped and organized these CDs, I had my own fairly strong notions of how things should be organized–and it mostly pissed me off. It’s hard to have a very uniform, tightly organized music collection in my experience. And experience has shown that often one method is as good as another until you start to stress specific problems like the maximum number of files in a directory, so meh.

My archival structure is more or less based off Plex’s format with a relatively lax level of adherence, since it’s easier to just import things like a Steam soundtrack as is, and a stack of old CDs is too much effort to value to sit around writing scripts to munge into the desired filesystem structure.

Which kind of brings me to two things that surprise me. One is that Apple Music will happily import audio CDs despite the emphasis on streaming subscription, and it’s a pretty snappy decoder. MPEG-4 containers with AAC-LC is perfectly acceptable to me as a format today due to the level of openness and support, and the iTunes Plus profile of 256K is good as anything shy of giving me a FLAC file. The other thing is that I don’t hate how Apple Music munges my rips, so much as I don’t care how Apple Music munges my rips.

The last time that I really touched anything Apple and music ripping was probably iTunes 6 or 7, which at the time was ‘current’, and let’s just say that XP was still sexy back then. Most of my friends liked iTunes, and not to big a surprise since most had an iPod even if few had Macs. But I was very perturbed by how iTunes wanted to assert its own definition of how to organize my content instead of obeying my system. Combined with being more of an XMMS / Amarok / MPlayer kind of guy, suffice it to say that I was never a fan of iTunes as a media player nor a library manager.

Fast forward to today, and what’s the real big difference there? Well, honestly the way that Apple Music manages imported CDs seems about the same that I remember from almost 20 years ago. The difference? I don’t want to manage my music through a file system. It doesn’t do my life well to organize such things in terms of files and directories built around tracks, albums, and artists and any other hoopla–no, it’s about the data model not about fitting that model to the file system.

It’s actually a lot like my contemporary relationship to notes taking over the past decade, and Android/iOS software in general. I don’t really want a model built around files when a model built around data is more practical. The obvious consequence of course, is that means decent tools. If you can’t do better than find/grep and so on then don’t bother making a fucking interface!

If files are a natural model to a problem: good. At some level most things should be files because we have good tools for working with files and it’s a fundamental aspect of data storage. But raw files are bad at metadata, at search, at relationships, and a host of other things that are more database like or more structured in nature than a stream of bytes. Files are good at storing that information not expressing those concepts, even more so when portability is a consideration. So while I still don’t like the way Apple Music organizes content anymore than I did iTunes, I can appreciate that it provides a reasonable interface particularly for the import part.

And of course the archival path is still tossing the resulting files into my own structure, lol.