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

Porua

High-quality text-to-speech for the web pages for free and open-source.

Rust JavaScript Chrome Extension Firefox Extension
View on GitHub

Overview

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

Demo

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

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

Installation & Usage

The project includes automated installation scripts and detailed documentation for both the server and browser extension. The server automatically downloads required model files during installation.

Download the latest releases from the release page:

  • Server: Available for Linux, macOS, and Windows
    Look for releases starting with "Porua TTS Server" (tagged server-v*)
  • Plugin: Compatible with Chrome and Firefox
    Look for releases starting with "Porua Browser Extension" (tagged plugin-v*)

🚀 Coming Soon: A user-friendly server control app for macOS and Windows to make server management even easier.

For detailed installation instructions, usage guides, and API documentation, visit the GitHub repository.

Development

The project follows modern development practices with git hooks for code quality, automated testing, and continuous integration through GitHub Actions. The codebase is well-documented and designed for easy contribution.

← Back to Projects