ESPnet is an end-to-end speech processing toolkit built on PyTorch, covering a wide range of tasks: automatic speech recognition (ASR), text-to-speech (TTS), speech translation (ST), speech enhancement (SE), speaker recognition, spoken language understanding (SLU), singing voice synthesis (SVS), speech language modeling (SpeechLM), and more. The repository contains both a core Python library (`espnet2/`, `espnet3/`) and a large collection of reproducible recipes (`egs2/`, `egs3/`) for dozens of public corpora and research challenges. The architecture is modular: each task defines its own model, loss, training, and inference via a `Task` class, with abstract base classes for encoders, decoders, frontends, tokenizers, and losses. Configuration is YAML-driven, and the training pipeline uses PyTorch Lightning (in ESPnet3) or a custom trainer (ESPnet2). The system provides CLI tools (`espnet` with subcommands like `transcribe`, `synthesize`, `enhance`, `translate`) and a Python API (`Speech2Text.from_pretrained()`) for inference. It also includes Docker images for deployment and Hugging Face Spaces demos. The repository is hybrid: it is primarily a software framework/library (application) with a strong research character, as evidenced by the extensive recipe collection, benchmark results, and support for state-of-the-art models (Conformer, HuBERT, Whisper, VALL-E). The recipe system follows Kaldi-style data preparation and stage-based pipelines, enabling reproducible experimentation. External dependencies include PyTorch, torchaudio, sentencepiece, and optional components like flash-attn, fairseq, and s3prl. The codebase is actively maintained with CI across multiple OS and Python versions, unit tests, and integration tests.
Parakeet.cpp is a high-performance speech recognition inference library for NVIDIA's Parakeet model family (TDT-CTC, RNNT, Streaming EOU, Nemotron, Sortformer), written in C++ with C bindings. It provides offline and streaming transcription, speaker diarization, voice activity detection (VAD), beam search with optional n-gram language model fusion, phrase boosting, and timestamp extraction. The library is built on the axiom tensor library with Metal GPU acceleration for Apple Silicon, and supports audio input from WAV, FLAC, MP3, and OGG formats. The codebase includes a CLI tool, a Unix domain socket server example, and a rich set of examples covering all major features. While primarily an application/library for production ASR inference, it also contains research-oriented model conversion scripts (NeMo to safetensors) and a benchmark script comparing with PyTorch inference, giving it a hybrid character. The architecture is cleanly modular, with separate modules for audio I/O, VAD, model encoders/decoders, and decoding algorithms. The C API enables binding to Python, Swift, Rust, and other languages. Documentation and build system are well-maintained, and the repository is actively developed with recent commits.
diart is a Python library and CLI tool for real-time online speaker diarization, built on top of pyannote.audio. It processes audio streams (microphone, files, WebSocket) with low latency using a modular pipeline of segmentation, embedding, clustering, and aggregation blocks. The library is designed for both streaming and offline evaluation, with support for overlap-aware processing and hyperparameter tuning via Optuna. It provides a reactive streaming architecture using RxPY, making it suitable for building AI-powered audio applications. The repository includes a benchmark suite, expected outputs for standard diarization datasets (AMI, DIHARD, VoxConverse), and CI/CD pipelines. While primarily a software library, it has a strong research component with published results and reproducibility artifacts.