Skip to main content

Transforming Multi-Sourced Text into Captivating Multi-Lingual Audio Conversations with GenAI

Project description

Podcastfy

CodeFactor Issues Code style: black License: CC BY-NC-SA 4.0

Podcastfy: Transforming Multi-Sourced Text into Captivating Multi-Lingual Audio Conversations with GenAI

https://github.com/user-attachments/assets/05f0df95-bc7c-4322-95fc-1f2e210fd513

Podcastfy is a simple LLM-based Python package and CLI tool that enables programmatic creation of engaging audio podcasts from web content and text sources. Unlike tools focused primarily on note-taking or research synthesis (e.g. NotebookLM ❤️), Podcastfy specializes and focuses solely on the programatic generation of engaging, conversational audio from a multitude of text sources.

Ideal for Developers that build data-driven products for creators, educators, and researchers seeking to transform written information into easily digestible audio content. Podcastfy offers a unique solution for bridging the gap between text and audio consumption, programatically.

You can sign-up at podcastfy.me to get updates as we make improvements to the tool.

Quickstart

Python

from podcastfy.client import generate_podcast

audio_file = generate_podcast(urls=["<url1>", "<url2>"])

CLI

python -m podcastfy.client --url <url1> --url <url2>

Audio Examples

This sample collection is also available at audio.com:

Usage

Setup

  1. Clone the repository:

    git clone https://github.com/souzatharsis/podcastfy.git
    cd podcastfy
    
  2. Create and activate a Python virtual environement

    python3 -m venv myenv
    source myenv/bin/activate
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. Set up your API keys

  5. Ensure you have ffmpeg installed on your system, required for audio processing

    sudo apt update
    sudo apt install ffmpeg
    

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

  1. 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.

  2. Language Localization: Non-native English speakers can access English content in their preferred language, breaking down language barriers and expanding access to global information.

  3. Website Content Marketing: Companies can increase engagement by repurposing written website content into audio format, providing visitors with the option to read or listen.

  4. Personal Branding: Job seekers can create unique audio-based personal presentations from their CV or LinkedIn profile, making a memorable impression on potential employers.

  5. Research Paper Summaries: Graduate students and researchers can quickly review multiple academic papers by listening to concise audio summaries, speeding up the research process.

  6. Long-form Podcast Summarization: Podcast enthusiasts with limited time can stay updated on their favorite shows by listening to condensed versions of lengthy episodes.

  7. News Briefings: Commuters can stay informed about daily news during travel time with personalized audio news briefings compiled from their preferred sources.

  8. Educational Content Creation: Educators can enhance learning accessibility by providing audio versions of course materials, catering to students with different learning styles.

  9. Book Summaries: Avid readers can preview books efficiently through audio summaries, helping them make informed decisions about which books to read in full.

  10. 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.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request - see Open Issues. But even more excitingly feel free to fork the repo and create your own app! Please let me know if I could be of help.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

podcastfy-0.1.12.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

podcastfy-0.1.12-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file podcastfy-0.1.12.tar.gz.

File metadata

  • Download URL: podcastfy-0.1.12.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for podcastfy-0.1.12.tar.gz
Algorithm Hash digest
SHA256 6241ff045f050a149989faf85acf3c2d3cdeae114a8eff49aaac9ef731e1b34c
MD5 d5f86f89ec2255da143edaf1ad4291b2
BLAKE2b-256 b67b46181afe22b131400102be2797aec310e0d057dda7ce08371a14501de4f0

See more details on using hashes here.

File details

Details for the file podcastfy-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: podcastfy-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for podcastfy-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 6fed72bc8d11832f8c0a36b40ad913cb5549405024040ef5afb8277c7f0383c0
MD5 33dcc2944b52867b15ebad94da06233a
BLAKE2b-256 85abf12ed4632997e3250e54060b8f8e8d18ea4888b98abfaa7e0846c118b76e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page