Skip to content

Repository files navigation

title Yazıdan Sese
emoji 🎤
colorFrom blue
colorTo green
sdk gradio
sdk_version 6.19.0
python_version 3.13
app_file main.py
pinned false

Yazıdan Sese

Yazıdan Sese

Türkçe metinleri yüksek kaliteli ses kayıtlarına dönüştüren web uygulaması.

Facebook'un MMS-TTS (VITS) modeli olan facebook/mms-tts-tur ile metinden konuşmaya (TTS) dönüşümü sağlar.

Uygulama, şu anda tek bir sabit model kullanır; arayüzde model seçimi bulunmaz. Bu yapı, Hugging Face Space üzerinde daha kararlı bir deneyim sunmak için tercih edilmiştir.

Özellikler

  • Türkçe Desteği: facebook/mms-tts-tur modeli ile optimize edilmiş doğal ses sentezi.
  • Hız Kontrolü: Konuşma hızını 0.5x ile 2.0x arasında ayarlayabilme.
  • Uzun Metin İşleme: Metni anlamlı parçalara (chunk) bölerek prosodiyi korur ve bellek hatalarını önler.
  • Deterministik Çıktı: Seed (tohum) değeri ile aynı metinden her zaman aynı sesin üretilmesini sağlar.
  • Hızlı Kurulum: uv ile saniyeler içinde çalışma ortamı hazırlama.
  • Web Arayüzü: Gradio tabanlı kullanıcı dostu arayüz.

Kurulum

Uygulamayı çalıştırmanın en kolay yolu uv kullanmaktır. Bu araç, gerekli olan Python sürümünü ve kütüphaneleri sizin yerinize otomatik olarak ayarlar.

1. Adım: uv Paket Yöneticisini Kurun

  • Windows (PowerShell):
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • macOS / Linux:
    curl -LsSf https://astral.sh/uv/install.sh | sh

2. Adım: Uygulamayı İndirin

Bu projeyi ZIP olarak indirin ve bir klasöre çıkartın. Terminali (veya Komut İstemi'ni) bu klasörün içinde açın.


Kullanım

Uygulamayı Başlatma

Terminalde şu komutu yazmanız yeterlidir:

uv run python main.py

Seçenekler

Parametre Açıklama Varsayılan
--port Web arayüzü portu 7860
--share Gradio paylaşım linki oluşturur False

Geliştirme

Geliştirme ortamını kurma

Geliştirme bağımlılıklarını (Ruff linter vb.) yüklemek için:

uv sync --all-groups

Hot reload ile çalıştırma

uv run gradio main.py

Kod kontrol etme (linting)

uv run ruff check app main.py
uv run ruff format app main.py

Proje Yapısı

├── main.py               # Giriş noktası
├── pyproject.toml
└── README.md

Bağımlılıklar

Üretim Bağımlılıkları

Paket Görev
transformers Model yükleme ve çıkarım
torch Derin öğrenme arka ucu
nltk Metin işleme ve cümle bölme
gradio Web arayüzü
pydub Ses işleme
tenacity Retry mekanizması
langdetect Dil algılama
num2words Sayıdan kelimeye dönüştürme

Geliştirme Bağımlılıkları

Paket Görev
ruff Python linter ve formatter
pre-commit Git hook yönetimi

HuggingFace Space Deployment

Öncelikle space deposu ek remote olarak eklenmeli:

git remote add space https://huggingface.co/spaces/tekrei/yazidansese

Daha sonra yeni sürümler de oraya itilebilir:

git push --force space main

İtmeden önce bağımlılıklar yenilenmelidir:

./generate_requirements.sh

Bu komut requirements.txt dosyasını uv.lock ve pyproject.toml ile senkronize eder.

Not: Bazı Hugging Face TTS modelleri tokenizer backend'i olarak sentencepiece ve tiktoken gerektirebilir. Bu paketler Space kurulumunda dahil edilmelidir; aksi halde model yükleme sırasında tokenizer hatası alınabilir.

Yapılandırma bilgileri için: https://huggingface.co/docs/hub/spaces-config-reference

sdk_version, requirements.txt içindeki Gradio sürümüne eşit olmalıdır.

İşlem başarılı olursa uygulamaya şuradan erişilebilir: https://huggingface.co/spaces/tekrei/yazidansese

About

Türkçe metinleri yüksek kaliteli ses kayıtlarına dönüştüren web uygulaması.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages