(Note: This app is still under active development. Expect serious bugs.)
Are you a fan of daily news briefings, but wish you had a wider selection of sources? Say no more! Newsbridge is a simple app that allows you to add your sources as RSS feeds, and then delivers the top stories rom all sources (regardless of the source language) on demand as a 5-6 minute audio briefing.
Mix sources from French, Hindi, Italian, etc., it doesn't matter. Everything is translated to your language before the audio is played.
Try it yourself: http://news.ashkan.zone
Video demo:
DON'T PUT ANY SENSITIVE INFO ON THE WEBSITE!!! This project is by no means made by professionals. There could be massive, MASSIVE security vulnerabilities.
Nothing is stopping you from using a bogus email address for the account, if that makes you more comfortable.
Your choice of LLM is the main bottleneck for your source languages. Smarter LLMs have less of a risk of outputting garbage, and support more languages.
- Self-hosted Llama 3.2 (default):
- English
- German
- French
- Italian
- Portuguese
- Hindi
- Spanish
- Thai
- Gemini 2.0 (requires an API key), Llama 3.1 (self-hosted), or Llama 3.3 (self-hosted):
- So far, ANY language!! Open an issue if you find that some niche input language causes issues.
Again, be sure your LLM supports your output language. If not, you risk getting garbage output. For example, if you're using LLama3.2 as your LLM, you can't expect any useful output in Turkish. Gemini, however, supports Turkish.
These are the same as XTTS v2's supported languages:
- Arabic
- Chinese (simplified)
- Czech
- Dutch
- English
- French
- German
- Hindi
- Hungarian
- Italian
- Japanese
- Korean
- Polish
- Portuguese
- Russian
- Spanish
- Turkish
- public hosting
- support for popular LLM and TTS APIs (e.g. if someone wants to use GPT-4o and ElevenLabs)
- LLMs
- Gemini
- 2.0
- 1.xx
- OpenAI
- Anthropic
- Gemini
- TTS services
- ElevenLabs
- LLMs
- streams -
- play immediately as the news is summarized
- print the text as the summary is generated (in case audio is unclear)
- audio controls
- audio progress bar (for rewind / skip)
- audio download button
- caching user's last n briefings
- speed controls for audio
- porting
- electron app
- docker container (for easy self-hosting)
- android app
- optional ads (to fund hosting, if demand is high)
Refer to the demo video above.
- Install Docker
- Install the Nvidia Container Toolkit on your machine.
- Clone this repo and
cd
into it make prod
(ormake dev
if you plan on developing)- to detach and get your terminal back, add
detached=-d
- to only start / stop a specific service (e.g. tts, llm, db), just append
service=<service>
- to detach and get your terminal back, add
- Open http://localhost:3000 in your browser.
- To stop the app, run
make down
(ordocker compose down
)
All user configuration (stuff like ports, models, etc.) is found under .env.prod
. The goal is to keep this setup so configuration is simple.
For more information on configuring each part of the system, refer to the README.md
file under each component's directory.
Simply run git pull
in the project directory periodically, and restart the service.
- Min 6GB RAM (~5.2GB from testing)
- Min 6GB VRAM (~4.2GB from testing)
- NVIDIA GPUs recommended. The system has not beed tested on AMD GPUs. (Please make a PR if you manage to get it working on AMD / other GPU brands)
- Larger LLMs (e.g. Llama 3.1 70b) and TTS models will require more VRAM.
ERR_BLOCKED_BY_CLIENT
in development mode- Solution: Disable your adblocker
- No audio after clicking on "Feed"
- Make sure you've added valid RSS sources.
- Click "Home" and "Feed" again.
Please refer to CONTRIBUTING.md