---
language:
- tr
license: apache-2.0
tags:
- automatic-speech-recognition
- asr
- whisper
- turkish
- speech-recognition
- faster-whisper
- ctranslate2
- cpu-inference
datasets:
- ysdede/commonvoice_17_tr_fixed
- emre/Open_SLR108_Turkish_10_hours
metrics:
- wer
- cer
base_model: openai/whisper-base
pipeline_tag: automatic-speech-recognition
thumbnail: ./logo.png
---
# Uran STT Base — CPU-Friendly Turkish Speech Recognition Model
**Uran STT Base**, **Curiosity Technology** tarafından geliştirilen Türkçe odaklı bir otomatik konuşma tanıma modelidir.
Bu repo, **Whisper-base tabanlı Uran modelinin CPU dostu CTranslate2 / faster-whisper formatındaki sürümünü** içerir. Amaç; Türkçe konuşmaları hafif, hızlı ve pratik şekilde yazılı metne dönüştürmek için kullanılabilecek açık, geliştirilebilir ve production’a yakın bir temel sunmaktır.
> **Not:** Bu repo öncelikli olarak `faster-whisper` / `CTranslate2` ile çalıştırılmak üzere hazırlanmıştır.
> Standart Hugging Face `transformers.pipeline()` kullanımı için ayrı bir merged PyTorch / Transformers checkpoint önerilir.
Uran, Curiosity Technology’nin Türkçe yapay zekâ ekosisteminde, [MARS](https://huggingface.co/curiositytech/MARS) dil modeli ailesinin yanında konumlanan ilk konuşma tanıma modelidir.
---
## “Uran” İsminin Anlamı
**Uran**, Türkçe ve Türkî kültürel bağlamda **savaş narası, ortak çağrı, parola, şiar veya bir topluluğu aynı amaç etrafında birleştiren söz** anlamlarıyla ilişkilendirilen güçlü bir kelimedir.
Tarihsel bozkır kültüründe *uran*, yalnızca bir sesleniş değil; aynı zamanda aidiyet, yön, birlik ve harekete geçme çağrısıdır. Bu nedenle Türkçe konuşma tanıma modeli için oldukça anlamlı bir isimdir: **Uran, insan sesini — çağrıyı, komutu, cümleyi ve ifadeyi — yazılı dile dönüştürür.**
Curiosity Technology’nin Türkçe AI ekosisteminde Uran, ses odaklı ilk model olarak konumlanır. MARS ailesi dil ve akıl yürütme tarafını temsil ederken, Uran insan sesini anlayan ve onu makine tarafından işlenebilir metne dönüştüren katmanı temsil eder.
Kısaca:
> **Uran, sesin zekâya dönüşen çağrısıdır.**
---
## Model Özeti
| Alan | Değer |
|---|---|
| Model adı | Uran STT Base |
| Görev | Automatic Speech Recognition / Speech-to-Text |
| Dil | Türkçe |
| Base model | openai/whisper-base |
| Mimari | Whisper-base |
| Fine-tuning yöntemi | LoRA / PEFT |
| Yayınlanan format | CTranslate2 / faster-whisper |
| Önerilen runtime | faster-whisper |
| Hedef kullanım | CPU dostu Türkçe STT |
| Base model parametre sayısı | 74M |
| Eğitim verisi | Yaklaşık 80 saat Türkçe konuşma |
| Lisans | Apache 2.0 |
---
## Model Detayları
- **Base architecture:** Whisper-base
- **Fine-tuning:** LoRA
- **LoRA rank:** 32
- **LoRA alpha:** 64
- **Target modules:** attention projection katmanları ve MLP katmanları
- **Yayınlanan model formatı:** CTranslate2 / faster-whisper
- **Eğitim veri setleri:**
- Common Voice 17 Turkish
- OpenSLR-108 Turkish subset
- **Eğitim donanımı:** Google Colab Pro, NVIDIA L4 24GB
- **Eğitim süresi:** Yaklaşık 5 saat
- **Optimizer:** AdamW
- **Learning rate schedule:** Cosine schedule
- **Model boyutu:**
- CTranslate2 INT8 model: yaklaşık 75MB
---
## Performans
### Common Voice 17 Turkish Test Set
| Metrik | Değer |
|---|---:|
| WER | 38.5% |
| CER | 10.3% |
Değerlendirme konfigürasyonu:
- `beam_size=5`
- Türkçe dil zorlaması
- Transcription task
- Harici language model kullanılmadı
- Dataset’e özel ileri seviye text normalization uygulanmadı
> Common Voice test seti farklı konuşmacılar, kayıt koşulları ve değişken ses kalitesi içerir.
> CER metriği, modelin Türkçe karakter ve kelime yapısını belirli seviyede yakalayabildiğini gösterir. WER değeri ise daha büyük, temiz ve domain odaklı Türkçe konuşma verileriyle geliştirilebilir.
---
## Latency
### CTranslate2 INT8 — 5 saniyelik audio örneği
| Donanım | Latency | RTF |
|---|---:|---:|
| Intel i7 12th Gen CPU | ~250–400ms | ~0.06x |
| CUDA GPU | ~80–120ms | ~0.02x |
> Latency; CPU thread sayısı, audio uzunluğu, VAD ayarı, beam size ve kullanılan donanıma göre değişebilir.
---
## Kurulum
```bash
pip install faster-whisper
```
İsteğe bağlı olarak audio dosyalarını dönüştürmek için:
```bash
pip install ffmpeg-python
```
Sistemde `ffmpeg` kurulu olmalıdır.
Ubuntu için:
```bash
sudo apt update
sudo apt install ffmpeg
```
macOS için:
```bash
brew install ffmpeg
```
---
## Kullanım
### Önerilen Kullanım: faster-whisper / CTranslate2
Bu repo için önerilen kullanım şekli `faster-whisper` üzerindendir.
```python
from faster_whisper import WhisperModel
model = WhisperModel(
"curiositytech/uran-stt-base",
device="cpu",
compute_type="int8",
cpu_threads=4,
)
segments, info = model.transcribe(
"audio.wav",
language="tr",
beam_size=5,
vad_filter=True,
condition_on_previous_text=False,
)
text = " ".join(segment.text.strip() for segment in segments)
print(text)
```
---
### GPU Kullanımı
```python
from faster_whisper import WhisperModel
model = WhisperModel(
"curiositytech/uran-stt-base",
device="cuda",
compute_type="int8_float16",
)
segments, info = model.transcribe(
"audio.wav",
language="tr",
beam_size=5,
vad_filter=True,
condition_on_previous_text=False,
)
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
```
---
## Uzun Ses Dosyaları İçin Örnek
```python
from faster_whisper import WhisperModel
model = WhisperModel(
"curiositytech/uran-stt-base",
device="cpu",
compute_type="int8",
cpu_threads=4,
)
segments, info = model.transcribe(
"long_audio.wav",
language="tr",
beam_size=5,
vad_filter=True,
vad_parameters={
"min_silence_duration_ms": 500,
},
condition_on_previous_text=False,
)
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
```
---
## Transformers / PyTorch Kullanımı Hakkında
Bu repo şu anda **CTranslate2 / faster-whisper formatındaki CPU dostu modeli** içerir.
Standart Hugging Face Transformers kullanımı için aşağıdaki gibi bir repo yapısı gerekir:
```txt
config.json
generation_config.json
model.safetensors
preprocessor_config.json
tokenizer.json
tokenizer_config.json
special_tokens_map.json
vocab.json
merges.txt
```
Bu nedenle aşağıdaki kullanım bu repo için garanti edilmez:
```python
from transformers import pipeline
pipe = pipeline(
"automatic-speech-recognition",
model="curiositytech/uran-stt-base"
)
```
Transformers ile doğrudan kullanım için ayrı bir merged PyTorch checkpoint yayınlanması önerilir:
```txt
curiositytech/uran-stt-base-transformers
```
veya ana repo Transformers formatına taşınacaksa:
```txt
curiositytech/uran-stt-base
```
---
## LoRA Adapter Hakkında
Uran modeli Whisper-base üzerine LoRA / PEFT yöntemiyle fine-tune edilmiştir. Ancak bu repo LoRA adapter reposu değil, **CTranslate2 / faster-whisper inference reposu** olarak kullanılmalıdır.
LoRA adapter modeli ayrı bir repo olarak yayınlanabilir:
```txt
curiositytech/uran-stt-base-lora
```
Örnek PEFT merge akışı:
```python
from transformers import WhisperForConditionalGeneration
from peft import PeftModel
base_model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-base")
adapter_model = PeftModel.from_pretrained(
base_model,
"curiositytech/uran-stt-base-lora"
)
merged_model = adapter_model.merge_and_unload()
```
---
## Eğitim Konfigürasyonu
| Parametre | Değer |
|---|---:|
| Base model | openai/whisper-base |
| LoRA rank | 32 |
| LoRA alpha | 64 |
| LoRA target modules | q_proj, k_proj, v_proj, out_proj, fc1, fc2 |
| Effective batch size | 32 |
| Learning rate | 1e-3 |
| Scheduler | Cosine |
| Warmup steps | 500 |
| Total steps | 8,000 |
| Gradient checkpointing | Enabled |
| Mixed precision | fp16 |
---
## Kullanım Alanları
Uran şu alanlarda kullanılmak üzere geliştirilmiştir:
- Türkçe speech-to-text uygulamaları
- Voice assistant prototipleri
- Çağrı merkezi transkripsiyon deneyleri
- Türkçe ASR araştırmaları
- Edge veya CPU dostu konuşma tanıma sistemleri
- Kiosk, asistan ve kurumsal sesli arayüz prototipleri
- Offline veya düşük maliyetli Türkçe transkripsiyon sistemleri
---
## Limitler
- Model, Whisper-base üzerine kurulduğu için daha büyük Whisper varyantlarına göre kapasitesi sınırlıdır.
- Gürültülü ortamlarda performans düşebilir.
- Havalimanı, AVM, sokak, kalabalık iç mekân gibi ortamlarda hata oranı artabilir.
- Güçlü aksan, lehçe, üst üste konuşma ve teknik terimler transkripsiyon kalitesini etkileyebilir.
- Model öncelikli olarak Türkçe için optimize edilmiştir.
- Whisper’ın çok dilli temeli korunsa da Türkçe dışındaki dillerde kalite garanti edilmez.
- WER değeri daha büyük, temiz ve domain odaklı Türkçe konuşma veri setleriyle geliştirilebilir.
- Bu model speaker diarization yapmaz.
- Noktalama ve büyük/küçük harf kalitesi ses kalitesine göre değişebilir.
---
## Roadmap
| Versiyon | Plan | Hedef |
|---|---|---|
| v2 | ISSAI Turkish Speech Corpus gibi daha büyük Türkçe veri kaynaklarının eklenmesi | Daha düşük WER |
| v3 | Pseudo-labeled Türkçe konuşma verileriyle robustness artırımı | Gürültülü ve gerçek dünya seslerinde daha iyi performans |
| v4 | Whisper-large-v3-turbo + LoRA fine-tuning | Kurumsal seviyede Türkçe ASR kalitesi |
| v5 | Transformers merged checkpoint yayınlama | Hugging Face pipeline ile doğrudan kullanım |
---
## Citation
```bibtex
@misc{uran-whisper-2026,
author = {Curiosity Technology},
title = {Uran STT Base: CPU-Friendly Turkish Whisper-base ASR Model},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/curiositytech/uran-stt-base}},
}
```
---
## Contact
[Curiosity Technology](https://www.curiosity.com.tr) — Istanbul, Türkiye
---
Curiosity Technology Turkish AI ecosystem:
[MARS](https://huggingface.co/curiositytech/MARS) · [MARS-v0.2](https://huggingface.co/curiositytech/MARS-v0.2) · **Uran**