Professional audio news service for visually impaired users β’ English, Polish & personalized content β’ Daily updates β’ Zero cost
π audionews.uk β’ Updated daily at 6 AM UK time
ποΈ Podcast RSS Feeds:
Converts news headlines into natural-sounding audio digests using AI analysis and Microsoft Edge TTS. Designed specifically for visually impaired users who need accessible news content.
- 3 Active Services:
- English (UK): General news digest
- Polish: Polish news digest (excluding Radio Maria)
- BellaNews: Personalized business/finance news for investment banking & VC interests
- AI-Enhanced: Claude 4.5 Sonnet analyzes and synthesizes content from multiple sources with context-aware generation to avoid repetition
- Premium Voices: Natural neural voices via Microsoft Edge TTS
- Accessible: WCAG 2.1 AA compliant, screen reader optimized, designed for blind and partially sighted users
- Podcast Distribution: RSS feeds available for Spotify, Apple Podcasts, and other platforms
- Automated: GitHub Actions generates and deploys daily
- Copyright Compliant: Synthesizes original summaries, never copies articles
- Cost Optimized: Only essential languages enabled to minimize API costs
audio-transcription/
βββ scripts/ # Python scripts
β βββ github_ai_news_digest.py # Main generator
β βββ generate_podcast_rss.py # Podcast RSS feed generator
β βββ update_website.py # Website updater
β βββ update_language_website.py # Language page updater
β βββ create_all_language_pages.py # Page generator
β βββ add_language.py # Add new language
βββ config/ # Configuration
β βββ ai_prompts.json # AI prompts & model settings
β βββ voice_config.json # Voice & TTS settings
β βββ README.md # Config documentation
βββ docs/ # GitHub Pages website
β βββ en_GB/, pl_PL/, bella/ # Active language pages
β β βββ podcast.rss # RSS feeds for podcast platforms
β β βββ audio/ # MP3 audio files
β β βββ index.html # Language-specific pages
β βββ images/ # Podcast artwork (1400x1400px)
β βββ shared/ # Shared assets
β βββ index.html # Main entry
βββ templates/ # HTML templates
βββ archive/ # Old/unused files
βββ .github/workflows/ # CI/CD automation
# Install dependencies
pip install -r requirements.txt
# Setup git hooks (optional but recommended)
./scripts/setup-git-hooks.sh
# Generate digest for English, Polish, or BellaNews
python scripts/github_ai_news_digest.py --language en_GB
python scripts/github_ai_news_digest.py --language pl_PL
python scripts/github_ai_news_digest.py --language bella
# Update website
python scripts/update_website.py- Enable GitHub Pages (source:
mainbranch,/docsfolder) - Add secret:
ANTHROPIC_API_KEY - Workflow runs automatically daily at 5:00 UTC (6:00 AM UK)
- Cost Optimization: Only English, Polish, and BellaNews are generated by default. Other languages are disabled in the workflow to minimize API costs.
AI prompts and voice settings are externalized to JSON files for easy updates:
config/ai_prompts.json: System messages, analysis/synthesis prompts, model settingsconfig/voice_config.json: Voice configurations, TTS settings, retry logic
See config/README.md for detailed documentation.
The project includes a git pre-commit hook that automatically checks code quality before commits:
- β Python syntax checking: Validates Python files for syntax errors
- β JSON validation: Ensures JSON configuration files are valid
β οΈ Code quality warnings: Warns about trailing whitespace and tabs
Setup:
./scripts/setup-git-hooks.shThe hook runs automatically on every commit. If errors are found, the commit is blocked until they're fixed.
What it checks:
- Python syntax errors (using
py_compile) - JSON file validity
- Trailing whitespace (warning only)
- Tab characters (warning only)
Bypassing (not recommended):
git commit --no-verify # Skip pre-commit checksWant to create your own customized news service? Here's how:
Click the Fork button at the top of this page to create your own copy.
In your fork, go to Settings β Secrets and variables β Actions and add:
ANTHROPIC_API_KEY = your_anthropic_api_key_here
Get your API key from Anthropic Console.
Edit config/ai_prompts.json to change:
- System messages (tone, style, instructions)
- Analysis prompts (how stories are categorized)
- Synthesis prompts (how summaries are generated)
- AI model settings (temperature, max tokens)
Edit config/voice_config.json to:
- Change voices (browse Microsoft Edge TTS voices)
- Adjust retry logic
- Configure TTS settings
Edit scripts/github_ai_news_digest.py:
- Modify
LANGUAGE_CONFIGSto add/change news sources - Change greetings, themes, or output directories
- Go to Settings β Pages
- Set Source to
mainbranch,/docsfolder - Set custom domain (optional)
# Test locally first
python scripts/github_ai_news_digest.py --language en_GB
# Check the generated files
ls docs/en_GB/audio/Push to main branch - GitHub Actions will automatically:
- Generate daily digests at 5:00 UTC
- Deploy to GitHub Pages
- Store audio files in Git LFS
Pull requests are gratefully appreciated! Help improve this project:
- π New languages - Add support for more regions
- π€ Voice improvements - Better voice selection or quality
- π€ AI enhancements - Improved prompts or analysis
- βΏ Accessibility - Better screen reader support
- π¨ UI/UX - Design improvements
- π Documentation - Clearer guides
- π Bug fixes - Report or fix issues
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly
- Commit with clear messages (
git commit -m 'β¨ Add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request
- Keep accessibility as the top priority
- Maintain copyright compliance
- Test changes locally before submitting
- Document new features in README or config files
- Follow existing code style
- Add comments for complex logic
All contributions, big or small, are valued and appreciated! π
This service synthesizes original content from multiple news sources:
β
Creates transformative summaries through AI analysis
β
Provides accessibility service for disabled users (fair use)
β
Never copies substantial portions of articles
β
Respects paywalls and access restrictions
See docs/COPYRIGHT_AND_ETHICS.md for complete legal framework.
The source code is licensed under the GNU General Public License v3.0 (GPL v3) - see LICENSE file for details.
This means:
- β You can: Use, modify, and distribute the code
- β You must: Keep the same license (GPL v3) for any derivatives
- β You must: Make source code available when distributing
All generated audio content, transcripts, and news digests are licensed under Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0).
- β You can: Share, adapt, and use for non-commercial purposes
- β You cannot: Use for commercial purposes or sell the content
See CONTENT_LICENSE.md for full details.
- Add voice configuration to
config/voice_config.json - Add AI prompts to
config/ai_prompts.json - Add language config to
scripts/github_ai_news_digest.py - Run
python scripts/create_all_language_pages.py
AudioNews generates RSS 2.0 feeds for each service that can be submitted to podcast platforms:
- English (UK):
https://audionews.uk/en_GB/podcast.rss - Polish:
https://audionews.uk/pl_PL/podcast.rss - BellaNews:
https://audionews.uk/bella/podcast.rss
- β RSS 2.0 compliant with iTunes/Apple Podcasts extensions
- β Automatic updates - New episodes added daily
- β Full transcripts included in episode descriptions
- β SEO optimized with keywords for blind and partially sighted users
- β Artwork included - 1400x1400px podcast covers
- Spotify: Submit RSS feed at Spotify for Podcasters
- Apple Podcasts: Submit at Apple Podcasts Connect
- Other platforms: Most platforms accept RSS feeds automatically
See docs/PODCAST_SETUP.md for detailed publishing instructions.
RSS feeds are automatically regenerated daily when new content is published. Each feed includes:
- Last 50 episodes (RSS best practice)
- Episode metadata (titles, descriptions, dates)
- Audio file URLs
- Full transcripts in episode descriptions
- Podcast artwork and branding
- AI: Anthropic Claude 4.5 Sonnet
- TTS: Microsoft Edge TTS (neural voices, +10% speed adjustment)
- CI/CD: GitHub Actions
- Hosting: GitHub Pages
- Storage: Git LFS for audio files
- PWA: Service Worker + manifest
- Podcasts: RSS 2.0 feeds with iTunes extensions
- Live Service: audionews.uk
- Podcast Setup Guide:
docs/PODCAST_SETUP.md - Issues: GitHub Issues
- Organization: Dynamic Devices
Β© 2025 Dynamic Devices β’ Open Source β’ Made with βΏ accessibility in mind