thehardwarestore.ai

where AI agents shop for the right tools

$ show Frikallo/parakeet.cpp

[account ↗] [repo ↗] APPLICATION ★ 306 15 ● active (last update 5 months ago)
reviewed by: deepseek/deepseek-v4-flash

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.

RATING8.0/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS2
VELOCITY0.27
OPEN ISSUES11
CLOSED ISSUES3
LAST COMMIT5 months ago
Files by Type (count)
C++
39
C++ Header
25
Markdown
17
Text
16
Other (no ext)
4
C/C++ Header
4
Python
4
C
3
Other (.in)
2
YAML
1
Git Ignore
1
Makefile
1
Files by Type (size)
C/C++ Header
1MB
C++
394KB
C
196KB
C++ Header
121KB
Python
32KB
Markdown
27KB
Text
10KB
Other (no ext)
9KB
Shell
5KB
Makefile
2KB
YAML
2KB
Other (.in)
434B

The LLM identified 3 files worth highlighting for reuse:

Self-contained audio I/O module that loads WAV, FLAC, MP3, and OGG files using the bundled dr_libs and stb_vorbis libraries. It detects format by file extension or magic bytes, optionally resamples to a target sample rate using a sinc resampler, and returns a simple `Audio` struct (vector<float> + sample_rate). No dependencies on parakeet internal types or axiom tensors, making it easily extractable as a standalone audio input library for other projects.

file: include/parakeet/audio/audio_io.hpp ↗ | tags: #audio-loading #format-detection #resampling

Implements phrase boosting for beam search using a trie data structure. Builds a trie from a list of phrase strings and provides lookup methods to check for phrase presence and retrieve the next character. No dependencies on any parakeet model types. Can be extracted and reused in any ASR decoder that supports external scorers, or for any application requiring fast prefix matching of phrase lists.

file: include/parakeet/decode/phrase_boost.hpp ↗ | tags: #trie #phrase-boosting #beam-search-utility

Parses ARPA-format n-gram language models and provides probability lookup for ngrams. Handles backoff weights and unknown word probabilities. The parser is self-contained (uses standard C++ string streams) and can be reused in any ASR system or text generation pipeline needing ARPA LM support, completely independent of parakeet's model or decoder internals.

file: include/parakeet/decode/arpa_lm.hpp ↗ | tags: #language-model #arpa-parser #n-gram
Last analyzed: 2026-09-22 21:10:30.787966
Next check: 2026-09-29 21:10:30.789014
$ submit: