|
Download README.md from bumpyclock/whistle-GGUF: direct link, hf CLI and curl.
- Browser
- Download file 5.61 kB
-
https://huggingface.co/bumpyclock/whistle-GGUF/resolve/main/README.md
- Command line
-
hf download hf://bumpyclock/whistle-GGUF/README.md
-
curl -L -o README.md https://huggingface.co/bumpyclock/whistle-GGUF/resolve/main/README.md
5.61 kB
| license: apache-2.0 | |
| pipeline_tag: automatic-speech-recognition | |
| language: | |
| - en | |
| - de | |
| - fr | |
| - es | |
| - it | |
| - nl | |
| - pl | |
| tags: | |
| - gguf | |
| - audio.cpp | |
| - speech-to-text | |
| - on-device | |
| - cpu | |
| - metal | |
| - fp32 | |
| - experimental | |
| # Whistle GGUF (FP32, experimental) | |
| This is a community GGUF conversion of [Cactus Compute Whistle](https://huggingface.co/Cactus-Compute/whistle). | |
| It packages the published FP32 checkpoint for an experimental `whistle_asr` adapter in audio.cpp. | |
| It is not an official Cactus Compute release. | |
| **Stock audio.cpp cannot run this model yet.** The adapter is proposed in | |
| [audio.cpp pull request #824](https://github.com/0xShug0/audio.cpp/pull/824) and has not been merged. | |
| Until it lands, downloading this file alone does not provide a usable audio.cpp runtime. | |
| GGUF is a container format, not a guarantee of compatibility with other GGUF applications. | |
| ## Artifact and provenance | |
| - File: `whistle-f32.gguf` | |
| - Size: **220,831,616 bytes** (approximately 220.8 MB) | |
| - SHA-256: `1167c811abad2fc539a1116e1b7031ba4a07c8f5b2e75ab3a389ae370efede8b` | |
| - Source: `Cactus-Compute/whistle` | |
| - Pinned source revision: `b358ddadd89b7a713b5aa131f23032d3cca1b251` | |
| - Weights: `checkpoints/whistle.safetensors`, stored as 116 FP32 tensors without quantization | |
| - Embedded resources: source configuration and license, custom tokenizer blob, mel filterbank, and two Hadamard permutations | |
| - Embedded audio.cpp model specification: `whistle_asr` | |
| **Modification notice:** The source checkpoint has been repackaged as GGUF. | |
| Tokenizer, frontend, and permutation resources have been extracted from the official `whistle.cact` and embedded alongside the FP32 weights. | |
| The experimental audio.cpp model specification is additional conversion metadata. | |
| The weights are not a dequantization of the compact `.cact` model. | |
| The official `.cact` file uses Cactus Quants and is approximately 16.9 MB. | |
| This FP32 conversion is much larger and can produce different spelling or number formatting. | |
| The official model's published speed and accuracy results do not establish results for this conversion or adapter. | |
| ## Experimental runtime | |
| The adapter lives on the `feat/whistle-asr` branch of [BumpyClock/audio.cpp](https://github.com/BumpyClock/audio.cpp/tree/feat/whistle-asr), based on audio.cpp `main`. | |
| It runs in-process C++ inference and does not use Needle, Python, ONNX Runtime, or a server during recognition. | |
| The mel frontend reuses audio.cpp's shared `NemoMelFrontend`. The encoder runs as one ggml graph on the CPU or Metal backend, | |
| built from audio.cpp framework modules with Whistle-specific math kept model-local. The autoregressive decoder runs on the host CPU. | |
| CUDA, Vulkan, and HIP are not validated and are rejected at session creation. | |
| With an audio.cpp build that contains the experimental adapter, use: | |
| ```sh | |
| audiocpp_cli --task asr --family whistle_asr --backend cpu \ | |
| --model whistle-f32.gguf --audio clip_16k_mono.wav | |
| # or, on Apple silicon: | |
| audiocpp_cli --task asr --family whistle_asr --backend metal \ | |
| --model whistle-f32.gguf --audio clip_16k_mono.wav | |
| ``` | |
| Add `--language en`, `de`, `fr`, `es`, `it`, `nl`, or `pl` to force a language. | |
| Otherwise, the model detects the language. | |
| This example requires the adapter; it is not a command for an unmodified upstream build. | |
| ## Supported scope and limitations | |
| The adapter supports offline transcription of finite 16 kHz mono audio, up to 30 seconds per recording. | |
| Only FP32 model tensors are admitted. | |
| The model advertises English, German, French, Spanish, Italian, Dutch, and Polish. | |
| Local recognition checks exercised English and German recordings plus one short and one 20 to 26 second synthetic clip per language; | |
| these are prompt-agreement spot checks, not an accuracy benchmark. | |
| The adapter does not implement streaming, word timestamps, keyword biasing, speech embeddings, resampling, or long-form chunking. | |
| Metal accelerates the encoder only; decoding stays on the CPU. | |
| Decoding uses a 320-text-token ceiling and reports an error if EOS is not produced, rather than presenting partial output as complete. | |
| Recognition can contain errors or hallucinations, particularly with quiet or non-speech audio. | |
| This upload does not include a speech activity detection system. | |
| ## Observed recognition | |
| A local English sample produced: | |
| > Some call me Nature. Others call me Mother Nature. I've been here for over 4.5 billion years, twenty two thousand five hundred times longer than you. | |
| A synthetic German recording produced: | |
| > Guten Morgen, wie wird das Wetter heute? | |
| The German result matched the official runtime for that recording, both with automatic language detection and a forced German hint. | |
| These are example checks, not a multilingual accuracy benchmark or production qualification. | |
| ## License and attribution | |
| The source model is licensed under Apache 2.0. | |
| A copy of the source license is included as `LICENSE` and embedded in the GGUF. | |
| Whistle was created by Cactus Compute. | |
| Sources used for the conversion and runtime work: | |
| - [Pinned official model and license](https://huggingface.co/Cactus-Compute/whistle/tree/b358ddadd89b7a713b5aa131f23032d3cca1b251) | |
| - [audio.cpp pull request #824](https://github.com/0xShug0/audio.cpp/pull/824) and the [`feat/whistle-asr` branch](https://github.com/BumpyClock/audio.cpp/tree/feat/whistle-asr) | |
| - [Pinned public Whistle reference reconstruction](https://huggingface.co/mrfakename/whistle-ONNX/tree/14fc92cb09ad5c271fe9a4ec4be70274790050d2) | |
| The model and runtime remain separate works. This repository distributes converted model assets, not the experimental audio.cpp adapter. | |