Skip to content

Get news from foreign RSS feeds translated, summarized, and spoken to you on demand.

License

Notifications You must be signed in to change notification settings

AshkanArabim/newsbridge

Repository files navigation

Newsbridge

(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:

image

Security

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.

Supported languages

Source languages (languages in which news articles are written)

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.

Output languages (language of the output audio):

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

Roadmap

  • 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
    • TTS services
      • ElevenLabs
  • 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)

Usage (the UI)

Refer to the demo video above.

Usage (for self-hosting)

  • Install Docker
  • Install the Nvidia Container Toolkit on your machine.
  • Clone this repo and cd into it
  • make prod (or make 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>
  • Open http://localhost:3000 in your browser.
  • To stop the app, run make down (or docker compose down)

Configuration

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.

Updating

Simply run git pull in the project directory periodically, and restart the service.

Hardware Requirements

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

Common issues

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

Contributing

Please refer to CONTRIBUTING.md