AI Podcast Generator is a AI powered software that automatically generates podcast scripts and audio from text files. This tool leverages Marvin for text generation and Play.ht API for text-to-speech conversion. The generated audio clips are then merged using pydub to create the final podcast output.
- Generate podcast scripts and audio automatically.
- Customize podcast details, host, guest, topics, and output settings.
- Supports multiple voices from Play.ht API.
- Requires minimal setup and configuration.
This Audio was generated based on this YAML text file.
# Podcast Interview Configuration
podcast:
info:
title: Artificial Intelligence for Natural Brains
description: A podcast where we talk about the future of AI and how it will affect our lives
host:
name: Brandon Bert
voice: en-US-BrandonNeural #A value from data/voices.json
guest:
name: Monica Gradient
voice: en-US-MonicaNeural #A value from data/voices.json
topics:
main: Artificial Intelligence
sub:
- ChatGPT
- Generative AI
- AGI
- AI Ethics
output:
duration: 5 #Episode length in minutes
language: english
audio: True #Set to False if you want to generate only the text script
folder: examples/ai/
This Audio was generated based on this YAML text file.
# Podcast Interview Configuration
podcast:
info:
title: Todos los gatitos se van al cielo
description: Un programa donde conversamos sobre gatitos y las divinidades egipcias
host:
name: Alfonso Astorga
voice: es-AR-TomasNeural #A value from data/voices.json
guest:
name: Alicia Cats
voice: es-MX-BeatrizNeural #A value from data/voices.json
topics:
main: Gatos y Dioses Egipcios
sub:
- Los Gatos en el Antiguo Egipto
- Historias acerca de Gatos y Dioses Egipcios
- ¿Por qué los gatos eran considerados divinos?
output:
duration: 5 #Episode length in minutes
language: spanish
audio: True #Set to False if you want to generate only the text script
folder: examples/cats/
This Audio was generated based on this YAML text file.
# Podcast Interview Configuration
podcast:
info:
title: Los que reímos al último
description: Un programa donde conversamos sobre la comedia, el humor y los que les gusta terminar el día con una sonrisa
host:
name: Alfonso Astorga
voice: es-US-AlonsoNeural #A value from data/voices.json
guest:
name: Penelope Antenas
voice: es-CO-SalomeNeural #A value from data/voices.json
topics:
main: Las hormigas y la comedia
sub:
- ¿Pueden hablar las hormigas?
- ¿Pueden las hormigas hacer comedia?
- ¿Sobre que se ríen las hormigas?
- Cuentanos un chiste clásico que hagan las hormigas.
- Nombre un comediante hormiga famoso.
output:
duration: 5 #Episode length in minutes
language: spanish
audio: True #Set to False if you want to generate only the text script
folder: examples/ants/
- Clone this repository:
git clone https://github.com/aastroza/podcast-automation.git
- Navigate to the project directory:
cd podcast-automation
- Create a Python virtual environment:
python3 -m venv venv
- Activate the virtual environment:
- For Linux/MacOS:
source venv/bin/activate
- For Windows:
venv\Scripts\activate.bat
- Install the required packages:
pip install -r requirements.txt
- Create a YAML configuration file for your podcast (e.g.,
podcast.YAML
). - Set up the environment variables by creating a
.env
file and adding the required API keys. - Run the script to generate the podcast:
python podcast.py --input examples/ai/podcast.YAML
The script will generate the podcast audio and save it in output folder specified in the YAML file.
The YAML configuration file contains information about the podcast, host, guest, topics, and output settings. Here's an example:
# Podcast Interview Configuration
podcast:
info:
title: Artificial Intelligence for Natural Brains
description: A podcast where we talk about the future of AI and how it will affect our lives
host:
name: Brandon Bert
voice: en-US-BrandonNeural #A value from data/voices.json
guest:
name: Monica Gradient
voice: en-US-MonicaNeural #A value from data/voices.json
topics:
main: Artificial Intelligence
sub:
- ChatGPT
- Generative AI
- AGI
- AI Ethics
output:
duration: 5 #Episode length in minutes
language: english
audio: True #Set to False if you want to generate only the text script
folder: examples/ai/
To obtain an OpenAI API key, follow these steps:
- Log in to your an OpenAI account (sign up if you don't have one)
- Go to the "API Keys" page under your account settings.
- Click "Create new secret key." A new API key will be generated. Make sure to copy the key to your clipboard, as you will not be able to see it again.
To obtain a Play.HT API access, follow these instructions.
- Rename
.env.example
fileto.env
in the project directory: - Open the
.env
file and replace the placeholder values with your actual API keys:
OPENAI_API_KEY='your_openai_api_key'
PLAYHT_SECRET='your_playht_secret_key'
PLAYHT_USER_ID='your_playht_user_id'
Make sure to save the changes to the .env
file.
This project is licensed under the MIT License. See the LICENSE file for more information.