Podcast Generator
Generates podcast-style audio that plays directly in the browser. Zero cost, no API keys needed.
Workflow Decision Tree
User provides formatted dialogue
→ Use existing dialogue as-is if quality is good
→ Refine structure only if flow needs improvement
User provides article, list, or text content
→ Create dialogue from content (see "Dialogue Creation Process")
User provides topic only
→ Request source material before proceeding
Dialogue Creation Process
Follow this two-phase workflow when creating podcast dialogue from content:
Phase 1: Analyze Source Content
- Read source material completely
- Detect language from content (en, de, fr, es, it, etc.)
- Identify key information: facts, dates, names, numbers, details
- Organize by theme: chronology, category, or logical grouping
Phase 2: Create Dialogue
Structure conversation:
- Host (Speaker 1): ~20% - questions and transitions
- Expert (Speaker 2): ~80% - factual responses from source
- Length: as many exchanges as needed to cover all content (typically 10-50+ lines)
Apply TTS formatting: Read reference/tts-formatting.md for complete rules
Generate JSX file from template (see "Implementation Steps")
Information Accuracy
Convert text to audio. Use only source material facts.
Expert responses:
- Use only names, dates, numbers, details explicitly stated in source
- Never invent examples, context, or explanations not in source
- Never add interpretations, opinions, or evaluations
- Never explain WHY something happened unless source explains it
Host phrases:
- Use neutral transitions: "I see", "Tell me more", "Can you elaborate?"
- Reference previous statements: "You mentioned X - how does that connect to Y?" (when source shows connection)
- Never add new facts, context, or interpretations
Dialogue Format Guidelines
Host (Speaker 1) - ~20% of content
- Introduce topic with opening question
- Ask transition questions between topics
- Reference Expert's previous statements: "You mentioned X - can you elaborate?"
- Use conversational acknowledgments: "I see", "Tell me more"
- Never introduce facts not in source
Expert (Speaker 2) - ~80% of content
- Provide comprehensive factual responses from source material
- Include specific details: names, dates, numbers, locations
- Organize information logically by theme, chronology, or category
- Structure facts narratively using only source material
- Never repeat information already stated
- Never add context or examples not in source
Natural Conversation Techniques
Use these patterns without adding information:
- Vary question styles: "What happened next?" / "Can you explain that further?" / "Tell me about..."
- Ask follow-up questions based on Expert's previous response
- Expert elaborates when source provides multiple details about a topic
- Clear transitions between sections: "Moving to the next category...", "In the European context..."
Avoid
- Personal opinions: "I think...", "That's crazy..."
- Value judgments: "amazing", "fascinating", "interesting"
- Humor, irony, jokes
- Rapid back-and-forth after every sentence
Implementation Steps
When user requests a podcast:
- Analyze source content and create dialogue following format above
- Detect language from content
- Read template from
assets/podcast-template.jsx
- Replace values in template:
PODCAST_SCRIPT - your generated dialogue
PODCAST_TITLE - descriptive title from content
PODCAST_LANGUAGE - detected language code
- Save as JSX file - Use the Write tool to save the modified template as a
.jsx file. The file will render as an interactive podcast player.
- Recommend Microsoft Edge browser for best voice quality (250+ Natural voices vs Chrome's 19)
Technical Reference
Script Format
<speaker1>Host's question or statement.
<speaker2>Expert's response with factual information.
Voice Configuration (automatic)
- Speaker 1 (Host): Pitch 1.05, Rate 0.95
- Speaker 2 (Expert): Pitch 0.88, Rate 0.93
Platform-Aware Voice Selection
Platform detection:
- Automatically detects iOS, Android, Desktop Edge, or Desktop
- Selects best available voices based on platform
Desktop Edge:
- Priority: Microsoft Neural/Natural voices (Katja, Conrad, Aria, Guy, etc.)
- 250+ high-quality voices available
Desktop Chrome:
- Priority: Google voices (Google UK English Female, Google Deutsch, etc.)
- ~19 voices available (lower quality than Edge)
- Fallback: local system voices
iOS (Safari/Mobile):
- Priority: Native Siri voices (Samantha, Anna, Daniel, etc.)
- Best quality on iOS devices
Android (Chrome/Mobile):
- Priority: Google TTS voices (Google Deutsch, Google UK English Female, etc.)
- Wavenet voices preferred when available
Voice assignment:
- Automatically assigns different voices to Speaker 1 and Speaker 2
- Uses modulo distribution for 3+ speakers
- Ensures distinct voices even with limited availability
Player Features
- Play/Pause/Resume with full playback control
- Stop to reset to beginning
- Click any transcript line to resume from there
- Progress bar shows current position
- Auto-scroll follows current line
Technical Constraints
- Keep sentences under 14 seconds (Chrome limitation)
- 350ms pause between speakers
- Microsoft Edge browser provides 250+ high-quality Natural voices (best option)
- Chrome provides only 19 lower-quality voices with utterance bugs
- Firefox has very limited voice support
Quality Requirements
- Factual Accuracy: Expert responses use only source facts
- Natural Flow: Avoid rapid back-and-forth, value judgments
- TTS Compliance: All text must play without pronunciation errors
- Zero Hallucination: No invented examples or context
- Complete Coverage: Include all important facts from source
- No Duplicates: Each fact appears exactly once
1---2name: podcast3description: Creates audio podcasts from text using browser text-to-speech. Use when user mentions podcast, audio conversation, dialogue, spoken content, voice narration, audio book, or text-to-speech generation. Supports multiple speakers with automatic language detection. Zero cost, no API keys, works in browser.4---5
6# Podcast Generator
7
8Generates podcast-style audio that plays directly in the browser. Zero cost, no API keys needed.
9
10## Workflow Decision Tree
11
12### User provides formatted dialogue
13→ Use existing dialogue as-is if quality is good
14→ Refine structure only if flow needs improvement
15
16### User provides article, list, or text content
17→ Create dialogue from content (see "Dialogue Creation Process")
18
19### User provides topic only
20→ Request source material before proceeding
21
22## Dialogue Creation Process
23
24Follow this two-phase workflow when creating podcast dialogue from content:
25
26### Phase 1: Analyze Source Content
27
281. **Read source material completely**
292. **Detect language** from content (en, de, fr, es, it, etc.)
303. **Identify key information**: facts, dates, names, numbers, details
314. **Organize by theme**: chronology, category, or logical grouping
32
33### Phase 2: Create Dialogue
34
351. **Structure conversation**:
36 - Host (Speaker 1): ~20% - questions and transitions
37 - Expert (Speaker 2): ~80% - factual responses from source
38 - Length: as many exchanges as needed to cover all content (typically 10-50+ lines)
39
402. **Apply TTS formatting**: Read [reference/tts-formatting.md](./reference/tts-formatting.md) for complete rules
41
423. **Generate JSX file** from template (see "Implementation Steps")
43
44## Information Accuracy
45
46Convert text to audio. Use only source material facts.
47
48**Expert responses:**
49- Use only names, dates, numbers, details explicitly stated in source
50- Never invent examples, context, or explanations not in source
51- Never add interpretations, opinions, or evaluations
52- Never explain WHY something happened unless source explains it
53
54**Host phrases:**
55- Use neutral transitions: "I see", "Tell me more", "Can you elaborate?"
56- Reference previous statements: "You mentioned X - how does that connect to Y?" (when source shows connection)
57- Never add new facts, context, or interpretations
58
59## Dialogue Format Guidelines
60
61### Host (Speaker 1) - ~20% of content
62
63- Introduce topic with opening question
64- Ask transition questions between topics
65- Reference Expert's previous statements: "You mentioned X - can you elaborate?"
66- Use conversational acknowledgments: "I see", "Tell me more"
67- Never introduce facts not in source
68
69### Expert (Speaker 2) - ~80% of content
70
71- Provide comprehensive factual responses from source material
72- Include specific details: names, dates, numbers, locations
73- Organize information logically by theme, chronology, or category
74- Structure facts narratively using only source material
75- Never repeat information already stated
76- Never add context or examples not in source
77
78### Natural Conversation Techniques
79
80Use these patterns without adding information:
81- Vary question styles: "What happened next?" / "Can you explain that further?" / "Tell me about..."
82- Ask follow-up questions based on Expert's previous response
83- Expert elaborates when source provides multiple details about a topic
84- Clear transitions between sections: "Moving to the next category...", "In the European context..."
85
86### Avoid
87
88- Personal opinions: "I think...", "That's crazy..."
89- Value judgments: "amazing", "fascinating", "interesting"
90- Humor, irony, jokes
91- Rapid back-and-forth after every sentence
92
93## Implementation Steps
94
95When user requests a podcast:
96
971. **Analyze source content** and create dialogue following format above
982. **Detect language** from content
993. **Read template** from `assets/podcast-template.jsx`
1004. **Replace values** in template:
101 - `PODCAST_SCRIPT` - your generated dialogue
102 - `PODCAST_TITLE` - descriptive title from content
103 - `PODCAST_LANGUAGE` - detected language code
1045. **Save as JSX file** - Use the Write tool to save the modified template as a `.jsx` file. The file will render as an interactive podcast player.
1056. **Recommend Microsoft Edge browser** for best voice quality (250+ Natural voices vs Chrome's 19)
106
107## Technical Reference
108
109### Script Format
110```
111<speaker1>Host's question or statement.
112<speaker2>Expert's response with factual information.
113```
114
115### Voice Configuration (automatic)
116- Speaker 1 (Host): Pitch 1.05, Rate 0.95
117- Speaker 2 (Expert): Pitch 0.88, Rate 0.93
118
119### Platform-Aware Voice Selection
120
121**Platform detection:**
122- Automatically detects iOS, Android, Desktop Edge, or Desktop
123- Selects best available voices based on platform
124
125**Desktop Edge:**
126- Priority: Microsoft Neural/Natural voices (Katja, Conrad, Aria, Guy, etc.)
127- 250+ high-quality voices available
128
129**Desktop Chrome:**
130- Priority: Google voices (Google UK English Female, Google Deutsch, etc.)
131- ~19 voices available (lower quality than Edge)
132- Fallback: local system voices
133
134**iOS (Safari/Mobile):**
135- Priority: Native Siri voices (Samantha, Anna, Daniel, etc.)
136- Best quality on iOS devices
137
138**Android (Chrome/Mobile):**
139- Priority: Google TTS voices (Google Deutsch, Google UK English Female, etc.)
140- Wavenet voices preferred when available
141
142**Voice assignment:**
143- Automatically assigns different voices to Speaker 1 and Speaker 2
144- Uses modulo distribution for 3+ speakers
145- Ensures distinct voices even with limited availability
146
147### Player Features
148- Play/Pause/Resume with full playback control
149- Stop to reset to beginning
150- Click any transcript line to resume from there
151- Progress bar shows current position
152- Auto-scroll follows current line
153
154### Technical Constraints
155- Keep sentences under 14 seconds (Chrome limitation)
156- 350ms pause between speakers
157- Microsoft Edge browser provides 250+ high-quality Natural voices (best option)
158- Chrome provides only 19 lower-quality voices with utterance bugs
159- Firefox has very limited voice support
160
161## Quality Requirements
162
163- **Factual Accuracy**: Expert responses use only source facts
164- **Natural Flow**: Avoid rapid back-and-forth, value judgments
165- **TTS Compliance**: All text must play without pronunciation errors
166- **Zero Hallucination**: No invented examples or context
167- **Complete Coverage**: Include all important facts from source
168- **No Duplicates**: Each fact appears exactly once