neuralnoise


Nameneuralnoise JSON
Version 1.5.0 PyPI version JSON
download
home_pageNone
SummaryAn AI-powered podcast studio that uses multiple AI agents working together.
upload_time2024-12-13 02:29:25
maintainerNone
docs_urlNone
authorNone
requires_python<3.12,>=3.10
licenseMIT License Copyright (c) 2024 Leonardo Piñeyro Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords ai ai audio generation autogen generative ai notebooklm podcast
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NeuralNoise: The AI Podcast Studio

<p align="center">
    <a href="https://colab.research.google.com/drive/1-1aaRFoxJL03oUn7IB0DcfxFeWq7Vw5n?usp=sharing" alt="Open in Google Colab">
        <img src="https://colab.research.google.com/assets/colab-badge.svg" /></a>
    <a href="https://github.com/badges/shields/pulse" alt="Activity">
        <img src="https://img.shields.io/github/commit-activity/m/leopiney/neuralnoise" /></a>
    <a href="https://pypi.python.org/pypi/neuralnoise" alt="PyPI - Latest version">
        <img src="https://img.shields.io/pypi/v/neuralnoise.svg" /></a>
    <a href="https://pypistats.org/packages/neuralnoise" alt="Latest version">
        <img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/neuralnoise"></a>
</p>

<div align="center">
  <img src="./assets/banner.png" alt="NeuralNoise banner" />
</div>

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.

## Features

- 🔍 Content analysis, script generation, and content edition using [AutoGen](https://github.com/microsoft/autogen) group chat of agents
- 📢 High-quality voice synthesis with [ElevenLabs](https://elevenlabs.io/api) or [OpenAI](https://platform.openai.com/docs/guides/text-to-speech)
- 🔉 Audio processing and manipulation with [pydub](https://github.com/jiaaro/pydub)
- 📜 Easy way to [manually edit parts of the script](#want-to-edit-the-generated-script) and regenerate the podcast

<p align="center">
    <img src="https://api.star-history.com/svg?repos=leopiney/neuralnoise&type=Date" alt="leopiney/neuralnoise GithubStars history" />
</p>

---

## Examples

| Source | Type | NeuralNoise | Download |
| ---- | ---- | ---- | ---- |
| [TikTok owner sacks intern for sabotaging AI project](https://www.bbc.com/news/articles/c7v62gg49zro)                                                                    | 🌐 Web article | <video src="https://github.com/user-attachments/assets/e79982c8-bb58-4395-8bce-aa25eee0b5c5" /> | [Link](https://github.com/user-attachments/assets/e79982c8-bb58-4395-8bce-aa25eee0b5c5) |
| [Before you buy a domain name, first check to see if it's haunted](https://www.bryanbraun.com/2024/10/25/before-you-buy-a-domain-name-first-check-to-see-if-its-haunted/)| 🌐 Web article | <video src="https://github.com/user-attachments/assets/53fabfd9-5422-431a-9ed5-6d9dd58de92e" /> | [Link](https://github.com/user-attachments/assets/53fabfd9-5422-431a-9ed5-6d9dd58de92e) |
| [Linus Torvalds Comments On The Russian Linux Maintainers Being Delisted](https://www.phoronix.com/news/Linus-Torvalds-Russian-Devs)                                     | 🌐 Web article | <video src="https://github.com/user-attachments/assets/85671e26-ae06-4152-b6a2-e5aa6916e5b0" /> | [Link](https://github.com/user-attachments/assets/85671e26-ae06-4152-b6a2-e5aa6916e5b0) |
| [Hallo2: Long-Duration and High-Resolution Audio-Driven Portrait Image Animation](https://arxiv.org/pdf/2410.07718v2)                                                    | 📗 PDF | <video src="https://github.com/user-attachments/assets/9bf999f7-59d9-4f04-a2aa-892c4d727a21" /> | [Link](https://github.com/user-attachments/assets/9bf999f7-59d9-4f04-a2aa-892c4d727a21) |
| [Ep17. Welcome Jensen Huang \| BG2 w/ Bill Gurley & Brad Gerstner](https://youtu.be/bUrCR4jQQg8?si=UeF4JQ4rDZJG-l3W)                                                     | 📺 YouTube | <video src="https://github.com/user-attachments/assets/e5ac1c08-46d3-4e8b-bea7-4b30b083dc4b" /> | [Link](https://github.com/user-attachments/assets/e5ac1c08-46d3-4e8b-bea7-4b30b083dc4b) |
| [Notepad++ turns 21](https://learnhub.top/celebrating-21-years-of-notepad-the-legendary-journey-of-our-favorite-text-editor/), [Apple releases M4](https://www.apple.com/newsroom/2024/10/new-macbook-pro-features-m4-family-of-chips-and-apple-intelligence/), [OpenAI Search release](https://openai.com/index/introducing-chatgpt-search/)                                                                    | 🌐 Multiple web articles | <video src="https://github.com/user-attachments/assets/6fea6b51-d75c-4990-9441-3a45118b9ce0" /> | [Link](https://github.com/user-attachments/assets/6fea6b51-d75c-4990-9441-3a45118b9ce0) |

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

## 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 generate --name <name> <url|file> [<url|file>...]
```

## 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 with the same name (`nn generate --name <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

- [x] Better PDF and articles content extraction.
- [ ] Add interactive ways of using NeuralNoise (Gradio/Colab/etc)
- [ ] Add local LLM provider. More generic LLM configuration. Leverage AutoGen for this.
- [ ] Add local TTS provider
- [ ] Add podcast generation format options: interview, narrative, etc.
- [x] 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](https://www.youtube.com/live/EefvOLKoXdg?si=G1714t2jK4ZIvao0&t=5307)).
- [ ] 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](LICENSE) file for details.

## Related projects

- [NotebookLM](https://notebooklm.google.com/)
- [Podcastify.ai](https://github.com/souzatharsis/podcastfy)
- [Open-NotebookLM](https://github.com/gabrielchua/open-notebooklm)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "neuralnoise",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.10",
    "maintainer_email": null,
    "keywords": "ai, ai audio generation, autogen, generative ai, notebooklm, podcast",
    "author": null,
    "author_email": "Leonardo Pi\u00f1eyro <leopiney@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/4a/53/fd5bfe11fbbf469b13ae09b7cc0a59e219916794faef81448da9ccf964dc/neuralnoise-1.5.0.tar.gz",
    "platform": null,
    "description": "# NeuralNoise: The AI Podcast Studio\n\n<p align=\"center\">\n    <a href=\"https://colab.research.google.com/drive/1-1aaRFoxJL03oUn7IB0DcfxFeWq7Vw5n?usp=sharing\" alt=\"Open in Google Colab\">\n        <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" /></a>\n    <a href=\"https://github.com/badges/shields/pulse\" alt=\"Activity\">\n        <img src=\"https://img.shields.io/github/commit-activity/m/leopiney/neuralnoise\" /></a>\n    <a href=\"https://pypi.python.org/pypi/neuralnoise\" alt=\"PyPI - Latest version\">\n        <img src=\"https://img.shields.io/pypi/v/neuralnoise.svg\" /></a>\n    <a href=\"https://pypistats.org/packages/neuralnoise\" alt=\"Latest version\">\n        <img alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dm/neuralnoise\"></a>\n</p>\n\n<div align=\"center\">\n  <img src=\"./assets/banner.png\" alt=\"NeuralNoise banner\" />\n</div>\n\nNeuralNoise 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.\n\n## Features\n\n- \ud83d\udd0d Content analysis, script generation, and content edition using [AutoGen](https://github.com/microsoft/autogen) group chat of agents\n- \ud83d\udce2 High-quality voice synthesis with [ElevenLabs](https://elevenlabs.io/api) or [OpenAI](https://platform.openai.com/docs/guides/text-to-speech)\n- \ud83d\udd09 Audio processing and manipulation with [pydub](https://github.com/jiaaro/pydub)\n- \ud83d\udcdc Easy way to [manually edit parts of the script](#want-to-edit-the-generated-script) and regenerate the podcast\n\n<p align=\"center\">\n    <img src=\"https://api.star-history.com/svg?repos=leopiney/neuralnoise&type=Date\" alt=\"leopiney/neuralnoise GithubStars history\" />\n</p>\n\n---\n\n## Examples\n\n| Source | Type | NeuralNoise | Download |\n| ---- | ---- | ---- | ---- |\n| [TikTok owner sacks intern for sabotaging AI project](https://www.bbc.com/news/articles/c7v62gg49zro)                                                                    | \ud83c\udf10 Web article | <video src=\"https://github.com/user-attachments/assets/e79982c8-bb58-4395-8bce-aa25eee0b5c5\" /> | [Link](https://github.com/user-attachments/assets/e79982c8-bb58-4395-8bce-aa25eee0b5c5) |\n| [Before you buy a domain name, first check to see if it's haunted](https://www.bryanbraun.com/2024/10/25/before-you-buy-a-domain-name-first-check-to-see-if-its-haunted/)| \ud83c\udf10 Web article | <video src=\"https://github.com/user-attachments/assets/53fabfd9-5422-431a-9ed5-6d9dd58de92e\" /> | [Link](https://github.com/user-attachments/assets/53fabfd9-5422-431a-9ed5-6d9dd58de92e) |\n| [Linus Torvalds Comments On The Russian Linux Maintainers Being Delisted](https://www.phoronix.com/news/Linus-Torvalds-Russian-Devs)                                     | \ud83c\udf10 Web article | <video src=\"https://github.com/user-attachments/assets/85671e26-ae06-4152-b6a2-e5aa6916e5b0\" /> | [Link](https://github.com/user-attachments/assets/85671e26-ae06-4152-b6a2-e5aa6916e5b0) |\n| [Hallo2: Long-Duration and High-Resolution Audio-Driven Portrait Image Animation](https://arxiv.org/pdf/2410.07718v2)                                                    | \ud83d\udcd7 PDF | <video src=\"https://github.com/user-attachments/assets/9bf999f7-59d9-4f04-a2aa-892c4d727a21\" /> | [Link](https://github.com/user-attachments/assets/9bf999f7-59d9-4f04-a2aa-892c4d727a21) |\n| [Ep17. Welcome Jensen Huang \\| BG2 w/ Bill Gurley & Brad Gerstner](https://youtu.be/bUrCR4jQQg8?si=UeF4JQ4rDZJG-l3W)                                                     | \ud83d\udcfa YouTube | <video src=\"https://github.com/user-attachments/assets/e5ac1c08-46d3-4e8b-bea7-4b30b083dc4b\" /> | [Link](https://github.com/user-attachments/assets/e5ac1c08-46d3-4e8b-bea7-4b30b083dc4b) |\n| [Notepad++ turns 21](https://learnhub.top/celebrating-21-years-of-notepad-the-legendary-journey-of-our-favorite-text-editor/), [Apple releases M4](https://www.apple.com/newsroom/2024/10/new-macbook-pro-features-m4-family-of-chips-and-apple-intelligence/), [OpenAI Search release](https://openai.com/index/introducing-chatgpt-search/)                                                                    | \ud83c\udf10 Multiple web articles | <video src=\"https://github.com/user-attachments/assets/6fea6b51-d75c-4990-9441-3a45118b9ce0\" /> | [Link](https://github.com/user-attachments/assets/6fea6b51-d75c-4990-9441-3a45118b9ce0) |\n\n## Objective\n\nThe 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.\n\n## Installation\n\nTo install NeuralNoise, follow these steps:\n\n1. Install the package:\n\n   ```\n   pip install neuralnoise\n   ```\n\n   or from source:\n\n   ```\n   git clone https://github.com/leopiney/neuralnoise.git\n   cd neuralnoise\n   pip install .\n   ```\n\n2. Set up your API keys:\n\n   - Create a `.env` file in the project root\n   - Add your OpenAI and ElevenLabs API keys:\n\n     ```\n     OPENAI_API_KEY=your_openai_api_key\n\n     # Optional\n     ELEVENLABS_API_KEY=your_elevenlabs_api_key\n     ```\n\n## Usage\n\nTo run the NeuralNoise application first make sure that you create a configuration file you want to use. There are examples in the `config` folder.\n\nThen you can run the application with:\n\n```\nnn generate --name <name> <url|file> [<url|file>...]\n```\n\n## Want to edit the generated script?\n\nThe generated script and audio segments are saved in the `output/<name>` folder. To edit the script:\n\n1. Locate the JSON file in this folder containing all script segments and their text content.\n2. 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.\n3. Run the same command as before with the same name (`nn generate --name <name>`) to regenerate the podcast.\n\nThe 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.\n\n## Roadmap\n\n- [x] Better PDF and articles content extraction.\n- [ ] Add interactive ways of using NeuralNoise (Gradio/Colab/etc)\n- [ ] Add local LLM provider. More generic LLM configuration. Leverage AutoGen for this.\n- [ ] Add local TTS provider\n- [ ] Add podcast generation format options: interview, narrative, etc.\n- [x] Add podcast generation from multiple source files\n- [ ] 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 ([\u00e0 la LTT](https://www.youtube.com/live/EefvOLKoXdg?si=G1714t2jK4ZIvao0&t=5307)).\n- [ ] Add music and sound effects options\n- [ ] Real-time podcast generation with human and AI collaboration (\ud83e\udd14)\n\n## Contributing\n\nContributions to NeuralNoise are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Related projects\n\n- [NotebookLM](https://notebooklm.google.com/)\n- [Podcastify.ai](https://github.com/souzatharsis/podcastfy)\n- [Open-NotebookLM](https://github.com/gabrielchua/open-notebooklm)\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 Leonardo Pi\u00f1eyro  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "An AI-powered podcast studio that uses multiple AI agents working together.",
    "version": "1.5.0",
    "project_urls": null,
    "split_keywords": [
        "ai",
        " ai audio generation",
        " autogen",
        " generative ai",
        " notebooklm",
        " podcast"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c38bed126f89b0fc5cf4d06c26161b9fbe81fc23e3c460e1135cfd2bfd453456",
                "md5": "eadbb8a12b78d180318c0c54aa9eca16",
                "sha256": "7225aefe20b537aae6477fb76cd0c6cef1f37f27eacf127da14666228a66c840"
            },
            "downloads": -1,
            "filename": "neuralnoise-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eadbb8a12b78d180318c0c54aa9eca16",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.10",
            "size": 23219,
            "upload_time": "2024-12-13T02:29:23",
            "upload_time_iso_8601": "2024-12-13T02:29:23.751964Z",
            "url": "https://files.pythonhosted.org/packages/c3/8b/ed126f89b0fc5cf4d06c26161b9fbe81fc23e3c460e1135cfd2bfd453456/neuralnoise-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4a53fd5bfe11fbbf469b13ae09b7cc0a59e219916794faef81448da9ccf964dc",
                "md5": "9d808480091a599e0c1339c4d951a2ff",
                "sha256": "2aa39b5bb6fb883708275d1690147c0b4373284fb6637d1ef64cba6a875af619"
            },
            "downloads": -1,
            "filename": "neuralnoise-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9d808480091a599e0c1339c4d951a2ff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.10",
            "size": 17650,
            "upload_time": "2024-12-13T02:29:25",
            "upload_time_iso_8601": "2024-12-13T02:29:25.918125Z",
            "url": "https://files.pythonhosted.org/packages/4a/53/fd5bfe11fbbf469b13ae09b7cc0a59e219916794faef81448da9ccf964dc/neuralnoise-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-13 02:29:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "neuralnoise"
}
        
Elapsed time: 4.50018s