
Security News
US Government Forces Anthropic to Pull Claude Fable Days After Launch
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.
tauri-plugin-stt-api
Advanced tools
Speech-to-text recognition API for Tauri with multi-language support
Cross-platform speech recognition plugin for Tauri 2.x. Desktop targets
(Windows, macOS, Linux) use whisper.cpp
via whisper-rs; mobile targets
delegate to the native OS engines (SFSpeechRecognizer on iOS,
SpeechRecognizer on Android).
whisper-rs builds whisper.cpp statically;
there is no libvosk.so / .dylib to install separately.start_listening returns ModelNotInstalled instead of
silently pulling hundreds of MB.metal / cuda / vulkan features map
straight to the matching whisper.cpp backend.| Platform | Engine | Model |
|---|---|---|
| iOS | SFSpeechRecognizer (Speech.framework) | OS |
| Android | SpeechRecognizer | OS |
| macOS | whisper.cpp via whisper-rs (Metal opt.) | GGML |
| Windows | whisper.cpp via whisper-rs (CUDA opt.) | GGML |
| Linux | whisper.cpp via whisper-rs (Vulkan opt.) | GGML |
[dependencies]
tauri-plugin-stt = { version = "0.2", features = ["metal"] } # macOS
# or "cuda" / "vulkan" — omit for plain CPU inference
Register the plugin and the four model-management commands:
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_stt::init())
.run(tauri::generate_context!())
.unwrap();
}
Capability:
{ "permissions": ["stt:default"] }
| id | display | size | tier |
|---|---|---|---|
tiny | Tiny | 75 MB | fastest |
base | Base | 142 MB | balanced ⭐ |
small | Small | 466 MB | accurate |
medium | Medium | 1.5 GB | very accurate |
large-v3 | Large v3 | 3.0 GB | most accurate |
Files are fetched from
https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-<id>.bin
and stored under <app_data_dir>/whisper-models/. The active selection
is persisted to whisper-models/active.txt.
list_models() → { models, active, total_disk_bytes }install_model(id) — downloads the model, emits stt://download-progressremove_model(id) — deletes the file and clears the active marker if neededset_active_model(id) — picks which installed model start_listening loadsstart_listening({ language?, max_duration? }) — push-to-talk sessionstop_listening() — runs Whisper over the captured audio and emits one final resultis_available() — reports available: true only when a model is installedget_supported_languages() — curated list of UI-facing localescheck_permission() / request_permission() — microphone permission helpersstt://download-progress — { status, modelId, model, progress, downloaded?, total? }stt://result — { transcript, isFinal, confidence }stt://error — { code, message }plugin:stt:result — same payload as stt://result (legacy listener channel)plugin:stt:stateChange — { state, isAvailable, language }stop_listening. UX is push-to-talk.min(available_parallelism(), 4) threads — beyond that
whisper.cpp shows diminishing returns and we want headroom for the UI.The mobile bridges expose the same JS API surface but list_models returns an
empty list and install_model / remove_model / set_active_model are
no-ops: the OS engine has no downloadable model concept. Use is_available
to gate UI; on iOS / Android it reflects actual recognizer availability.
MIT.
FAQs
Speech-to-text recognition API for Tauri with multi-language support
We found that tauri-plugin-stt-api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.

Security News
A network of 152 Chrome live wallpaper extensions hid ad tracking and made extension-driven traffic look like Google search clicks.

Company News
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.