v2.0+ now streaming starting NewsByte 008
NewsBytes is an AI generated podcast that covers global headlines in roughly 5 minutes. Sourcing through ground.news, NewsBytes is able report from neutral sources only. Every 24 hours a new podcast is posted with all its content, from the podcast audio to descriptions being AI generated. Keeping up with that theme, the podcast cover seen on spotify is also AI generated. See the image below for a detailed look at the tech stack used.
Before starting with the project, you need to have a few requirements installed:
- Python 3.10
- Pip
You can install the required Python packages by running the following command:
pip install -r requirements.txt
The project requires API keys for Google Cloud Platform & OpenAI's ChatGPT to access the necessary services. You can set up your API keys by following these steps:
- Go to the Google Cloud Console.
- Create a new project.
- Enable the necessary APIs for your project:
- Cloud Text-to-Speech API
- Cloud Storage API
- Download the JSON key for your service account.
OPENAI_API_KEY = OpenAI API key
OPENAI_PROMPT = OpenAI prompt to summarize news articles
OPENAI_DESCRIPTION_PROMPT = OpenAI prompt to create episode description
GOOGLE_APPLICATION_CREDENTIALS = Path to GCP credentials json
BUCKET_NAME = GCP bucket name
MODEL_URL = Download link to so-vits-svc model (.pth file) [Only for v1.*]
MODEL_CONFIG = Download link to so-vits-svc model config (.json file) [Only for v1.*]
ELEVENLABS_KEY = ElevenLabs TTS API key [Only for v2.*]
VOICE_ID = Speaker ID for ElevenLabs TTS [Only for v2.*]
Once the API keys are setup, you will need a model and config file corresponding to the voice you want to use for the podcast.
Place the path to the download links into MODEL_URL
and MODEL_CONFIG
Example:
MODEL_URL = https://huggingface.co/xgdhdh/so-vits-svc-4.0/resolve/main/Saber/G_30400.pth
MODEL_CONFIG = https://huggingface.co/xgdhdh/so-vits-svc-4.0/raw/main/Saber/config.json
Note: If you are using v2.*, this set up is not required. Only an API key for ElevenLabs is required.
- Address volume drop off in ElevenLabs TTS model
- Issue currently open
- Include news from subtopics (Finance, Sports etc.)
- Improve web scrapping model
- Current version drops certain news articles if news can not be extracted via BoilerPy3
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache-2.0 license. See LICENSE
for more information.