Yesterday I released version 0.6.0 of my audiobook RSS server, `audio-feeder`: github.com/pganssle/audio-feed

It takes your directory of audiobooks and generates an RSS feed for each one, so that you can listen to them in your standard podcast listening flow.

I'm particularly happy with the new feature "rendered feeds", which uses `ffmpeg` behind the scenes to generate alternate feeds where the audiobook is broken up along different lines.

Follow

I've also created this probably convenient docker-compose repository for (somewhat) easily deploying `audio-feeder`: github.com/pganssle/audio_feed

Now featuring ✨🌟✨*installation instructions*✨🌟✨ (so fancy).

I really like the "segmented" feed, which breaks up books along chapter and/or file boundaries, recombining them to minimize total deviation from 60m files. I like to listen to audiobooks in ~60 minute chunks, and this automates the process of chunking them up for me.

The implementation was a rare example where dynamic programming was useful in the wild (and not just in job interviews): github.com/pganssle/audio-feed

Thanks to @njs for suggesting the approach and basically implementing it flawlessly on the first try.

I started this application in December 2016, before I knew anything about databases, so I hacked together a pseudo-DB out of YAML files, because I wanted to be able to edit the files by hand if I screwed up. As this "database" grew, parsing huge YAML files became a bottleneck; I lived with this for years, but recently, I managed to switch over to using a SQLite database!

I lived with this for years, but recently, I managed to switch to a SQLite database!

This was surprisingly easy, because I already had a pseudo-ORM, and I just load the whole "database" into memory at startup, but I am still not using the features of a "real database", since my "queries" are basically Python code iterating over dictionaries and such.

@pganssle perhaps you can nerd snipe @simon to cook something up 😉

Though I reckon running the SQLite database through WASM isn't going to help podcast apps connect with it...

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.