Add radio show audio processor and post-show workflow

- Audio processor CLI tool with 6-stage pipeline: transcribe (faster-whisper GPU),
  diarize (pyannote), detect segments (multi-signal classifier), remove commercials,
  split segments, analyze content (Ollama)
- Post-show workflow doc for episode posts, forum threads, deep-dive blog posts
- Training plan for using 579-episode archive for voice profiles and commercial detection
- Successful test: 45min episode transcribed in 2:37 on RTX 5070 Ti
- Sample transcript output from S7E30 (March 2015)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-21 11:51:59 -07:00
parent 98c3ee4225
commit 3cbb1b8aab
14 changed files with 2723 additions and 0 deletions

View File

@@ -0,0 +1,276 @@
# Post-Show Workflow: The Computer Guru Show
## Overview
After each live show, this workflow transforms the broadcast into multiple content pieces that extend the show's reach, deepen audience engagement, and build a searchable archive. The process starts with a debrief and produces 3 tiers of content.
---
## Phase 1: Post-Show Debrief (Same Day)
### Input
- Show prep file (`episodes/YYYY-MM-DD-topic/show-prep.md`)
- Host's notes on what actually happened during the show
### Debrief Questionnaire
Create a file: `episodes/YYYY-MM-DD-topic/post-show-debrief.md`
```markdown
# Post-Show Debrief
## Episode: [title]
## Air Date: [date]
### What Made It In
- [ ] Segment 1: [topic] — Used / Modified / Cut
- [ ] Segment 2: [topic] — Used / Modified / Cut
- [ ] Segment 3: [topic] — Used / Modified / Cut
- [ ] Segment 4: [topic] — Used / Modified / Cut
- [ ] Segment 5: [topic] — Used / Modified / Cut
- [ ] Segment 6: [topic] — Used / Modified / Cut
### What Changed Live
- Segments reordered? Which ones?
- Topics expanded beyond prep? Which ones and why?
- Topics cut short? Why? (time, audience reaction, breaking news)
- Unplanned tangents that worked well?
### Caller/Audience Interaction
- Caller topics and questions (summarize each)
- Live chat highlights (if applicable)
- Audience reactions that shifted the conversation
### Unplanned Additions
- Breaking news discussed
- Personal stories / anecdotes shared
- Technical demos or live troubleshooting
- Guest appearances or call-ins
### Best Moments
- Strongest segment (what resonated most)
- Best one-liner or quotable moment
- Most engaging audience interaction
- "Wish I'd said..." moments (capture for blog expansion)
### Topics That Deserve More
- What couldn't you finish due to time?
- What generated the most audience interest?
- What deserves a deep-dive blog post?
- Follow-up stories to watch for next week?
```
---
## Phase 2: Content Generation (Within 48 Hours)
### Tier 1: Episode Post (Radio Show Website)
**Target:** `website/src/content/episodes/s[SS]e[EE]-slug.md`
**Purpose:** Canonical episode page with summary, chapters, and links
**Structure:**
```markdown
---
title: "S[X]E[X] [Episode Title]"
season: [number]
episode: [number]
pubDate: [air date]
duration: "[HH:MM:SS]"
audioUrl: "[podcast audio URL]"
audioSize: [bytes]
episodeType: "full"
featured: [true for current episode]
tags: [topic tags from show prep + debrief]
chapters:
- time: "00:00"
title: "Introduction"
- time: "MM:SS"
title: "[Segment 1 title]"
[...]
---
## Episode Summary
[2-3 paragraph summary of what the show covered — written from the
debrief, not just the prep. Captures what ACTUALLY happened, including
unplanned moments, caller contributions, and tangents that worked.]
## Topics Covered
### [Topic 1 Title]
[3-5 sentence summary with the key takeaway. Link to deep-dive blog
post if one exists.]
### [Topic 2 Title]
[...]
## Links & Resources
- [Relevant links mentioned on air]
- [Source articles referenced in prep]
## Continue the Conversation
- [Link to forum discussion thread]
- [Link to related blog posts]
```
**Action items:**
1. Generate episode markdown from show-prep + debrief
2. Add chapter timestamps (from audio if available, estimated from segment timing if not)
3. Create matching forum discussion thread (Flarum, tag: Show Discussion)
4. Build and deploy website
### Tier 2: Forum Discussion Thread (Community Forum)
**Target:** Flarum forum at community.azcomputerguru.com
**Tag:** Show Discussion (ID 8)
**Purpose:** Ongoing conversation hub for each episode
**Structure:**
```
Title: S[X]E[X] Discussion: [Episode Title] — [Air Date]
Body:
This week's episode: [Episode Title]
[Brief 2-3 sentence hook — the most provocative or interesting
angle from the show]
Topics we covered:
- [Topic 1] — [one-line teaser]
- [Topic 2] — [one-line teaser]
- [Topic 3] — [one-line teaser]
What do you think? Drop your thoughts below.
- Did we miss anything on [controversial topic]?
- What's your experience with [relatable topic]?
- [Specific question raised by a caller that others might want to weigh in on]
Listen to the full episode: [link to episode page]
Read our deep-dive on [topic]: [link to blog post]
```
### Tier 3: Deep-Dive Blog Posts (Radio Show Website)
**Target:** `website/src/content/blog/[slug].md`
**Purpose:** SEO-rich, shareable long-form content that expands on show topics
**Selection criteria (from debrief):**
- Topics that generated the most audience interest
- Topics cut short due to time
- Topics with strong search potential (trending tech news)
- Topics where the host has unique expertise or perspective
**Structure:**
```markdown
---
title: "[Expanded Topic Title]"
pubDate: [date, within 48h of show]
description: "[SEO-friendly 150-char description]"
author: "Mike Swanson"
tags: [relevant tags]
image: [optional hero image]
---
[Long-form article expanding on the show segment. NOT a transcript.
This is the version you'd write if you had unlimited airtime:]
- Background context the audience needs
- The full argument with supporting evidence
- Technical details simplified for general audience
- What it means for regular people (the show's signature angle)
- What to watch for next (forward-looking)
- Host's personal take / opinion
## Key Takeaways
- [Bullet point summary for skimmers]
## Related Episodes
- [Links to past episodes that covered related topics]
*This topic was discussed on [Episode Title], airing [date].
[Listen to the full episode →](link)*
```
**Recommended: 1-3 blog posts per episode**, focusing on the strongest topics.
---
## Phase 3: Cross-Promotion & Engagement
### Immediate (Day of Show)
- [ ] Post episode page to website
- [ ] Create forum discussion thread
- [ ] Cross-link episode ↔ forum thread
### Within 48 Hours
- [ ] Publish deep-dive blog post(s)
- [ ] Cross-link blog posts ↔ episode page ↔ forum
- [ ] Update episode page with blog post links
### Engagement Opportunities to Build Out
#### Currently Missing (Identify & Prioritize)
1. **Social media distribution** — No social accounts linked. Where does the audience hang out? Twitter/X? Facebook? Reddit? Mastodon?
2. **Email newsletter** — Subscribe page exists but is placeholder. Mailchimp/Buttondown/self-hosted? Weekly digest of episode + blog posts?
3. **Podcast distribution** — Audio URL points to Blubrry (legacy). Are new episodes going to Apple Podcasts, Spotify, etc.? RSS feed exists (`feed.xml.ts`) but needs verification.
4. **Show notes SEO** — Episode pages need proper meta descriptions, Open Graph tags, structured data (PodcastEpisode schema).
5. **Audiogram/clips** — Short audio or video clips of the best 60-90 seconds for social sharing.
6. **Caller follow-up** — If callers raise topics, follow up in blog posts and tag them (builds loyalty).
7. **"This Week in Tech" roundup email** — Repurpose the show prep Quick Headlines into a weekly email blast.
8. **Community forum engagement** — Seed discussion threads with provocative questions, not just summaries. Respond to replies.
9. **Guest booking pipeline** — The show prep references industry topics where expert guests would add value. Track potential guests.
10. **Analytics-driven topic selection** — Use Matomo data to see which episode pages and blog posts get the most traffic, inform future show prep.
---
## Automation Opportunities
### What Claude Can Do Now
- Generate episode post from show-prep + debrief
- Generate forum discussion thread
- Generate deep-dive blog posts from show prep segments
- Post to forum via Flarum database insert
- Build and deploy website via Astro build + rsync
- Track analytics via Matomo
### What Needs Setup
- Podcast audio hosting for new episodes (Blubrry? Podbean? Self-hosted?)
- Social media API access (for automated posting)
- Newsletter platform (for automated digest)
- Audio processing pipeline (for audiograms/clips)
---
## File Structure
```
episodes/
YYYY-MM-DD-topic/
show-prep.md ← Pre-show (already exists)
post-show-debrief.md ← NEW: Post-show notes
generated/
episode-post.md ← Generated episode page content
forum-thread.md ← Generated forum discussion
blog-topic-1.md ← Generated deep-dive blog post
blog-topic-2.md ← Generated deep-dive blog post
```
---
## Example: March 21 Episode
If we ran this workflow for today's "Who's Really In Control?" episode:
**Episode post:** S11E02 (or whatever the current season/episode numbering is)
**Forum thread:** "S11E02 Discussion: Who's Really In Control? — March 21, 2026"
**Blog post candidates (from show prep):**
1. "The White House AI Framework: What It Actually Says and Why It Matters" — Strong SEO potential, timely, unique angle (preemption vs. state laws)
2. "NVIDIA's Trillion-Dollar Bet: How One Company Controls the AI Revolution" — Evergreen explainer, strong search volume
3. "Apple Gave Google the Keys to Siri — Here's Why That Should Concern You" — Provocative, shareable, high interest
4. "1 Petabyte Stolen: Inside the TELUS Digital Breach" — Cybersecurity angle, practical advice for listeners
5. "Right to Repair Just Became Law — What You Can (and Can't) Fix Now" — Practical, actionable, local angle
**Recommended picks:** #1 (timely + unique), #3 (provocative + shareable), #5 (practical + evergreen)