Skip to main content

An AI-powered podcast studio that uses multiple AI agents working together.

Project description

NeuralNoise: The AI Podcast Studio

NeuralNoise banner

NeuralNoise is an AI-powered podcast studio that uses multiple AI agents working together. These agents collaborate to analyze content, write scripts, and generate audio, creating high-quality podcast content with minimal human input. The team generates a script that the cast team (using a TTS tool of your choice) will then record.

Examples

Source Type NeuralNoise
TikTok owner sacks intern for sabotaging AI project 🌐 Web article
Before you buy a domain name, first check to see if it's haunted 🌐 Web article
Linus Torvalds Comments On The Russian Linux Maintainers Being Delisted 🌐 Web article
Hallo2: Long-Duration and High-Resolution Audio-Driven Portrait Image Animation 📗 PDF
Ep17. Welcome Jensen Huang | BG2 w/ Bill Gurley & Brad Gerstner 📺 YouTube

Objective

The main objective of NeuralNoise is to create a Python package that simplifies the process of generating AI podcasts. It utilizes OpenAI for content analysis and script generation, ElevenLabs for high-quality text-to-speech conversion, and Streamlit for an intuitive user interface.

Features

  • Content analysis and script generation using OpenAI's language models
  • High-quality voice synthesis with ElevenLabs or OpenAI
  • Audio processing and manipulation with pydub
  • User-friendly interface built with Streamlit

Installation

To install NeuralNoise, follow these steps:

  1. Install the package:

    pip install neuralnoise
    

    or from source:

    git clone https://github.com/leopiney/neuralnoise.git
    cd neuralnoise
    pip install .
    
  2. Set up your API keys:

    • Create a .env file in the project root

    • Add your OpenAI and ElevenLabs API keys:

      OPENAI_API_KEY=your_openai_api_key
      
      # Optional
      ELEVENLABS_API_KEY=your_elevenlabs_api_key
      

Usage

To run the NeuralNoise application first make sure that you create a configuration file you want to use. There are examples in the config folder.

Then you can run the application with:

nn new <url|filepath> --name <name> --config-path <config>

Want to edit the generated script?

The generated script and audio segments are saved in the output/<name> folder. To edit the script:

  1. Locate the JSON file in this folder containing all script segments and their text content.
  2. Make your desired changes to specific segments in the JSON file. Locate the "sections" and "segments" content in this file that you want to change, then feel free to edit the content of the segments you want to change.
  3. Run the same command as before (same name) to regenerate the podcast.

The application will regenerate the podcast, preserving unmodified segments and only processing the changed ones. This approach allows for efficient editing without regenerating the entire podcast from scratch.

Roadmap

  • Better PDF and articles content extraction.
  • Add local LLM provider. More generic LLM configuration. Leverage AutoGen for this.
  • Add local TTS provider
  • Add podcast generation format options: interview, narrative, etc.
  • Add podcast generation from multiple source files
  • Add more agent roles to the studio. For example, a "Content Curator" or "Content Researcher" that uses tools to find and curate content before being analyzed. Or a "Sponsor" agent that adds segways to ads in the podcast script (à la LTT).
  • Add music and sound effects options
  • Real-time podcast generation with human and AI collaboration (🤔)

Contributing

Contributions to NeuralNoise are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Related projects

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

neuralnoise-0.9.0.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

neuralnoise-0.9.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file neuralnoise-0.9.0.tar.gz.

File metadata

  • Download URL: neuralnoise-0.9.0.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.29

File hashes

Hashes for neuralnoise-0.9.0.tar.gz
Algorithm Hash digest
SHA256 f9b3c7cc73fba6b204621636c1aea99a3f8d12019da8bba4bef02ac3de3a05ac
MD5 ee160e89ea8b2e1d12df287fe5cd429a
BLAKE2b-256 e1eeb0f14857d8993ecd190e27a087843894a5e715773e1df75c68136a860ad4

See more details on using hashes here.

File details

Details for the file neuralnoise-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for neuralnoise-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 504799a5e335e683b9c4de4dc58d5dcea90331e631dc20b223822913b86a72bd
MD5 9f156151cd2753bc4dbd1342711aaaa5
BLAKE2b-256 df3e4ced290c1782f4b201b3b131a7e3953bcac9e742c0d898bb384c7e8ce58a

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