whisper-cpp-plus 0.1.0

Safe, idiomatic Rust bindings for whisper.cpp
docs.rs failed to build whisper-cpp-plus-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: whisper-cpp-plus-0.1.3

whisper-cpp-plus

Pinned to whisper.cpp v1.8.3 (fork: rmorse/whisper.cpp, branch: stream-pcm)

Safe, idiomatic Rust bindings for whisper.cpp — OpenAI's Whisper speech recognition model.

Quick Start

use whisper_cpp_plus::{WhisperContext, TranscriptionParams};

let ctx = WhisperContext::new("path/to/ggml-base.bin")?;
let audio: Vec<f32> = load_audio(); // 16kHz mono f32

// Simple transcription
let text = ctx.transcribe(&audio)?;

// With parameters
let params = TranscriptionParams::builder()
    .language("en")
    .temperature(0.8)
    .enable_timestamps()
    .build();
let result = ctx.transcribe_with_params(&audio, params)?;
for seg in &result.segments {
    println!("[{:.1}s-{:.1}s] {}", seg.start_seconds(), seg.end_seconds(), seg.text);
}

Features

Feature Description
cuda NVIDIA GPU acceleration via CUDA
metal Apple Metal acceleration (macOS)
openblas OpenBLAS acceleration (Linux)
async Async transcription API via tokio

Enable in Cargo.toml:

[dependencies]
whisper-cpp-plus = { version = "0.1.0", features = ["cuda"] }

Modules

  • TranscriptionWhisperContext, WhisperState, FullParams, TranscriptionParams builder
  • StreamingWhisperStream for chunked real-time transcription
  • StreamPCMWhisperStreamPcm for raw PCM input with VAD-driven processing
  • VADWhisperVadProcessor for Silero-based voice activity detection
  • Enhanced — Temperature fallback + enhanced VAD aggregation for improved quality
  • QuantizationWhisperQuantize for model compression (feature = quantization)

Examples

cargo run --example basic
cargo run --example streaming
cargo run --example streaming_reuse_demo
cargo run --example compare_vad
cargo run --example enhanced_vad
cargo run --example temperature_fallback
cargo run --example async_transcribe --features async

License

MIT