41 puan yazan GN⁺ 2025-04-22 | 13 yorum | WhatsApp'ta paylaş
  • Dia, metin diyaloglarına dayalı olarak yüksek kaliteli konuşma sesi üreten 1.6B parametreli bir TTS modeli olup, ses prompt'larıyla duygu ve ton kontrolüne olanak tanır
  • Nari Labs tarafından geliştirildi; "Nari" saf Korece'de "zambak" anlamına gelir
  • Konuşmacılar [S1], [S2] ile belirtilebilir ve (laughs), (coughs) gibi sözsüz ifadeler de üretilebilir; ayrıca basit ses klonlamayı da destekler
  • HuggingFace üzerinde doğrudan çalıştırılabilir; ek kurulum olmadan tarayıcı tabanlı test ve ZeroGPU desteği de sunulur
  • Şu anda yalnızca İngilizce destekleniyor, 10GB VRAM veya üzeri gerekiyor; ileride kuantize modeller ve çok dilli destek planlanıyor

Dia: diyalog odaklı konuşma sentezi modeli

  • Dia, Nari Labs tarafından geliştirilen 1.6B parametreli açık ağırlıklı bir TTS modeli
  • Geleneksel TTS'lerde olduğu gibi konuşmacı başına ayrı ses üretmek yerine, tüm diyaloğu tek seferde üretme yaklaşımını kullanır
  • Demo: Hugging Face Space
  • Kod: GitHub deposu

Başlıca özellikler

Diyalog tabanlı ses üretimi

  • Metin içinde [S1], [S2] ile konuşmacı belirtilebilir
  • (laughs), (coughs) gibi sözsüz sesler de metinle eklenebilir
  • Duygu, ton ve ses stili ses prompt'larıyla belirtilebilir

Ses klonlama

  • Örnek ses ile karşılık gelen diyalog metni birlikte verildiğinde ses klonlama özelliği etkinleşir
  • Hugging Face Space üzerinde ses yükleyerek denenebilir
  • Ayrıntılı örnekler için example/voice_clone.py dosyasına bakın

Kütüphane olarak kullanım

from dia.model import Dia  
model = Dia.from_pretrained("nari-labs/Dia-1.6B")  
output = model.generate(text)  
  • soundfile ile MP3 çıktısı alınabilir
  • PyPI paketi ve CLI aracı da yakında sunulacak

Kurulum ve çalıştırma

Hızlı çalıştırma yöntemi (Gradio tabanlı)

git clone https://github.com/nari-labs/dia.git  
cd dia && uv run app.py  

Ya da uv yoksa:

cd dia  
python -m venv .venv  
source .venv/bin/activate  
pip install uv  
uv run app.py  
  • Çalıştırma sırasında Descript Audio Codec otomatik olarak indirilir
  • Her çalıştırmada ses rastgele üretilir; tutarlılık için prompt veya seed'in sabitlenmesi gerekir

Performans ve donanım gereksinimleri

  • Test ortamı: PyTorch 2.0+, CUDA 12.6 veya üzeri
  • Önerilen VRAM: 10GB veya üzeri; yakında kuantize sürüm yayınlanması planlanıyor
  • A4000 GPU üzerinde yaklaşık 40 token/saniye üretim (86 token = yaklaşık 1 saniye ses)
  • torch.compile kullanıldığında hız artışı sağlanabilir

Gelecek planları ve TODO

  • Docker desteği
  • Çıkarım hızının optimize edilmesi
  • Model kuantizasyonu (bellek verimliliği)
  • Çok dilli destek ve daha fazla konuşmacı desteği gibi genişletmeler değerlendiriliyor

Lisans ve kullanım kısıtlamaları

  • Apache 2.0 lisansı uygulanıyor
  • Yasak kullanım örnekleri:
    • Başkalarının sesini izin almadan üretmek (Identity Misuse)
    • Yanlış bilgi üretmek (Fake News vb.)
    • Yasadışı veya kötü niyetli amaçlar

Topluluk ve katkı

  • Araştırma ekibi: 1 tam zamanlı + 1 yarı zamanlı kişiden oluşan küçük bir ekip
  • Discord sunucusu üzerinden geri bildirim paylaşılabilir ve özellik önerileri yapılabilir
  • Katkıda bulunanlarla birlikte büyüyen açık kaynak odaklı bir proje

Referanslar ve teknik temel

  • Ses modeli: SoundStorm, Parakeet, Descript Audio Codec'ten ilham alıyor
  • Hesaplama desteği: Google TPU Research Cloud, HuggingFace ZeroGPU programı
  • "Nari" saf Korece'de "zambak" anlamına gelir

13 yorum

 
reagea0 2025-04-24

Vay, bu gerçekten çok iyi. İki kişi olarak bunu yaparken eğitim verisini bile güvence altına almak kolay olmamış olmalı; gerçekten etkileyicisiniz.

 
princox 2025-04-24

Bunu yapan kişi bizzat ortaya çıkmış~ Ben de bir kez denemeliyim galiba

 
kleinstein 2025-04-22

Koreceyi de merakla bekliyorum!!

 
toebee 2025-04-22

Ah, bunu ben hazırlayıp paylaşacaktım ama siz benden hızlı davranıp zaten paylaşmışsınız. Teşekkürler.

 
winterjung 2025-04-22

Vay, demek bunu bir Koreli yapmış! Demo sayfasında karşılaştırarak dinleyince performansın gerçekten çok iyi olduğunu gördüm. Sesli bir prompt verirseniz o sesi referans alıyor mu? s1, s2 diye ayrılan örnekleri de ayrı ayrı vermek gerekip gerekmediğini merak ediyorum.

 
toebee 2025-04-22

Teşekkürler! Ses istemine [S1] [S2] şeklinde ayrılmış örnekler eklemeniz gerekmez. Yalnızca [S1] ekleyebilirsiniz, ya da hem [S1] hem [S2] eklemeniz de sorun olmaz. Sadece [S1] her zaman önce gelmesi kuralına uymanız yeterlidir.

 
xguru 2025-04-22

Hacker News'ta çok upvote alınca GN+ bunu otomatik olarak özetlemiş. Ben de sadece biraz ek düzenleme yaptım.

Destekliyorum!!

 
toebee 2025-04-22

Teşekkürler :))

 
toebee 2025-04-22

Bu benim yaptığım modeldir haha...

 
kgh1379 2025-04-22

Harikasınız!! Çok iyi kullanacağım T_T/

 
toebee 2025-04-22

Teşekkürler :)) GitHub'da yıldız vermenizi rica ederim haha

 
kgh1379 2025-04-22

Tamamlandı! Yakında Korece haberleri de görmek isterim!! Teşekkürler

 
GN⁺ 2025-04-22
Hacker News görüşleri

Teknik hayranlık ve övgü

  • Sadece iki kişinin 3 ayda yaptığı bir proje olmasına rağmen çok yüksek kalite sunuyor
  • Büyük şirketlere kıyasla küçük bir ekibin ses modeli alanında rekabetçi sonuçlar üretmesi etkileyici bulunuyor
  • "Gerçek insan gibi geliyor", "TTS'nin geleceğini görüyormuşum gibi", "örnekler şaşırtıcı" gibi tepkiler var
  • Birçok kullanıcı özellikle The Office sahnelerini temel alan ses örneklerini çok etkileyici buluyor

Ses kalitesi ve özelliklerine dair değerlendirmeler

  • Çoğu kişi "insan gibi doğal", "duyguyu iyi veriyor", "kahkaha, öksürük, bağırma gibi detaylar canlı" şeklinde olumlu tepki veriyor
  • Bazıları abartılı duygu, reklam gibi hissettirmesi, başlangıçtaki gürültü gibi eksileri de belirtiyor
  • Belirli bir seslendirme sanatçısı stiline (ör. NPR tonu) ya da eski YouTube flash animasyon havasına benzediğini söyleyenler de var

Demo kullanım deneyimleri ve doğrudan testler

  • M2 MacBook dahil çeşitli donanımlarda başarıyla çalıştırıldığına dair örnekler paylaşılıyor
  • HuggingFace Spaces üzerinden çevrimiçi olarak hemen denenebilmesi beğeniliyor
  • Docker ve CUDA container'larıyla da kolayca çalıştırılabildiğine dair geri bildirimler var

Sesli kitap ve roman kullanımıyla ilgili tartışmalar

  • Farklı kullanıcılar sesli kitap üretimi, karakter bazlı ayrı seslendirme, duygusu güçlü diyaloglar gibi alanlardaki potansiyeli tartışıyor
  • Buna karşılık bazıları "yine de insan seslendirme sanatçısı daha iyi" derken, "iyi bir ses sanatçısı esere kendine özgü bir doku katar" görüşünü savunuyor
  • Yapay zekanın duygu ve karakteri doğru yorumlaması hâlinde daha da iyi olabileceğini söyleyen karşı görüşler de mevcut

Ses senteziyle ilgili özellik talepleri ve sorular

  • Şu özellikler/destekler talep ediliyor:
    • Çok dilli destek (Çince, Fince vb.)
    • 2'den fazla kişinin yer aldığı konuşma desteği
    • Ses klonlama (kendi sesi)
    • Kelime düzeyinde zamanlama bilgisi
    • AMD GPU desteği
    • Streaming output desteği
  • Geliştirici tarafı ise özelliklere göre bazı çalışmaların sürdüğünü veya ileride destekleneceğini paylaşıyor

Lisans ve açık kaynakla ilgili konular

  • Apache 2.0 ile dağıtılıyor; geliştirici, başlangıçtaki ifadenin (yalnızca araştırma amaçlı) aslında "shady stuff yapmayın" anlamına geldiğini bizzat açıklıyor
  • Bazı kullanıcılar bunun kafa karıştırabileceğini, bu yüzden daha açık yazılması gerektiğini belirtiyor

Eğitim verisi ve eğitim süreciyle ilgili sorular

  • Birçok kullanıcı "veri kümesi nereden geldi", "nasıl eğitildi" diye soruyor
  • Geliştirici tarafı teknik raporda üst düzey bir genel bakış sunmayı planladığını söylüyor

İsim çakışması tartışması

  • GNOME'un diyagram aracı (Dia), diabrowser.com vb. ile isim çakışması olduğu belirtiliyor
  • "Yapay zeka projeleri mevcut açık kaynak isimlerini bilerek sahipleniyor" şeklinde eleştiriler de var
  • Buna karşılık geliştirici tarafı "bilmiyorduk, ileride daha net ayıracağız" diye yanıt veriyor

Kullanılabilirlik ve iyileştirme geri bildirimleri

  • Demo sitesinin Notion tabanlı olduğu için yavaş olduğu ve link paylaşımının kullanışsız olduğu söyleniyor → GitHub Pages gibi daha hafif bir sayfa öneriliyor
  • "join waitlist" ifadesinin kafa karıştırması, gereksiz venv belirtimi gibi README iyileştirme önerileri yapılıyor
  • Sunucu önbelleği kullanılmadığı için modelin her seferinde yeniden indirilmesi gibi yapılandırma geri bildirimleri var

Geliştirme/uygulama ve entegrasyon örnekleri

  • E5-F2, Sesame-TTS gibi diğer TTS modelleriyle karşılaştırmalar yapılıyor
  • Belirli alanlarda (tıbbi terimler vb.) doğruluğun önemli olduğunu vurgulayan kullanıcılar var
  • iOS üzerinde çalıştırmak için codec bilgisi soruluyor ve olası kullanım alanları tartışılıyor
  • Gerçek hizmetlerde kullanım için streaming ve ilk yanıt süresi gibi unsurların önemli olduğu paylaşılıyor

Diğer

  • HuggingFace bağlantı hataları veya erişim sorunlarıyla ilgili yönlendirmeler ve düzeltmeler paylaşılıyor
  • Demo arayüzündeki yer imi özelliği gibi küçük ek işlevler fark ediliyor
  • Kullanıcıların donanım kısıtları ile TTS kullanımına dair genel beklenti ve endişeleri de birlikte dile getiriliyor