Voicebox is a local-first, open-source desktop application for AI voice cloning, text-to-speech (TTS), speech-to-text (STT), and dictation. It provides a full voice I/O stack that runs entirely on the user's machine, supporting multiple TTS engines (Qwen3-TTS, Chatterbox, Kokoro, TADA, LuxTTS, etc.) with zero-shot voice cloning from short audio samples. The application is built as a Tauri v2 desktop shell (Rust) wrapping a React/TypeScript frontend and a Python FastAPI backend with SQLite storage. Key features include global dictation with auto-paste, voice profile management with effects chains, a multi-track story editor, MCP server integration for AI agents, and GPU acceleration (CUDA, ROCm, MLX, DirectML). The architecture follows a service-oriented pattern with a backend factory for pluggable TTS/STT engines, SSE-based progress streaming, and a platform abstraction layer for cross-platform compatibility. The codebase is well-structured with extensive documentation, CI/CD pipelines, and a large community.
whisper.cpp is a high-performance C/C++ inference engine for OpenAI's Whisper automatic speech recognition (ASR) model, with additional support for a wide range of large language models (LLMs) via an integrated llama.cpp fork. The core library is dependency-free and uses the ggml tensor library to run on CPU, GPU (CUDA, Metal, Vulkan, OpenCL, SYCL, etc.), and specialized hardware (Apple Neural Engine, Hexagon DSP, etc.). It provides a clean C API, extensive language bindings (Go, Java, Ruby, JavaScript, Swift, etc.), and a rich set of example applications including a CLI transcriber, real-time microphone streaming, an HTTP server with OpenAI-compatible API, voice-controlled chess, and a talk-llama chatbot. The repository also includes model conversion scripts (PyTorch to ggml, CoreML, OpenVINO), quantization tools, and evaluation benchmarks (LibriSpeech, Earnings21). While primarily an application library, it contains research-oriented features like grammar-constrained decoding, beam search, and experimental model architectures. The codebase is actively maintained with a large community, though the sheer number of hardware backends and model variants introduces some maintenance complexity.
RealtimeSTT is a production-grade real-time speech-to-text library and server. The core library provides `AudioToTextRecorder`, a facade that orchestrates microphone capture, voice activity detection (VAD), wake-word detection, and multiple ASR backends (faster-whisper, sherpa-onnx, whisper.cpp, etc.) for low-latency realtime and final transcription. It features a dual-lane architecture combining an ultrafast speculative model with a slower accurate model, merged via a sticky alignment algorithm, and a text stabilizer that commits only evidence-backed partials. The server component (`stt-server-production`) is a FastAPI/WebSocket application with a versioned protocol (`realtimestt.remote.v1`) supporting per-session ordered event delivery, fair inference queues, preview snapshots, resume, and HTTP transcription. External dependencies include PyTorch, torchaudio, faster-whisper, sherpa-onnx, and optional engines. The system is designed for voice assistants, dictation, and multi-user ASR services.
YouDub WebUI is a full-stack video localization platform that enables users to import videos, transcribe speech via Whisper, translate via OpenAI-compatible APIs, clone voices with VoxCPM2, separate audio with Demucs, align subtitles with Qwen3 Forced Aligner, and export dubbed videos or subtitles. The architecture is plugin-based (Cordis framework) with a Node.js/TypeScript host orchestrating Python subprocesses for ML inference, a Next.js web frontend, and native desktop apps for macOS (Swift) and Windows (C#). The system features a task engine with queuing, cancellation, retry, and partial rerun; a worker protocol using NDJSON over stdin/stdout; and a comprehensive setup service that downloads and verifies model weights. While primarily an application, it includes research-grade model consumption and detailed validation records documenting real-media runs with SHA-256 hashes and human listening feedback. The codebase is actively maintained with recent commits, CI/CD pipelines, and extensive unit tests for contracts, protocols, and permissions.
WhisperPlus is a Python library that provides enhanced speech processing capabilities built around Whisper models. It offers a modular pipeline architecture for speech-to-text transcription with optimizations like quantization and flash attention, text summarization (including long-text handling), speaker diarization, text-to-speech conversion, video auto-captioning, and retrieval-augmented generation for chatting with video content. The library integrates with Hugging Face Transformers, Apple MLX for optimized inference on Apple silicon, and various external services like YouTube downloading and vector databases for RAG functionality. The architecture follows a modular design with clearly separated pipelines for each functionality: core speech-to-text (whisper.py), summarization (summarization.py, long_text_summarization.py), text-to-speech (text2speech.py), diarization (whisper_diarize.py), auto-captioning (whisper_autocaption.py), and RAG chatbots (lancedb_chatbot.py, autollm_chatbot.py). Utility modules handle YouTube media downloading (download_utils.py) and text formatting (text_utils.py). The library provides both programmatic API access and a Gradio-based web interface (app.py) for interactive use, along with a CLI entry point (cli.py). Data flows typically begin with audio/video input (from files or YouTube URLs), proceed through specialized processing pipelines (transcription, summarization, etc.), and produce text, audio, or video outputs. For RAG features, transcripts are processed into vector stores enabling question-answering interactions. The library relies on established dependencies including torch, transformers, ffmpeg, pyannote.audio for diarization, and MLX-specific libraries for Apple silicon optimization, demonstrating practical integration of state-of-the-art models into an accessible toolkit.
Absorb is a production-grade Flutter mobile application that serves as a full-featured client for self-hosted Audiobookshelf servers. It streams and downloads audiobooks and podcasts, providing offline playback, sleep timer, bookmarking, chapter navigation, built-in equalizer, on-device speech-to-text transcription via whisper.cpp, and an ebook reader. The architecture is a cross-platform Flutter app with extensive native platform code (Kotlin for Android, Swift/ObjC for iOS) that deeply integrates with Android Auto, Apple CarPlay, Wear OS, Chromecast, and home-screen widgets. Audio playback is managed by a highly customized audio_service plugin with a native iOS audio engine (AbsorbAudioEngine) that handles cross-book transitions and equalizer effects. The transcription feature uses a forked whisper_ggml_plus package with a voxel-activity detection and MP3 slicer for frame-accurate clip extraction. The codebase demonstrates high craftsmanship in platform-level audio handling, but its reliance on multiple vendored plugins (audio_service, just_audio, flutter_carplay, whisper_ggml_plus, flutter_epub_viewer) creates maintenance overhead due to duplicated native code across platforms and occasional divergence from upstream versions.
Thonburian Whisper is a Thai Automatic Speech Recognition (ASR) model fine-tuned from OpenAI's Whisper, provided as a reusable application with associated tools. The repository offers the pre-trained model hosted on Hugging Face, along with utilities for transcription, long-form audio processing, TensorRT conversion, and evaluation. Key components include a CLI tool for long-form transcription using VAD and syllable segmentation, scripts for converting the model to TensorRT format for efficient inference, and evaluation metrics calculation. The architecture consists of modular Python scripts and notebooks that demonstrate usage rather than a monolithic application, with clear separation between model usage, audio preprocessing, and post-processing.
Xinference is a production-grade model serving platform that provides OpenAI-compatible REST APIs for a wide range of AI models including LLMs, embeddings, rerank, image generation, video, audio/TTS, and world models. It supports multiple inference backends (vLLM, SGLang, transformers, MLX, llama.cpp) and can be deployed as a single process or a distributed cluster using an actor-based supervisor/worker architecture (xoscar). The system includes a web UI for model management, authentication/authorization with OAuth2 scopes, token-aware routing for load balancing, and monitoring capabilities. It bundles many third-party model implementations for turnkey deployment, which reduces setup friction but introduces maintenance overhead from vendored code. The architecture is a hybrid of a monolithic FastAPI server and a distributed actor system. Key entry points are CLI commands (xinference, xinference-supervisor, xinference-worker) and the REST API. The frontend is a Next.js application statically exported and served by the backend. The codebase demonstrates strong patterns in modular route registration, plugin-style model registries, and streaming response handling, but also carries significant technical debt from heavy vendoring, duplicated code across third-party integrations, and version-sensitive patches to upstream libraries like vLLM.
This repository is an offline speech-to-text application that uses the faster-whisper model to transcribe audio and video files into text, JSON, or SRT formats. It provides a web interface built with LayUI and a REST API (including an OpenAI-compatible endpoint) for easy integration. The application supports CPU and CUDA acceleration, caches loaded models for efficiency, and handles media conversion via FFmpeg. The architecture consists of a Flask web server served by gevent, with a background thread processing transcription tasks from a queue. Configuration is managed via an INI file, and utilities for FFmpeg execution, update checking, and browser launching are encapsulated in a helper module. The model caching mechanism avoids reloading large models for multiple requests, improving performance in a server setting.
Violin is an open-source video dubbing application that transcribes speech from any video, translates it into one of 33 languages, synthesizes a native-sounding voice-over using TTS (Cartesia Sonic 3, ElevenLabs, or OpenAI), and remuxes the result into a new video with optional SRT subtitles and in-video Q&A. The system provides three interfaces: a CLI tool (`violin <input> <output> --language <lang>`), a FastAPI web application with a browser UI for upload/download and real-time polling, and a Claude Code skill for invocation from a Claude session. The architecture follows a five-stage pipeline (audio extraction → Whisper transcription → LLM translation → TTS synthesis → video/audio merging with speed alignment) orchestrated by a shared `dub_video` function. Both the CLI and the API worker call the same core pipeline, with parameterized callbacks for progress reporting and cancellation. The API supports bring-your-own-key (BYOK) or server-provided free trial, job persistence via the filesystem, SQLite-based usage statistics, and periodic cleanup of stale jobs and orphaned temp directories. Configuration is YAML-based with deep-merge defaults, supporting pluggable providers per stage. The codebase is well-structured with separate modules for each pipeline stage, reusable cost tracking, and a prompt management system with safe format interpolation. Notable craftsmanship includes the `CostTracker` dataclass for per-job wall-clock and dollar-cost telemetry, the `transcriber.py` segment merging/deduplication logic for Whisper output, and the `api/stats.py` SQLite-backed stats with schema migration. The main weaknesses are the absence of unit tests (no test directory found) and some internal coupling of pipeline components to the global config object. The monolithic SPA frontend is functional but not independently reusable.
This repository is a well-established Python library (`SpeechRecognition`) that provides a unified interface for multiple speech recognition engines, including Google Speech, CMU Sphinx (PocketSphinx), Vosk, OpenAI Whisper (both local and API), Groq, Cohere, and several others. The architecture follows a facade pattern via a central `Recognizer` class, which handles audio capture (microphone, files) and delegates recognition to pluggable backends – each implemented as a standalone function in the `recognizers/` subpackage and attached to the `Recognizer` instance at import time. The library bundles FLAC encoder binaries for audio conversion, offers a CLI tool for model downloads, and includes comprehensive test suites with audio fixtures in multiple formats. While the code is well-structured and features clean abstractions (e.g., `AudioData` for format conversion, `OpenAICompatibleRecognizer` base class), it exhibits some technical drift: bundled FLAC binaries are outdated (v1.3.2 from 2014), it depends on `audioop` (deprecated in Python 3.13+), and several backend APIs are at risk of deprecation. The library is production-grade (v3.17.0) and widely used, but its reliance on hardcoded API keys and legacy workarounds for old Python versions suggests maintenance is ongoing but with moderate lag. Overall, it is a solid, reusable codebase with several components that could be extracted independently.
EchoMimicV2 is an audio-driven semi-body human animation system that generates talking-head or full-body videos from a single reference image, driving audio, and an optional pose sequence. It uses a diffusion-based video generation pipeline built on a custom 3D UNet (adapted from AnimateDiff) with multi-modal conditioning: Whisper encoder for audio features, DWPose for body/hand/face keypoints, and a reference attention mechanism for appearance transfer. The system supports both Gradio web UI and CLI inference, with an accelerated variant using int8 quantization and reduced sampling steps for lower VRAM usage (targeting 12GB GPUs). The repository also includes a custom dataset (EMTD) for training, with download and preprocessing scripts, making it a hybrid of research code and deployable application.
Voquill is a cross-platform voice dictation and AI transcription application that allows users to dictate into any application with real-time speech recognition, AI post-processing, and an agent mode for automated tasks. The desktop app (Tauri + Rust + React) provides a native overlay, global hotkeys, and multiple transcription backends (local Whisper, cloud providers, enterprise). The enterprise edition includes a gateway service with PostgreSQL, admin panel, OIDC SSO, and custom STT/LLM providers. Mobile apps (Flutter) with keyboard extensions provide dictation on iOS and Android. The CLI tool offers headless dictation and agent functionality. The architecture is a monorepo with shared packages for types, utilities, voice AI integrations, and agent loop, demonstrating a well-structured, multi-platform application with significant hybrid characteristics due to extensive data pipelines for transcription and model management.
This repository contains the research code for Video-SALMONN-2, a family of audio-visual large language models for video understanding, developed by Tsinghua University and ByteDance. It includes three generations: Video-SALMONN-2 (based on LLaVA), Video-SALMONN-2+ (based on Qwen2.5-VL), and Video-SALMONN-2 Pro (based on Qwen3-VL). The core contribution is a caption-enhanced training paradigm that tightly aligns audio and visual signals. The codebase provides full training pipelines for supervised fine-tuning (SFT) and direct preference optimization (DPO), along with evaluation scripts, a demo mode, and a vLLM-based serving plugin for deployment. While the project is predominantly research-focused, it includes application-like components such as CLI inference and OpenAI-compatible serving. The code exhibits high duplication across the three model variants, hardcoded paths to internal cluster storage, and brittle dependency pinning, making it challenging to reproduce outside the original environment. However, several components—such as the multimodal batch sampler, audio-video processing utilities, and QFormer-based fusion—are well-structured and potentially reusable for other multimodal research projects.