FDSoundActivatedRecorder is a Swift library for iOS that implements sound-activated audio recording. It automatically starts recording when sound exceeds a dynamic threshold and stops when silence is detected, saving the output as an m4a file with fade-in/fade-out to prevent clicks. The core logic uses a moving average of audio power levels to dynamically adjust trigger thresholds, making it robust to varying noise environments. Built with modern Swift concurrency (actor) for thread safety, it provides a delegate protocol for callbacks and metering updates. The library is self-contained, depends only on standard iOS frameworks, and includes an example app demonstrating integration via SwiftUI.
Silero VAD is a pre-trained enterprise-grade Voice Activity Detector library that provides speech detection capabilities for audio signals. The system consists of a core PyTorch model (also available in ONNX format) with Python utilities for audio processing, speech timestamp extraction, and streaming applications. It supports 8kHz and 16kHz sampling rates and includes a VADIterator class for real-time processing. The repository offers multi-language examples (C++, C#, Go, Haskell, Java, Rust) demonstrating integration, along with tools for model tuning and sequence-based ONNX optimization for improved performance on long audio files.
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.
This toolkit provides a command-line interface for transcribing long audio and video files using the Qwen-ASR API. It overcomes the API's 3-minute duration limit by splitting audio into chunks based on voice activity detection (VAD) and processing them in parallel. The toolkit includes reusable components for audio loading, VAD-based segmentation, and API interaction with retry logic and text post-processing. The main workflow involves loading media, applying VAD to detect speech segments, splitting audio into chunks respecting a target duration, transcribing chunks in parallel via the API, and combining results with optional SRT subtitle generation.
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.
FastRTC is a Python library that enables developers to build real-time audio/video streaming applications with minimal code. It provides a high-level `Stream` class that integrates with Gradio for automatic UI generation and supports both WebRTC and WebSocket protocols. The library includes built-in handlers for voice activity detection (VAD) via Silero, speech-to-text via Moonshine, text-to-speech via Kokoro/Cartesia, and turn-taking logic. It also offers TURN credential helpers for Cloudflare, Twilio, and Hugging Face. The architecture revolves around defining a handler function that processes media chunks, wrapping it with turn-taking decorators, and creating a Stream object that handles signaling, connection management, and UI rendering. The codebase is actively maintained with frequent commits and an extensive set of demos integrating with various LLMs and AI services.
This repository contains a C-based frequency scanner for Gqrx, a software-defined radio (SDR) application. The scanner controls Gqrx via its remote TCP protocol to perform sweep or bookmark-based scanning, with integrated voice activity detection (VAD) for distinguishing speech from noise. The system supports interactive controls (skip, ban, pause frequencies) and automatic recording of detected signals. The architecture is a standalone CLI executable built with CMake, featuring two scanning modes: adaptive sweep (fast, with fine-tuning) and bookmark-based (reading Gqrx's bookmarks CSV). VAD is implemented using a G.729B-style pitch-based algorithm with LPC analysis, running on Linux via PipeWire audio capture. The codebase includes a comprehensive test suite using cmocka, with mock socket infrastructure for simulating Gqrx responses. Notable strengths include self-contained VAD modules and a reusable mock Gqrx protocol implementation. However, the code exhibits heavy use of global variables, some known bugs (e.g., unsigned underflow in frequency saving), and platform-specific limitations (VOX and sweep tests are Linux-only).