3 ms·
Wow I was not expecting this here. Thanks jger15 for submitting it. Well, since we're here, can I share with you the tech side of this that most don't care ab
by sivers 7y ago
Wow I was not expecting this here. Thanks jger15 for submitting it.
Well, since we're here, can I share with you the tech side of this that most don't care about?
Instead of using one of the many many podcast hosting services, I wanted to DIY everything, self-host, etc. Everything is done on the command line.
I rolled my own RSS with a Ruby script:
https://gist.github.com/sivers/e3a90a742cfc0802ede9dbf553339174 https://gist.github.com/sivers/e3a90a742cfc0802ede9dbf553339...
Each episode is made using sox :
https://gist.github.com/sivers/b900bf4004e148b32a5ddf3fffbe3a1c https://gist.github.com/sivers/b900bf4004e148b32a5ddf3fffbe3...
This one is especially fun. See the "pad" function that writes that many seconds of silence before bringing in the desired audio file. Then use that new file to determine the length of the pad to precede the next file, etc.
In the end I have about 8 WAV files that I do a "sox -M" to merge them all together into one combined WAV file, with all the timings correct, and tracks can overlap.
Then for hosting, I just stuck it on the same $10/month Vultr OpenBSD instance that I host everything else on. Nginx delivering static. And it's held up fine. I put it on its own subdirectory (m.sivers.org) in case I need to move it to a CDN some day, but I'm hoping I won't need to.
Finally I use lame -m m -b 96 to make the MP3 and https://mutagen.readthedocs.io/en/latest/man/mid3v2.html https://mutagen.readthedocs.io/en/latest/man/mid3v2.html to tag the MP3 including adding the photo to it.
I picked up a lot of these tips from various HN threads over the past year.
Thanks for the inspiration, gang. And thanks again for posting this and the nice comments. I really appreciate it.
- Derek