This plugin allows you to create text-to-speech podcasts of your posts, with the content from embedded URLs supplied by Readability’s Parser API. It aims to be a open self-hosted re-incarnation of defunct SoundGecko service.
When a Readability Parser API key is supplied, a post which gets saved with a bare URL as its content will have this content prepended with the content that Readability extracts from the page at that URL. This allows you to import an article’s full contents into your podcast just by saving a post with a URL in its content (e.g. by sharing an article URL to your blog via Jetpack’s post by email).
In addition to supplying a URL for the content you want in the podcast, you can also just add the content directly to the post itself without any corresponding article URL, and this content will be converted to TTS (text-to-speech) audio instead. You can also, of course, attach an MP3 to a post and it will be used for the podcast instead of TTS-generated audio from the post content or enclosed URL.
The TTS audio is generated by a Mac regularly connected to the Internet (e.g. your Mac). It generates the article audio MP3 using the OS X
say command. You can configure the voice and the rate for the speech audio generated. (Use of the OS X voice is not required; an alternative TTS solution may be devised instead.) The MP3 gets attached to its corresponding post, being prepended to the post content by means of an
listenability permalink endpoint is introduced which contains the text content of a given post presented in a textual form which can be ready by a text-to-speech (TTS) engine. It is specifically designed to be read by the speech synthesis engine in OS X as it includes embedded speech commands. The RSS2 feed includes a new
enclosure element containing the URL for this endpoint with the ad hoc content type
Note that the Readability Parser API is freely available for non-commercial use. The article content fetched by Readability and inserted into your posts is copyrighted by their respective authors (attribution gets included in the post content). Likewise, the speech audio generated by OS X is for personal, non-commercial use. It is therefore key that there be no advertising employed on the WordPress install that uses this plugin. Because of the non-commercial and personal usage imposed by these dependencies, it is recommended that this plugin be used on your own personal dedicated podcast blog that is set to block search engines, that is unless you have obtained a commercial Readability license and are not using TTS audio generated by OS X.
- Readability Parser API key. This can also be supplied in
- Mac computer (OS X) that is regularly connected to the Internet (e.g. your computer), with SoX installed (e.g. via Homebrew).
- (Optional) Jetpack plugin, for the Post by Email feature.
The plugin includes actions and filters primarily for customizing the formatting of the text for the text-to-speech engine. You may use these hooks to improve how the TTS engine reads the text on a given site, for instance by stripping out footnotes or removing image captions. For an example of such a plugin, see the sample plugin which improves formatting of Wikipedia articles.
See the plugin source code to see which additional plugin hooks are available.
This plugin is developed on GitHub. Report issues there. Pull requests welcome.
GPLv2 license. Copyright 2015 by Weston Ruter.
Upon activation of the plugin, navigate to the Options > Listenability admin page to supply the Readability API key and find technical instructions for how to set up your Mac to generate the speech audio for your podcast.
- Improve handling of Readability API errors by sending post back to draft.
- Remove audio elements from TTS text.