A comprehensive 9-week program to take you from couch to running 5K (30 minutes) continuously, complete with calendar scheduling and audio coaching scripts.
This repository contains everything you need for a complete Couch to 5K training program:
- Dynamic Calendar Generation: Python script to create custom workout schedules
- Audio Coaching Scripts: 14 detailed scripts for voice-guided workouts
- Audio Generation Tools: Python scripts to create professional AI-powered audio files
- Progressive Training Plan: Scientifically designed 9-week progression
- Default Schedule: Monday, Wednesday, Friday at 12:00 PM UTC
- Duration: 9 weeks (27 total workouts)
- Customizable: Generate your own schedule with preferred workout days
Python script to generate custom workout schedules:
- Choose your start date
- Select your preferred workout days
- Set your workout time and timezone
- Generates ICS file compatible with all major calendar apps
- Includes complete workout descriptions and milestones
Usage:
python generate_calendar.py --start-date 2025-06-09 --workout-days "Monday,Wednesday,Friday" --workout-time "7:00 am CDT"Supported timezones:
- EST/EDT (Eastern)
- CST/CDT (Central)
- MST/MDT (Mountain)
- PST/PDT (Pacific)
- UTC/GMT
Complete audio coaching system with 14 scripts:
- Week 1-4: Interval training scripts
- Week 5: Building to 20-minute milestone
- Week 6: Building to 25-minute milestone
- Week 7-9: Continuous running to graduation
Key milestone scripts:
Week5_Day3_Audio_Script.txt- First 20-minute continuous jogWeek6_Day3_Audio_Script.txt- First 25-minute continuous jogWeek9_Day3_FINAL_Audio_Script.txt- Graduation day! π
NEW: Automatically convert text scripts to professional audio files!
generate_audio.py- Full-featured audio generation engine with CLIgenerate_c25k_audio.py- Easy-to-use interactive scriptrequirements.txt- Python dependenciesconfig.json.template- Configuration templateAUDIO_SETUP_GUIDE.md- Complete setup and usage guide
Features:
- ElevenLabs AI Integration: Professional voice generation
- Precise Timing: Voice cues at exact workout moments
- Multiple Voices: Choose from various motivational voices
- Smart Error Handling: Graceful quota management and recovery
- Resume Functionality: Skip existing files to save time and API credits
- Dry Run Mode: Check which files need generation without using API
- Cost Effective: Generate all files for ~$5/month
- Customizable: Edit scripts for personal touches
# Install dependencies
pip install -r requirements.txt
# Generate calendar with your preferred schedule
python generate_calendar.py --start-date 2025-06-09 --workout-days "Monday,Wednesday,Friday" --workout-time "7:00 am CDT"- Open Google Calendar
- Click "+" next to "Other calendars"
- Select "Import"
- Upload the generated ICS file
# Configure API key
cp config.json.template config.json
# Edit config.json with your ElevenLabs API key
# Check which files need generation (dry run)
python generate_audio.py --dry-run
# Generate audio files (skips existing files)
python generate_c25k_audio.py
# Or use CLI for more control
python generate_audio.py --api-key YOUR_KEY
# Force regenerate all files
python generate_audio.py --api-key YOUR_KEY --forceπ See AUDIO_SETUP_GUIDE.md for detailed instructions
- Begin with Week 1 on your chosen start date
- Follow your custom calendar schedule
- Use audio coaching for perfect timing and motivation
| Week | Workout Type | Duration | Description |
|---|---|---|---|
| 1 | Intervals | 30 min | 60s jog / 90s walk |
| 2 | Intervals | 31 min | 90s jog / 2min walk |
| 3 | Intervals | 28 min | 90s + 3min jog cycles |
| 4 | Intervals | 31 min | 3min + 5min jogs |
| 5 | Mixed | 30-34 min | Building to 20min continuous |
| 6 | Mixed | 33-35 min | Building to 25min continuous |
| 7 | Continuous | 35 min | 25min continuous jogs |
| 8 | Continuous | 38 min | 28min continuous jogs |
| 9 | Continuous | 40 min | 30min continuous - GRADUATION! |
- Week 5, Day 3: First 20-minute continuous jog (July 11, 2025)
- Week 6, Day 3: First 25-minute continuous jog (July 18, 2025)
- Week 9, Day 3: Graduation - 30-minute continuous jog (August 8, 2025) π
- Precise Timing: Every audio cue timed to the exact second
- Progressive Motivation: Encouragement builds with difficulty
- Milestone Celebrations: Special coaching for breakthrough moments
- Complete Coverage: 27 workouts, 14 audio scripts, full calendar integration
- AI Voice Generation: Professional-quality audio files with ElevenLabs
- Multiple Voice Options: Choose your preferred coaching voice
- Smart Resume: Skip existing files to save time and API credits
- Dry Run Mode: Preview generation without using API
- Cost-Effective: Generate all audio files for less than $10
- Calendar Format: ICS (iCalendar) - compatible with Google Calendar, Outlook, Apple Calendar
- Time Zone: All workouts scheduled for 12:00 PM UTC
- Audio Scripts: Text format ready for text-to-speech conversion
- Audio Generation: Python scripts using ElevenLabs API
- Total Duration: Ranges from 28-40 minutes depending on week
- Uses ElevenLabs AI for professional voice quality
- Precise timing with millisecond accuracy
- Multiple voice options (Rachel, Antoni, Bella, Josh)
- Batch processing for all 14 audio files
- Cost: ~$5 for all files
- Voice Selection: Choose an encouraging, motivational voice
- Background Music: Add upbeat music for jogging, calmer for walking
- Sound Effects: Consider transition beeps between intervals
- Volume: Keep music lower than voice instructions
- Format: Export as MP3 for universal compatibility
Once you've generated your audio files, you'll need to get them onto your phone for workouts. Here are several effective methods:
Google Drive / iCloud / Dropbox
- Upload generated audio files to your preferred cloud service
- Download the cloud app on your phone
- Download files for offline access before workouts
- Play directly from the cloud app or your phone's built-in music player
Benefits: Automatic sync, works across devices, no cable needed
Spotify (Premium)
- Create a new playlist in Spotify Desktop app
- Add your local audio files to the playlist ("Local Files" feature)
- Download playlist to your phone for offline listening
- Perfect integration with your existing music setup
Apple Music / YouTube Music
- Similar local file upload features available
- Check your service's "local files" or "upload" options
USB Cable Transfer
- Connect phone to computer via USB
- Copy audio files to phone's Music folder
- Files will appear in your default music app
- Works with iPhone (via iTunes/Finder) and Android
AirDrop (iPhone/Mac)
- Select audio files on Mac
- Right-click β Share β AirDrop
- Send to your iPhone
- Files save to Files app, can move to Music
Dedicated Workout Apps
- Upload to fitness apps that support custom audio
- Some running apps allow importing coaching tracks
Voice Recorder Apps
- Import into voice memo/recorder apps
- Often have better background playback during workouts
- Less likely to shuffle or interrupt with notifications
- Download for Offline: Always download files locally before workouts
- Airplane Mode: Consider using airplane mode during runs to save battery and avoid interruptions
- Volume: Test audio levels before your first workout
- Backup Storage: Keep files in multiple locations in case of phone issues
- File Names: Keep descriptive names (e.g., "C25K_Week1_Day1.mp3") for easy selection
- Consistency: Follow the Mon/Wed/Fri schedule religiously
- Pace: Focus on completing the time, not speed
- Rest: Take rest days seriously for recovery
- Hydration: Stay well-hydrated throughout the program
- Form: Maintain good running posture and breathing
- Audio: Use the generated audio files for perfect timing
API Quota Exceeded
- The script will stop gracefully when ElevenLabs credits run out
- Successfully generated files are preserved
- Add more credits to your account to continue
- Re-run generation to continue from where it left off (resume functionality)
Resume Functionality
- By default, the script skips existing audio files to save time and API credits
- Use
--forceflag to regenerate all files from scratch - Use
--dry-runto check which files need generation without using API
Understanding Workout Audio Files
- Audio files are mostly silent by design (95%+ silence is normal)
- Voice cues occur only at specific workout moments (e.g., "start jogging", "switch to walking")
- A 30-minute file may contain only 2-3 minutes of actual speech
- Long periods of silence are intentional for uninterrupted workouts
Cost Management
- Each full generation uses
1000-2000 characters ($1-2) - Test with Week 1 first to verify your setup
- Generate files individually if needed to control costs
- Use dry run mode to plan your generation strategy
Upon completing Week 9, Day 3, you will have officially graduated from couch to 5K runner! You'll be able to run continuously for 30 minutes - a incredible transformation in just 9 weeks.
Based on the proven Couch to 5K plan from c25k.com, adapted with modern calendar integration and comprehensive audio coaching.
couch-to-5k-program/
βββ README.md # This file
βββ AUDIO_SETUP_GUIDE.md # Audio generation guide
βββ generate_calendar.py # Calendar generation script
βββ requirements.txt # Python dependencies
βββ config.json.template # Configuration template
βββ generate_audio.py # Full audio generation engine
βββ generate_c25k_audio.py # Easy-to-use audio generator
βββ C25K_Audio_Scripts/ # Audio coaching scripts
βββ README_Audio_Instructions.txt # Usage instructions
βββ Week1_Audio_Script.txt # Week 1 coaching
βββ Week2_Audio_Script.txt # Week 2 coaching
βββ ... # Additional weeks
βββ Week9_Day3_FINAL_Audio_Script.txt # Graduation!
Ready to transform your life? Your journey from couch to 5K starts now! πββοΈβ¨