---
title: "Whisper Tiny Ggml — Speech Recognition (39M) | Xybrid"
description: "Run Whisper Tiny Ggml on-device with Xybrid. Whisper Tiny - Fast multilingual ASR (whisper.cpp/GGML runtime) Available for iOS, Android, macOS, and more."
url: "https://www.xybrid.ai/models/whisper-tiny-ggml"
---

# Whisper Tiny Ggml

Speech to text · OpenAI

Whisper Tiny - Fast multilingual ASR (whisper.cpp/GGML runtime)

Model ID: `whisper-tiny-ggml`

## Make it part of your app.

One model. Your language.

### Rust (main.rs)

```rust
use xybrid::ModelLoader;
use xybrid::ir::{Envelope, EnvelopeKind};

// Load the ASR model
let model = ModelLoader::from_registry("whisper-tiny-ggml").load()?;

// Transcribe a WAV file
let input = Envelope::new(EnvelopeKind::Audio(std::fs::read("recording.wav")?));
let result = model.run(&input, None)?;

println!("{}", result.text().unwrap_or(""));
```

### Flutter (main.dart)

```dart
import 'package:xybrid_flutter/xybrid_flutter.dart';

await Xybrid.init();

// Load the ASR model
final model = await Xybrid.model('whisper-tiny-ggml').load();

// Transcribe audio: audioBytes is 16 kHz mono PCM
final result = await model.run(
  XybridEnvelope.audio(bytes: audioBytes, sampleRate: 16000),
);

print(result.text);
```

### Kotlin (Main.kt)

```kotlin
Xybrid.init(context)

// Load the ASR model
val model = Xybrid.model("whisper-tiny-ggml").load()

// Transcribe audio: audioBytes is 16 kHz mono PCM
val result = model.runAsync(
  Envelope.audio(bytes = audioBytes, sampleRate = 16000u, channels = 1u)
)

println(result.text)
```

### Swift (main.swift)

```swift
import Xybrid

Xybrid.initialize()

// Load the ASR model
let model = try await Xybrid.model("whisper-tiny-ggml").load()

// Transcribe audio: audioData is 16 kHz mono PCM
let result = try await model.runAsync(
  envelope: Envelope.audio(pcmData: audioData, sampleRate: 16000, channels: 1)
)

print(result.text ?? "")
```

### Unity (Example.cs)

```csharp
using Xybrid;

XybridClient.Initialize();

// Load the ASR model
using var model = XybridClient.LoadModel("whisper-tiny-ggml");

// Transcribe audio: audioBytes is 16 kHz mono PCM
using var envelope = Envelope.Audio(audioBytes, sampleRate: 16000, channels: 1);
using var result = model.Run(envelope);

Debug.Log(result.Text);
```

### CLI (terminal)

```bash
# Transcribe an audio file
xybrid run --model whisper-tiny-ggml --input-audio recording.wav
```

[Quickstart](https://docs.xybrid.dev/en/docs/quickstart)

## Available variants

| Variant | Format | Quantization | Size |
| --- | --- | --- | --- |
| [ios-arm64](https://huggingface.co/xybrid-ai/whisper-tiny-GGML-CoreML) | GGML | q5_1 | 42.4 MB |
| [universal](https://huggingface.co/ggerganov/whisper.cpp) (default) | GGML | q5_1 | 30.7 MB |

## The essentials

- Task: Speech to text
- Lab: OpenAI
- Parameters: 39M
- Format: GGML
- Quantization: `q5_1`
- Model file size: 30.7 MB
- Default variant: `universal`

[View on Hugging Face](https://huggingface.co/ggerganov/whisper.cpp)

Ready to build? [Read the documentation](https://docs.xybrid.dev)
