Transforming Multi-Sourced Text into Captivating Multi-Lingual Audio Conversations with GenAI
Project description
Podcastfy.ai
Transforming Multi-Sourced Text into Captivating Multi-Lingual Audio Conversations with GenAI
https://github.com/user-attachments/assets/f1559e70-9cf9-4576-b48b-87e7dad1dd0b
Podcastfy is an open-source Python package that transforms web content, PDFs, and text into engaging, multi-lingual audio conversations using GenAI.
Unlike UI-based tools focused primarily on note-taking or research synthesis (e.g. NotebookLM ❤️), Podcastfy focuses on the programmatic and bespoke generation of engaging, conversational transcripts and audio from a multitude of text sources therefore enabling customization and scale.
Audio Examples
This sample collection is also available at audio.com:
- [English] Youtube Video from YCombinator on LLMs: (audio | youtube)
- [English] Book pdf Networks, Crowds, and Markets: audio
- [English] Research paper on Climate Change in France: (audio | pdf)
- [English] Personal website: (audio | website)
- [English] Personal website + youtube video: (audio | website | youtube)
- [French] Website: (audio | website)
- [Portuguese-BR] News article: (audio | website)
Quickstart
Setup
Before installing, ensure you have Python 3.12 or higher installed on your system.
- Install from PyPI
$ pip install podcastfy
-
Set up your API keys
-
Ensure you have ffmpeg installed on your system, required for audio processing
sudo apt update
sudo apt install ffmpeg
Python
from podcastfy.client import generate_podcast
audio_file = generate_podcast(urls=["<url1>", "<url2>"])
CLI
python -m podcastfy.client --url <url1> --url <url2>
Usage
Try HuggingFace 🤗 space app for a simple use case (URLs -> Audio). WARNING: This UI App was not as thoroughly tested as the Python package.
Customization
Podcastfy offers a range of customization options to tailor your AI-generated podcasts. Whether you're creating educational content, storytelling experiences, or anything in between, these configuration options allow you to fine-tune your podcast's tone, length, and format. See Conversation Customization for more details.
Contributing
Contributions are welcome! Please feel free to submit an Issue or a Pull Request. But even more excitingly feel free to fork the repo and create your own app! I am curious about your use cases! Please let me know if I could be of help.
Features
- Generate engaging, AI-powered conversational content from multiple sources (URLs and PDFs)
- Create high-quality transcripts from diverse textual information sources
- Convert pre-existing transcript files into dynamic podcast episodes
- Support for multiple advanced text-to-speech models (OpenAI and ElevenLabs) for natural-sounding audio
- Support for multiple languages, enabling global content creation
- Seamlessly integrate CLI for streamlined workflows
Example Use Cases
-
Content Summarization: Busy professionals can stay informed on industry trends by listening to concise audio summaries of multiple articles, saving time and gaining knowledge efficiently.
-
Language Localization: Non-native English speakers can access English content in their preferred language, breaking down language barriers and expanding access to global information.
-
Website Content Marketing: Companies can increase engagement by repurposing written website content into audio format, providing visitors with the option to read or listen.
-
Personal Branding: Job seekers can create unique audio-based personal presentations from their CV or LinkedIn profile, making a memorable impression on potential employers.
-
Research Paper Summaries: Graduate students and researchers can quickly review multiple academic papers by listening to concise audio summaries, speeding up the research process.
-
Long-form Podcast Summarization: Podcast enthusiasts with limited time can stay updated on their favorite shows by listening to condensed versions of lengthy episodes.
-
News Briefings: Commuters can stay informed about daily news during travel time with personalized audio news briefings compiled from their preferred sources.
-
Educational Content Creation: Educators can enhance learning accessibility by providing audio versions of course materials, catering to students with different learning styles.
-
Book Summaries: Avid readers can preview books efficiently through audio summaries, helping them make informed decisions about which books to read in full.
-
Conference and Event Recaps: Professionals can stay updated on important industry events they couldn't attend by listening to audio recaps of conference highlights and key takeaways.
License
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Disclaimer
This tool is designed for personal or educational use. Please ensure you have the necessary rights or permissions before using content from external sources for podcast creation. All audio content is AI-generated and it is not intended to clone real-life humans!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file podcastfy-0.2.0.tar.gz
.
File metadata
- Download URL: podcastfy-0.2.0.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.10 Linux/6.8.0-45-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e3086ff2c6f2c069bc464a9d273f586d7ac61852804e20d7e5c2867114571c6 |
|
MD5 | 1439c5caf384ad7db32e1f4c6f08be1c |
|
BLAKE2b-256 | 0a9975fcd52da6b5b891a1e8b9f765c85a0947e890b5f143c6864f01106a4499 |
File details
Details for the file podcastfy-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: podcastfy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.10 Linux/6.8.0-45-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee5cfc21419c4e3a90df99503299a71c0942d2ec05e17073408ccde33283661c |
|
MD5 | 77ab7f1bdc2cce17b29a8be2ee2213fd |
|
BLAKE2b-256 | 875ca209cfc7922bea0599decc87e7457624366726435e570777e08785cf1e85 |