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
audio
shortcode.
A new
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
text/plain+embedded-speech-commands
.
Restrictions
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.
Dependencies
- Readability Parser API key. This can also be supplied in
wp-config.php
via the READABILITY_PARSER_API_KEY
constant.
- 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.
Extensions
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.
Contributing
This plugin is
developed on GitHub. Report
issues there.
Pull requests welcome.
License
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.