Talking Head đŁď¸
AI-generated podcast-style audio from turn-based conversations in WordPress.
No point watching without audio
Description
Section titled âDescriptionâTalking Head lets you write multi-speaker conversations in the WordPress block editor, then generate podcast-quality audio using AI text-to-speech. Each speaker (âheadâ) gets their own voice, and the plugin stitches the segments together into a single audio file with configurable silence gaps â or serves segments individually using virtual stitching for faster publishing.
Features
Section titled âFeaturesâ- Episode editor â Gutenberg blocks for writing turn-based conversations
- Speaker profiles â Custom post type for managing voices and personas
- OpenAI TTS â Generate speech using OpenAIâs text-to-speech API (alloy, echo, fable, onyx, nova, shimmer)
- Azure OpenAI TTS â Alternative provider using Azure-hosted OpenAI deployments
- WordPress AI (Core) â On WordPress 7.0+, use the built-in AI Client for TTS via Settings â Connectors (no API key required)
- Background processing â Audio generation runs via Action Scheduler, with progress tracking
- Audio stitching â FFmpeg-based concatenation with silence gaps and loudness normalization, or pure PHP fallback
- Virtual stitching â Serve audio segments individually without server-side concatenation, with client-side sequential playback
- Player block â Embed episode playback in any post or page, with optional transcript
- Provider selector â Settings page dropdown to switch between providers; only relevant fields are shown
- Provider interface â Extensible architecture for adding more TTS providers
Requirements
Section titled âRequirementsâ- WordPress 6.8+
- PHP 8.3+
- (Although optional, FFmpeg installed on the server allows the user to download the conversation; PHP fallback is available.)
Installation
Section titled âInstallationâ- Download the latest
talking-head.zip. - In WordPress, go to Plugins â Add New â Upload Plugin and upload the zip.
- Activate the plugin.
The plugin updates itself automatically via GitHub releases using plugin-update-checker.
Configuration
Section titled âConfigurationâGo to Talking Head > Settings and configure. The settings page has three tabs:
| Tab | Setting | Description |
|---|---|---|
| Provider | TTS Provider | OpenAI, Azure OpenAI, or WordPress AI (Core) (WP 7.0+) |
| Default Voice | Default voice for new speaker profiles | |
| OpenAI API Key | Your OpenAI API key for TTS | |
| TTS Model | tts-1 (standard), tts-1-hd (high quality), or gpt-4o-mini-tts (supports instructions) | |
| Azure OpenAI API Key | Your Azure OpenAI API key | |
| Azure OpenAI Endpoint | Azure resource endpoint URL | |
| Azure OpenAI Deployment ID | Name of your TTS deployment | |
| Azure OpenAI API Version | API version string | |
| Audio | Stitching Mode | File (concatenate on server) or Virtual (serve segments individually) |
| FFmpeg Path | Absolute path to the FFmpeg binary (optional â PHP fallback if not found) | |
| Output Format | MP3 or AAC | |
| Output Bitrate | 128k / 192k / 256k / 320k | |
| Silence Gap | Milliseconds of silence between turns | |
| Limits | Max Segments | Maximum turns per episode (1â200) |
| Max Characters | Maximum text length per turn (100â4096) | |
| Rate Limit | API requests per minute (1â60) |
Settings can also be set via constants in wp-config.php (highest priority) or environment variables. See CONFIG.md for the full list of 16 constants.
1. Create Speaker Profiles
Section titled â1. Create Speaker ProfilesâGo to Talking Head > Heads and create speaker profiles. Each head has:
- A name
- A voice ID (e.g.,
nova,onyx) - A provider (
openai,azure_openai, orwordpresson WP 7.0+) - Speed (0.25â4.0, default 1.0)
- Optional speaking style/instructions (used with
gpt-4o-mini-tts) - Optional avatar (featured image)
2. Write an Episode
Section titled â2. Write an EpisodeâGo to Talking Head > Add New Episode. The editor loads with an Episode container block and one Turn block. For each turn:
- Select a speaker from the dropdown
- Write the dialogue text
Add more turns with the block appender.
3. Generate Audio
Section titled â3. Generate AudioâSelect the Episode block and click Generate Audio in the block toolbar. The plugin:
- Validates the manuscript (speakers assigned, text within limits)
- Creates a background job via Action Scheduler
- Generates TTS audio for each turn via the configured provider
- Stitches segments with FFmpeg into a single MP3 (file mode), or prepares segments for individual playback (virtual mode)
- Stores the result in
wp-content/uploads/talking-head/
Progress is shown in the sidebar via polling.
4. Embed the Player
Section titled â4. Embed the PlayerâUse the Talking Head Player block in any post or page. Select an episode from the searchable dropdown and optionally enable transcript display. The block renders a native <audio> element.
Development
Section titled âDevelopmentâSee DEVELOPER.md for build commands, REST API, architecture, and workflow details.
License
Section titled âLicenseâGPL-2.0-or-later
Changelog
Section titled âChangelogâSee CHANGELOG.md.
đŚ Source: soderlind/talking-head ¡ Edit on GitHub