Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

mihu-community-stt-tr

Real-time, low-latency speech-to-text (STT) for Turkish — on the CPU.

Turkish-only · streaming · CPU-native · runs on the edge. A compact 66 M-parameter causal streaming model, built for voice agents, call centers, and on-device transcription where a GPU is not an option — no API key, no cloud, no GPU.

  • 🇹🇷 Turkish-first — every parameter serves one language, not ~100
  • ⚡ Streaming — partial results as you speak (~320 ms), no 30-second windows
  • 🖥️ CPU-native — RTF 0.128 on a single CPU thread (~8× faster than real time)
  • 🔌 Tiny — ~68 MB; runs on a Raspberry-Pi-class device
  • 🏷️ Entity/brand aware — tuned for Turkish brands, models, and numbers

Installation

pip install mihu-community-stt-tr

Usage

import mihu_stt

# one-shot: transcribe a file (16 kHz mono, or anything soundfile reads)
text = mihu_stt.transcribe("audio.wav")
print(text)

Streaming — feed audio as it arrives and read an updating transcript, with turn-end detection built in:

import mihu_stt

stt = mihu_stt.StreamingSTT()
# pcm16 = 16-bit PCM bytes from your mic / phone line
text, is_final = stt.accept_pcm16(pcm16, sample_rate=16000)
# `text` updates while speech continues; `is_final` turns True at end-of-utterance

Model weights download automatically from Hugging Face (mihuai/mihu-community-stt-tr) the first time and are cached.

Integrations

Drop-in adapters for the common voice-agent stacks (see examples/):

LiveKit Agents — examples/livekit_stt.py:

from livekit.agents import AgentSession
from livekit_stt import MihuSTT
session = AgentSession(stt=MihuSTT(), llm=..., tts=...)

Pipecat — examples/pipecat_stt.py:

from pipecat_stt import MihuSTTService
pipeline = Pipeline([transport.input(), vad, MihuSTTService(), llm, tts, transport.output()])

Benchmarks

Measured in-house under one matched Turkish normalization. Real-human held-out FLEURS-TR (743 clips) and a second real-human set MediaSpeech-TR (200-clip subset), both audited absent from training. Latency on a single CPU thread (AMD EPYC 7282).

System Class Params FLEURS WER MediaSpeech WER CPU RTF
mihu-community-stt-tr streaming · CPU 66 M 13.90% 15.89% 0.128
Vosk-TR streaming · CPU ~50 M 34.09% 31.02% 0.138
Whisper small offline · GPU 244 M 15.12% — 1.098
Whisper large-v3 offline · GPU 1.5 B 7.08% — 6.095

Among streaming, CPU-deployable systems mihu-community-stt-tr more than halves Vosk's error on both real-human sets, matches the four-times-larger offline Whisper-small, and is the only option that is real-time on CPU — it also degrades more gracefully than Vosk under additive noise. A detailed technical report — full methodology, ablations, latency/concurrency study, and the leakage audits — is being prepared and will be shared.

Reproduce the numbers

The evaluation set, references, and scripts are in eval/ — including the text (n-gram) and acoustic (chromaprint) contamination audits used to verify the held-out sets are absent from training.

pip install "mihu-community-stt-tr[eval]"
python eval/run_eval.py --data-dir eval/tts-synthetic

License

mihu Community License — free for research, personal, and limited commercial use. See LICENSE for the full terms. Weights are released under the same license on Hugging Face.

Metadata

Release files for mihu-community-stt-tr 0.1.0

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

Source distribution (sdist)

Source distribution for mihu-community-stt-tr 0.1.0
File Size Uploaded
mihu_community_stt_tr-0.1.0.tar.gz 7.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mihu-community-stt-tr 0.1.0
File Interpreter ABI Platform
mihu_community_stt_tr-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.3 kB

Release files / mihu_community_stt_tr-0.1.0.tar.gz

Download URL mihu_community_stt_tr-0.1.0.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7f1ca3775579c3fb41f32d94c5411263eb46c88bd6bb20982d9687919c850bd1
BLAKE2b-256 checksum
How to use checksums
6f9ddfdeed911e57f7c25bb34153758f95f7c4082d3ffa56d4f1163c7d22b416
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Release files / mihu_community_stt_tr-0.1.0-py3-none-any.whl

Download URL mihu_community_stt_tr-0.1.0-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45afa78a5f8cea4ab683becfebf3d42c6d5916273c3f1a75f58814713b7fbd3a
BLAKE2b-256 checksum
How to use checksums
5f2847012491d8d2cc0f879de28f23cd847b2dce9f1cd98d0f2f2b34370701be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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