← Back to docs index

Generate a daily two-voice podcast in EN and FR based on the day's press review.

Daily Podcast Recipe

Overview

Generate a daily two-voice podcast in EN and FR based on the day's press review.

Voices

English

French

Unused (no Dutch TTS support)

Voicebox API (localhost:8100)

Key endpoints

Text limit: 5000 chars per generation

Model: use 0.6B (the 1.7B is better but may need re-downloading after restarts)

Script Structure

  1. Source text: Based on that day's press review at docs/press-reviews/YYYY-MM-DD-press-review.md
  2. Format: 8-12 alternating segments between the two hosts, conversational tone
  3. Content flow:
    • Intro: both hosts introduce themselves by name ONCE, mention it's the Manneken Podcast
    • Weather + urgent alerts (air quality, strikes, etc.)
    • Top stories (2-3 headlines)
    • Categories: Politics, Transport, Sport, Culture, Safety
    • Outro: both hosts sign off
  4. IMPORTANT — No name prefixes in speech: Do NOT include "Xavier:", "Leen:", "Raymond:", "Annie:" labels in the generated text. Hosts introduce themselves ONCE at the start, then just alternate naturally. The listener hears different voices — they don't need name tags every turn.
  5. Generation: Each segment → Voicebox /generate → collect generation IDs
  6. Assembly: Create story → add all generation IDs as items → export as MP3
  7. Output: Save to /opt/voicebox/podcasts/podcast-YYYY-MM-DD-{en,fr}.mp3

Script

scripts/generate-podcast.sh [YYYY-MM-DD] — generates both EN and FR podcasts.

Deployment

After generating, run bash scripts/deploy-site.sh to rebuild the website (podcast page scans /opt/voicebox/podcasts/).

Discord posting

Post the podcast to Discord by embedding the audio file directly as an attachment (not just a link). Use the message tool with filePath pointing to the MP3.

Daily cron

Important notes