Installation & Usage
Porua works in two parts: a browser extension that reads text from web pages, and a local server that converts the text into speech. The desktop app provides an easy and seamless way to run and configure the server in the background. For most users, the desktop app is the easiest option. Advanced users can choose to download and run the server binary separately for more control.
Download the latest versions below, or view all releases on the release page:
- Desktop App: Easy server management RECOMMENDED
Latest: v0.2.0 — Download:macOS (Apple Silicon) |
macOS (Intel) |
Windows
- Browser Extension: Compatible with Chrome and Firefox
Latest: v0.2.0 — Install:Chrome Web Store |
Firefox Add-ons
Previous: v0.1.0 - Server Binary: For advanced users
Latest: v0.2.0 — Download:Linux x64 |
Linux ARM64 |
macOS ARM64 |
Windows x64
Previous: v0.1.1
For detailed installation instructions, usage guides, and API documentation, visit the GitHub repository.
Key Features
Natural Speech Quality
Powered by Kokoro v1.0 TTS model with 28 high-quality voices (American & British)
Skip Forward & Back Controls
Navigate through content effortlessly with local caching for seamless reading experience
Real-Time Text Highlighting
Text synchronization with audio playback for enhanced reading comprehension
High Performance
Engine pooling for concurrent requests and intelligent text chunking for long texts
Streaming Audio
Multipart response streaming with phrase-level timing metadata
Security
Web Crypto API encryption for API key storage
Technical Architecture
Browser Extension
The extension is built with modular ES6+ JavaScript and bundled with esbuild. It features a content script that injects floating controls into web pages, background service workers for API communication, and a popup UI for configuration. The extension is compatible with both Chrome and Firefox.
- Modular architecture with clean separation of concerns
- Real-time audio playback with Web Audio API
- Phrase-level timing for synchronized text highlighting
- Encrypted local storage for sensitive data
TTS Server
The server is built in Rust using the Actix Web framework for high performance and reliability. It uses the Kokoro v1.0 (330MB) ONNX model for text-to-speech generation with support for 28 different voice styles.
- Actix Web HTTP server with async/await support
- Engine pooling for handling concurrent TTS requests
- Intelligent text chunking for processing long content
- Streaming multipart responses with timing metadata
- REST API with health monitoring endpoints
Desktop App
The desktop application is built with Tauri, providing a lightweight native wrapper around the TTS server. It automatically manages the server lifecycle, handles system tray integration, and provides a user-friendly interface for configuration. The app includes automatic model downloads and guided browser extension installation.
- Cross-platform support (macOS, Windows, Linux)
- System tray integration for quick access
- Automatic server lifecycle management
- Built-in browser extension installer
Model Attribution
Porua uses the Kokoro v1.0 TTS model (full 330MB version), an open-source, high-quality text-to-speech model:
- Model: Kokoro v1.0 by hexgrad
- ONNX Version: thewh1teagle/kokoro-onnx
- License: Apache 2.0
- Model Size: 330MB (full model)
- Quality: High-quality, natural-sounding speech with 28 voice options
Contribute
If you find the application useful, please consider contributing with ideas, suggestions or code contributions. Check out the GitHub repository for more information.