Skip to main content
Porua text-to-speech browser extension icon

Porua - পড়ুয়া

High-quality text-to-speech for the web pages with open-source code, for free.

Rust JavaScript Chrome Extension Firefox Extension

Download Porua

To use Porua, you need both a Desktop App or server and a Browser Extension

1

Install Desktop App

Linux users: Check the Quick Start Guide below

2

Add Browser Extension

Latest version: v0.2.0

Quick Start Guide
View on GitHub

Porua is a browser extension and server stack that converts text to natural-sounding speech with 28 English voices. The server is built with Rust for high performance. The browser extension uses modern web technologies for seamless integration. The duo provides a complete text-to-speech solution for web browsing.

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:

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
JavaScript (ES6+) esbuild Web Crypto API Web Audio API Chrome Extension API Firefox WebExtensions

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
Rust Actix Web ONNX Runtime Kokoro TTS

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
Rust Tauri TypeScript React

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.

← Back to Projects