Kanora
Kanora
All dispatches
Ripping

Why We Added MP3 Companions to a Lossless Ripping Flow

April 26, 20264 min readBy Kanora
kanorarippingfeature

The easiest version of a hi-fi app is usually the purest one. Keep everything lossless. Pretend every playback destination is equally capable. Assume that if a device has trouble with the files you care about, the device is simply wrong. There is a certain satisfaction to that stance, but it breaks down quickly once the software leaves the ideal listening room and enters a normal house.

That is the background to the MP3 companion feature in Kanora. The core library is still built around preserving the good source. If I rip a CD, I want the main result to be the highest-quality archival copy I can reasonably keep. That part is not up for debate. But it also became obvious that there were specific places where a second, lighter copy solved real problems without compromising the archive: older DLNA hardware, export scenarios, awkward network playback paths, and the simple desire to avoid transcoding work at the moment of playback if that work can be done once up front.

So the feature ended up being deliberately narrow. Kanora can generate a 320 kbps MP3 companion alongside the primary lossless rip in a single pass, place it in a predictable sibling structure, and leave it out of the actual library index. That last bit matters. The companion is there to make certain routes easier, not to become a second competing truth about what the album is. I did not want the feature to slowly turn into silent quality drift, where convenience assets start pretending to be canonical ones.

I like this kind of decision because it says a lot about product values in a very small space. A lot of software falls into one of two habits here. Either it becomes doctrinaire and refuses compromise even where compromise would make a system more usable, or it dissolves the distinction entirely and quietly optimises everything for convenience. Neither approach felt right for Kanora. The better answer was to acknowledge the messy middle honestly: keep the archive serious, then make a separate provision for the less glamorous realities around it.

This is also where physical media keeps quietly shaping the app. If you are ripping your own discs, you are already choosing a slower, more deliberate relationship to the collection. You care about getting the durable version right. But that does not mean every downstream use needs to share the same level of purity. Sometimes you want the main shelf to stay immaculate while also making sure the kitchen speaker, the car transfer, or the older network endpoint does not become an argument. A companion file fits that world much better than a global “just use MP3 instead” compromise ever would.

AI was useful in this case mostly for pressure-testing the consequences. The idea itself was not hard to have. The harder part was making sure it did not accidentally collapse the library model. Where should the files live, should they be indexed, how should the UI explain them, what happens for multi-disc releases, how do you avoid turning a practical extra into a hidden format policy. Those are exactly the kinds of follow-on questions that AI tools can help enumerate well once the underlying product instinct is already clear.

The result is a feature that looks small in the changelog and feels oddly central in the product. Not because MP3 is exciting, but because it represents a kind of software honesty I am trying to keep. Kanora should respect the best version of the music without becoming inflexible about the environments the music has to travel through. If that sounds unromantic, good. A lot of the best product decisions are. They just remove a future irritation before it has a chance to become somebody else’s workaround.