ARAIA-Podcast-Engine
An automated podcast creator software that fetches articles from RSS and lets GPT-4 summarize them, then sends it to MS text-to-speech. After that, it mixes all article audio toghether with intro music to a podcast episodes, updates an html page and xml-feed and uploads everything to your web server.
The image above shows the web page that's created. If you want to see this live example you can visit https://svartatavlan.mickekring.se
Flow
- Fetches all articles from the RSS feeds of your choice
- Checks title, url and summary of artcle from RSS for keywords of your choice
- If there's a 'hit' based on your keywords the article gets scraped
- The scraped article is sent to GPT-4 with a prompt (of your choice) to "summarize the article in a format that can be read in one minute..."
- If there are enough (of your choice) articles from step 1-4 it sends all GPT created summaries to Microsofts text-to-speech. It alternates between a male and a female voice
- A podcast intro and outro is created where the "hosts" greets you and tells you which episode you're listening to. That intro is mixed with background music, the intro music
- The whole podcast episode gets mixed
- The podcast xml file is created
- The podcast website html file is created
- All files gets uploaded to your web server
What you need
- A domain name and a webserver to host your podcast web page and xml feed that you submit to the podcast services of your choice
- A web server where you can use SFTP to upload files
- An OpenAI API key
- An Microsoft Azure API key
Written in?
- Written in Python and tested with version 3.9
How-to?
- Download all files and folders
- In the Music folder, change the dummy files 'intro_music.mp3' and 'divider.mp3' to your intro music and divider (short clip to highlight that there's a new article)
- In the 'html_web' > 'images' folder, change the dummy file 'podcast-cover-art.jpg' to your podcast cover image
- Uplload the contents of the 'html_web' folder to the root folder of your web server, where you host your podcast
- Open the 'config.py' file and make all changes
- Open the 'main.py' file and make changes. My suggestion is to comment out all but the first function in the 'Main()' and make one function at a time work for you. There are still a lot of hard coded strings in the main.py file, so you'll have to do some digging. :)
- Import all Python modules that's needed (see the imports at the top)
- Complete the code with a 'while'-loop to make it run automatically
- Run and (hopefully) enjoy.
Disclaimer
I'm not a coder, so don't judge me by my code :)