Skip to main content

Ekko STT

Ekko STT: Tiny speech recognition and PnC text formatting

Local inference for Ekko v1 Tiny, a Danish speech recognizer with word timestamps, and Ekko PnC, its optional punctuation and capitalization model. This repository contains the Python runtime and the browser demo.

Command Runtime Default model
ekko tiny parakeet.cpp Q5_0 GGUF
ekko tiny-onnx sherpa-onnx int8 ONNX
ekko pnc ONNX Runtime PnC int8

Run locally

Install uv, then format an existing transcript:

uvx --from 'ekko-stt[pnc]' ekko pnc "hej mit navn er emil hvordan går det i dag"

Transcribe a file and apply PnC:

uvx --from 'ekko-stt[pnc]' ekko tiny audio.wav --pnc --format json

For Tiny's ONNX runtime:

uvx --from 'ekko-stt[tiny-onnx,pnc]' ekko tiny-onnx audio.wav --precision int8 --pnc --format json

The first run downloads model artifacts from Hugging Face and the native parakeet.cpp library when needed. Downloads use immutable revisions and SHA-256 checks in the release manifest. Set EKKO_OFFLINE=1 after prefetching to prevent network access.

The browser demo runs Tiny and PnC locally through WebAssembly. Audio and transcripts stay on the device.

Development

uv sync --locked --extra local
uv run --no-sync python -m unittest discover -s tests -p 'test_*.py'
uv build

The source code is MIT licensed. Tiny and PnC weights have their own terms in their Hugging Face repositories. See third-party notices for runtime dependencies.

Metadata

Release files for ekko-stt 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ekko-stt 0.1.1
File Size Uploaded
ekko_stt-0.1.1.tar.gz 30.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ekko-stt 0.1.1
File Interpreter ABI Platform
ekko_stt-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 52.1 kB

Release files / ekko_stt-0.1.1.tar.gz

Download URL ekko_stt-0.1.1.tar.gz
Size 30.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d5ad56cb9cfc97197468af5c31ead03f9b72068b8f2824c26f75c906f81e558f
BLAKE2b-256 checksum
How to use checksums
be1e819835553d250f8602d0fc35a79aaeb5ca4df81cdeb6e3f98491c7256db0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.6.6

Release files / ekko_stt-0.1.1-py3-none-any.whl

Download URL ekko_stt-0.1.1-py3-none-any.whl
Size 21.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b7ae0900f623acbf96983ef30bc58b1274cfc6042272772802961fec22f85ed
BLAKE2b-256 checksum
How to use checksums
2c67c9e3d179a8c4851811640001fc12006062800cdef5b3fa953350fdfc9be0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.6.6

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page