ggml-org/whisper.cpp

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 16 minutes ago
Added to GitGenius on August 21st, 2023
Created on September 25th, 2022
Open Issues & Pull Requests: 1,242 (+0)
GitHub issues: Enabled
Number of forks: 6,127
Total Stargazers: 53,447 (+1)
Total Subscribers: 419 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 37.8 hours
Mean response time: 57.4 days
90th percentile: 173.0 days
Tracked items: 1,013

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 99% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "question" is answered fastest, typically in about 10 hours, while "bug" waits about 4 months. Almost all tracked open issues have seen activity in the last three months. Only 2% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,058
New in 7 days: 2
Closed in 7 days: 2
Avg open age: 763 days
Stale 30+ days: 66
Stale 90+ days: 62

Recent activity

Opened in 7 days: 2
Closed in 7 days: 2
Comments in 7 days: 4
Events in 7 days: 13

Top labels

  • stale (969)
  • question (119)
  • enhancement (90)
  • bug (75)
  • good first issue (46)
  • build (39)
  • solution (22)
  • help wanted (18)

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.

The most active tracked labels are enhancement with 37 items, bug with 30 items, and question with 27 items.

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.