Skip to content

Feature Request: Add support for NVIDIA Parakeet (TDT) transcription backend #903

Description

@Istiyaq-Khan

Feature Request: Add support for NVIDIA Parakeet (TDT) transcription backend

Problem Statement

Currently, Recordly relies exclusively on whisper.cpp (specifically ggml-small.bin) for local caption generation. While Whisper is accurate across many languages, it suffers from notable issues during desktop screen recordings:

  1. Inference Latency on CPU: Generating captions for long clips on standard CPU hardware can be slow.
  2. Hallucinations on Silence: Whisper frequently gets stuck in repeating loops or outputs phantom phrases during long gaps of silence or background music.
  3. Timestamp Drift: Extracting tight, word-level timestamps for dynamic subtitle animation requires extra passes or heuristic alignments.

Proposed Solution

Add support for NVIDIA Parakeet-TDT (Token-and-Duration Transducer, e.g., Parakeet-TDT 0.6B / 1.1B v3) as an alternative transcription engine in the Captions panel.

Why Parakeet?

  • Throughput: Parakeet-TDT runs up to 4x–10x faster than Whisper on consumer hardware.
  • Architectural Advantage: Because it uses an RNN-Transducer / TDT architecture rather than an autoregressive encoder-decoder like Whisper, it produces exact token timestamps natively without hallucinating during silent pauses.
  • Local Embedded Viability: Parakeet can be packaged and run completely offline without PyTorch/Python using native runtimes like sherpa-onnx (ONNX Runtime bindings for C++/Node/Rust).

Suggested Implementation Approach

  • Use sherpa-onnx, which provides lightweight, multi-platform C/C++ and Node.js FFI bindings to run quantized Parakeet INT8 ONNX models offline.
  • Add an engine dropdown selector in Captions settings: Whisper (Default) vs. NVIDIA Parakeet (Fast English/European).
  • If the Parakeet model weights are not pre-packaged, implement an explicit download hook or allow users to supply a local .onnx model directory.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions