whisper.cpp
by
ggml-org

Description: Port of OpenAI's Whisper model in C/C++

View on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on August 21st, 2023
Created on September 25th, 2022
Open Issues & Pull Requests: 1,218 (+0)
Number of forks: 5,886
Total Stargazers: 51,671 (+0)
Total Subscribers: 456 (+0)

Issue Activity (beta)

Issue API unavailable.

Repository Insights (GitGenius)

Median issue/PR response: 3.5 days
Mean response time: 141.2 days
90th percentile: 541.1 days
Tracked items: 912

Most active contributors

Detailed Description

Whisper.cpp is a C/C++ port of OpenAI's Whisper automatic speech recognition model designed for high-performance inference across diverse hardware platforms. The implementation is contained primarily in two files, whisper.h and whisper.cpp, with the rest of the codebase built on the ggml machine learning library. This lightweight architecture enables easy integration into different platforms and applications while maintaining computational efficiency.

The repository provides extensive hardware acceleration support across multiple architectures and accelerators. For Apple Silicon devices, the implementation includes first-class optimization through ARM NEON, the Accelerate framework, Metal, and Core ML support, with the ability to execute encoder inference on the Apple Neural Engine for speedups exceeding 3x compared to CPU-only execution. For x86 architectures, AVX intrinsics are supported, while POWER architectures benefit from VSX intrinsics that enable faster-than-realtime transcription on systems like the Raptor Talos II. The codebase also supports GPU acceleration through NVIDIA's cuBLAS and custom CUDA kernels, AMD's HIP/ROCm framework, Vulkan for cross-vendor GPU support, Intel's OpenVINO toolkit, and Ascend NPU via CANN. Additionally, CPU-based acceleration is available through OpenBLAS.

The implementation supports multiple precision formats including mixed F16/F32 precision and integer quantization, which reduces memory and disk requirements while potentially improving processing efficiency depending on hardware. The repository includes a C-style API and supports Voice Activity Detection for enhanced functionality. Platform support is comprehensive, spanning macOS for both Intel and ARM processors, iOS, Android, Java, Linux, FreeBSD, WebAssembly, Windows with both MSVC and MinGW compilers, Raspberry Pi, and Docker containerization.

According to GitGenius activity tracking across 911 issues and pull requests, the repository maintains a median response latency of 86.8 hours, though the mean extends to 3393.3 hours due to occasional longer-term discussions. The most active tracked labels are enhancement with 37 items, bug with 30 items, and question with 27 items. Primary contributor ggerganov has logged 308 events, followed by danbev with 258 events and peardox with 67 events. The repository's contributor overlap with major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust indicates its significance within the broader open-source ecosystem.

The current stable release is v1.9.1, with an active roadmap maintained through the ggml-org projects board. The implementation requires no external dependencies beyond the standard C/C++ libraries, making deployment straightforward. Memory usage scales with model size, ranging from approximately 273 MB for the tiny model to 3.9 GB for the large model. The repository includes practical examples such as whisper.objc for iOS deployment and a command-based offline voice assistant application, demonstrating real-world applicability across consumer devices and embedded systems.

whisper.cpp
by
ggml-orgggml-org/whisper.cpp

Repository Details

Fetching additional details & charts...