Audio narration in Micro.blog

Listen

This feature went from idea to implementation quickly because it turns out we already have full podcast hosting in Micro.blog! How convenient. I’m going to use this post to break it all down.

AI is everywhere, including some places it probably shouldn’t be. If you’ve been following my blog you know that I see huge potential in generative AI. We’re using it in Micro.blog to improve photos search and accessibility text for photos. But like many tools, AI is going to be overused before we all find the right balance for what it’s good at.

When Jean and I were talking to Christina Warren at Micro Camp, I asked Christina about a talk she gave at Çingleton about 10 years ago. I actually blogged about it at the time. What struck me as particularly relevant now as we’re about to be swamped with AI-generated content is that there’s no substitute for the human voice. I don’t just mean that an actual recording is better than a synthetic voice. I also mean that things that are created by humans will increasingly be sought out.

We want to see the personal side of someone, not just the polished brand. We want to see the imperfect, the creative, the emotion. We want authenticity.

In Micro.blog, you can now upload an audio recording of one of your blog posts. Use the audio icon in the new post form on the web, which is available to everyone starting today, even at the standard $5 plan. Your blog readers can listen to the audio narration of the post if they don’t feel like reading the post. Of course it’s especially great for the visually impaired.

Here’s what it looks like on my blog, next to the posted date. Shout-out to Medium which I drew some inspiration from.

Play button screenshot.

I’m also adding audio narration to this very blog post, so you can click over to the web to try it out.

When there’s audio attached to a post, Micro.blog attempts to check if it is probably the narration for a post. If the number of words in the post and the audio duration is roughly comparable to how long it would take a human to read the post, it assumes it’s narration and not a podcast. Podcast episodes are more likely to be longer with very short “show notes” in the actual blog post text.

Micro.blog checks this so that it can hide the default audio player and transcript link. These would add clutter to normal blog posts.

Blog themes will still need to be updated to support the play button. I’ve already updated the Alpine theme and will update others later. Themes can use a new API called Narration.js. Just plop this JavaScript anywhere you want the play button in your template, likely the layouts/post/single.html file. (Note that this currently needs to be on the permalink page. It won’t work correctly on the home page with a list of blog posts yet.)

{{ with .Params.audio }}
  <script type="text/javascript" src="https://micro.blog/narration.js?url={{ . }}"></script>
{{ end }}

If you’re using Micro.blog Premium, the audio narration will also be included in the podcast feed. Any blog can effectively be a podcast, even if you don’t think of it as a traditional podcast. Some of my favorite writers have had great success with a dual model of email newsletter plus podcast version of the same content, like Ben Thompson and Molly White.

I can’t wait to see how people use this. It’s totally optional. It’s more work, and not everyone is going to want to do that extra work. I’m imagining this would be used for selective, special blog posts, rather than everything. I’m also interested in working this functionality into our companion app Wavelength, which should cut down on the technical steps.

In some ways, this feature isn’t actually about what is possible. This feature is a statement: we make things for humans, so they can make the web a little better. Along the way there will be plenty to automate, plenty of AI tools that will be important shortcuts, but we’re not going to lose our voice.

Miraz Jordan

Sounds fantastic. Looking forward to trying it out on one of my rare longer posts. 😁

Manton Reece

@Miraz Thanks!

Jarrod Blundy

How cool! I’ve been noodling on implementing something like this for a while. Ideally I could include auto-narration with my voice (via Personal Voice?) for every post, but swap out for a human recording for “special” posts. This gets the foundation right. Thanks for building it!

Beardy Star Stuff

@manton This looks great, thanks for the new feature!

Sam (Satyajit) Grover

That's awesome!

Leon Mika

What a fantastic feature. Looking forward to trying this out.

rom

whoa! thanks for adding more features. :)

Numeric Citizen

oh, that’s interesting!

Andrew Canion

Looking forward to themes integrating this amazing feature.

Javier Plumey

This is a great new feature. I can see a use for this for one of my non-profits.

Jamie Thingelstad

fun to see this. Some Airchat vibes. 😁

Aeryn

hi Manton. Do I understand correctly that all audio narration audios will be mixed in with podcast audios, in the podcast RSS feed?

Mohit

That is wonderful. Absolutely love the feature. It'll be refreshing to hear people's voices along with the text that they'll write. :)

Manton Reece

@aeryn That's correct. Do you think it should be an option? In my case, my blog is not normally a podcast so having a special feed is nice. But I can see how many that wouldn't always be good.

Aeryn

I’ve got 3 blogs on MB. One of which features a podcast. On that one I wouldn’t want short audios mixed in. But then I might not use the feature on that blog. On another I am thinking I might like to use the feature but not sure I want to syndicate it as a podcast specifically. I think I would like the idea of it being optional. But tbh not even sure how that would affect me because I don’t know yet 🤷‍♀️ sorry for vagueness

Aeryn

@pimoore I would like to know this too. I think I’m slightly confused if I would want to mix short form audio with longform. And how potential listeners might respond. I like the idea of audio recordings in posts but not having them show up on a podcast app. Hmm. Not sure I really understand

Manton Reece

@aeryn I should have clarified that each blog will have its own podcast feed, so if your podcast is already separate, you might not need to do anything except not link to the podcast feed for your other blogs. But we could also have a plug-in for better control over this.

Manton Reece

@pimoore Yep, that’s right.

Dr. Adam Procter

brilliant I had done this type of thing a couple of times manually as I have premium account using the upload feature. Will be figuring out how to use proper feature more often for sure.

Manton Reece @manton
Lightbox Image