9 puan yazan GN⁺ 2026-03-06 | 1 yorum | WhatsApp'ta paylaş
  • Apple Silicon üzerinde Swift/MLX ile geliştirilen PersonaPlex 7B modeli, gerçek zamanlı çift yönlü sesli diyalog desteği sunuyor
  • Mevcut ASR→LLM→TTS üç aşamalı ses işlem hattını tek bir modelde birleştirerek, metne dönüştürmeden ses girişini ve çıkışını doğrudan işliyor
  • 4 bit quantization ile model boyutu 16.7GB'tan 5.3GB'a düşürülürken, 68ms/step(RTF 0.87) ile gerçek zamandan daha hızlı işleme hızı elde ediliyor
  • Mimi ses codec'i ve Depformer yapısı kullanılarak ses kalitesinde düşüş olmadan verimli streaming sağlanıyor
  • Swift yerel ortamında sunucusuz çalışıyor ve sesli asistanlar ile konuşma tabanlı ajan geliştirme için önemli bir temel teknoloji niteliği taşıyor

qwen3-asr-swift ve PersonaPlex 7B entegrasyonu

  • qwen3-asr-swift kütüphanesi, Apple Silicon üzerinde NVIDIA PersonaPlex 7B entegrasyonu ile çift yönlü sesli diyalog (full-duplex speech-to-speech) desteği sunuyor
    • Giriş sesini gerçek zamanlı işlerken aynı anda yanıt sesini üretiyor
    • ASR, TTS, çok dilli sentez özelliklerini içeren birleşik bir ses işleme kütüphanesine genişletildi
  • Modelin 4 bit quantization uygulanmış 5.3GB sürümü, Hugging Face üzerindeki aufklarer/PersonaPlex-7B-MLX-4bit üzerinden sunuluyor

Geleneksel ses işlem hattının birleştirilmesi

  • Geleneksel sesli asistanlar ASR → LLM → TTS şeklinde üç aşamalı bir yapıya sahip ve her aşamada gecikme (latency) ile duygu kaybı yaşanıyor
  • PersonaPlex bunu tek bir modelde birleştirerek ses token'larını (audio tokens) doğrudan işliyor
    • Sesi 17 paralel akış (12.5Hz) ile gerçek zamanlı dönüştürüyor
    • Kyutai'nin Moshi mimarisi temel alınarak 18 ses ön ayarı ve role dayalı sistem prompt'ları destekleniyor

Model yapısı ve dönüşüm

  • Orijinal 16.7GB PyTorch checkpoint dosyası, MLX için optimize edilmiş safetensors biçimine dönüştürüldü
    • Dönüştürme betiği (convert_personaplex.py), ağırlık sınıflandırma, 4 bit quantization, ön ayar çıkarma ve Hugging Face yüklemesini otomatik olarak gerçekleştiriyor
  • Temporal Transformer(7B parametre) ile Depformer birlikte 4 bit'e sıkıştırıldı
    • Depformer, adım bazlı ağırlık geçişi (MultiLinear) yapısını kullanarak 2.4GB → 650MB seviyesine indirildi
    • Kalite kaybı olmadan 3.7 kat alan tasarrufu sağlandı

Ses işleme hattı

  • Mimi Encoder/Decoder aracılığıyla 24kHz ses, 16 codebook token'ına dönüştürülüyor
    • Temporal Transformer, kullanıcı ve ajan ses akışlarını birleşik biçimde işliyor
    • Depformer, ajan ses token'larını 16 adımda üretiyor
    • Mimi Decoder bunları yeniden 24kHz ses olarak geri oluşturuyor
  • Mimi codec'i, KV cache, RoPE, SwiGLU, RMSNorm gibi mevcut TTS modellerindeki bileşenler aynen yeniden kullanılıyor

Sistem prompt'ları ve diyalog kontrolü

  • PersonaPlex, metin tabanlı sistem prompt'ları ile konuşma stilini kontrol ediyor
    • Prompt olmadığında model konu dışına çıkabiliyor veya fazla uzun yanıt verebiliyor
    • CLI ya da API üzerinden assistant, customer service, teacher gibi ön ayarlar seçilebiliyor
    • Aynı soruda bile prompt olup olmamasına göre yanıt kalitesi ciddi biçimde değişiyor

Performans ve gerçek zamanlı işleme

  • M2 Max(64GB) ortamında 68ms/step, RTF 0.87 ile gerçek zamandan daha hızlı işleme sağlanıyor
    • 80ms frame bütçesi (12.5Hz) içinde kararlı biçimde çalışıyor
  • ASR, TTS, Speech-to-Speech tek bir kütüphane içinde entegre biçimde test edilebiliyor
    • E2E doğrulama, yanıt sesini ASR ile yeniden metne çevirerek konu tutarlılığını kontrol ediyor

Streaming ve optimizasyon

  • respondStream() API'si, 2 saniyelik ses parçalarını gerçek zamanlı olarak üretiyor
    • AsyncThrowingStream<AudioChunk> biçiminde anında oynatılabiliyor
  • Dört ana optimizasyon:
    • eval() birleştirmesi ile GPU senkronizasyonunun azaltılması
    • Bulk audio extraction ile decode verimliliğinin artırılması
    • Prefill batching ile ilk aşamada paralel işleme
    • Temporal transformer derlemesi ile 450'den fazla Metal kernel çağrısının optimize edilmesi
  • --compile bayrağı veya model.warmUp() ile kernel fusion etkinleştirilebiliyor

Çalıştırma ve dağıtım

  • GitHub deposu: ivan-digital/qwen3-asr-swift
    • swift build -c release ile derlendikten sonra CLI komutlarıyla ASR, TTS, Speech-to-Speech çalıştırılabiliyor
    • İlk çalıştırmada yaklaşık 5.3GB model indirme gerekiyor
  • MLX framework tabanlı yapısıyla Python veya sunucu olmadan Swift yerel ortamında tamamen çalışıyor

Teknik önemi

  • Apple Silicon'un birleşik bellek yapısı ve Metal hızlandırması kullanılarak yüksek performanslı ses modellerinin cihaz üzerinde çalıştırılabildiği gösteriliyor
  • Tek model tabanlı gerçek zamanlı sesli diyalog sayesinde yapay zeka asistanı, çağrı merkezi ve eğitim amaçlı ses arayüzleri gibi çeşitli uygulama alanlarının önü açılıyor
  • NVIDIA, Kyutai, Alibaba Qwen, FunAudioLLM, Apple MLX gibi birden fazla açık kaynak ekosisteminin entegre başarısı olarak değerlendiriliyor

1 yorum

 
GN⁺ 2026-03-06
Hacker News yorumları
  • Bu projeyi gerçekten çok beğendim. Daha önce PersonaPlex’i blackwell cihazında çalıştırmayı denemiş ama başaramamıştım; bu kez Mac’te denemeyi planlıyorum
    Ses ajanlarıyla epey uzun süredir uğraşan biri olarak birkaç dikkat edilmesi gereken nokta var. VAD→ASR→LLM→TTS pipeline’ı da RTT 1 saniyenin altındaysa gerçek zamanlı gibi hissettiriyor. Kendi projem ova ile voice-agent ve parakeet.cpp gibi örneklere bakılabilir
    PersonaPlex topluluğuyla konuştuğumda, tam anlamıyla full-duplex yapının doğruluk ve performans açısından hâlâ zor olduğu ve eğitiminin de karmaşık olduğu söylendi. Buna karşılık ASR→LLM→TTS yapısı modüler olduğu için küçük LLM ile büyük LLM’i, yerel ve API tabanlı endpoint’leri esnek biçimde karıştırıp eşleştirme avantajı sunuyor

    • Ben de kişisel olarak bir ses ajanı geliştiriyorum, o yüzden mutlaka bu konuda konuşmak isterim. Şu anda full-duplex pipeline’ı bir agentic framework içine nasıl entegre edebileceğimi düşünüyorum
      Mevcut STT→LLM→TTS yapısı araç çağırma, gelişmiş bağlam yönetimi, RAG gibi yapılarla iyi uyum sağlıyor. İnsanla doğrudan konuşan ajan ile iç alt ajanları ayırarak gecikmeyi ve bağlam yükünü azaltma yaklaşımı iyi çalışıyor
      Full-duplex yapı daha dinamik hissettiriyor ama bunu gerçek bir ses ajanına pratikte nasıl entegre edeceğim konusunda hâlâ net bir fikrim yok. Discord’da fikir alışverişi yapmak isterim
    • Bu başlığın özü full-duplex ile composable pipeline arasında bir karşıtlık gibi görünüyor ama gerçekte iki yapının aynı anda çalışması gerekiyor. Bu kütüphane zaten bunun yaklaşık yarısına gelmiş durumda
      qwen3-asr-swift, ASR, TTS ve PersonaPlex’i tek bir Swift paketi içinde topladığı için gerekli bileşenlerin hepsi zaten mevcut. PersonaPlex düşük gecikmeli backchanneling ve doğal turn-taking işini üstlenirken, ayrı bir LLM araç çağırmayı yapıyor
      Sorun bu ikisinin orkestrasyonu. “Beynin” ne zaman “ağzın” üstüne yazacağı, PersonaPlex’in doğrulanmamış cevapları özgüvenle söylemesini nasıl engelleyeceğimiz ve araç sonucu mevcut ifadeyle çakıştığında bunun nasıl ele alınacağı hâlâ çözülmemiş konular
    • Bu pipeline’a tamamen katılıyorum. Küçük bir modelle anlık yanıt üretirken aynı anda araç çağırma ya da daha akıllı bir modele yönlendirme yapılabilir. Hızlı asenkron yanıtlar ile araç çağırmayı paralel işleyen yapı harika
    • Ben de hâlâ composable pipeline yapısını tercih ediyorum. Büyük ölçekli hizmetlerde maliyet veya kaliteye göre LLM değiştirebilme esnekliği çok büyük avantaj
  • Bu proje ilginç ama şahsen 7B yerel model içinde araç çağırma özelliği olmasını isterdim. Şu anki sürüm sadece wav dosyası alan bir proof of concept düzeyinde

    • Ben bir fork alıp paralelde başka bir LLM çalıştıracak şekilde değiştirerek araç çağırma zamanını kestirmesini sağladım. Benim sürümüm ışık kontrolü gibi basit görevlerde iyi çalışıyor. Kod güncellemesi burada
    • /Examples/PersonaPlexDemo klasöründe tur tabanlı konuşma demosu bulunuyor. Ancak gerçek zamanlı dönüştürme henüz uygulanmış değil
    • Sadece wav dosyası kabul ettiği yorumu biraz yanlış anlaşılma. Elinizde ses buffer’ı olması yeterli ve streaming desteği de planlanıyor. ASR, streaming TTS ve çok dilli sentez yönünde ilerleyen çizgiye bakınca, PersonaPlex’in yönü açıkça streaming ses işleme
    • İdeal olarak telefonda PWA + WebRTC ile PC/Mac üzerindeki modele bağlanan bir yapı güzel olurdu. Livekit kullanılırsa karmaşık kısımların çoğu çözülüyor
    • NVIDIA/personaplex aslında gerçekten interaktif çalışıyor
  • Yazının LLM yazım stili fazla yapay hissettirdiği için projenin kalitesinden şüphe duydum

    • Ama AI araştırmacılarının LLM’i her yerde kullanması gayet doğal. Yapay zekaya tutkusu olan biri bunu zaten yapar
    • Hangi açıdan LLM’in yazdığı bir metin gibi geldiğini merak ettim. Diyagramları anlarım ama metinde tam olarak hangi kısım öyle hissettirdi?
    • Ben tam tersine, AI tarafından yazılmış metinleri daha rahat okuyorum. İnsanlar çoğu zaman gereksiz uzun yazıyor ama AI bilgiyi kolay sindirilecek şekilde düzenliyor
    • Şahsen AI tarafından üretilmiş grafiklerden ya da çizelgelerden daha çok hoşlanmıyorum
  • Demoyu M1 Max MacBook’ta çalıştırdım ama yanıtın gelmesi 10 saniyeden uzun sürdü ve içerik de alakasızdı

    • Aslında 7B sınıfı full-duplex modellerin sorunu, zeka seviyesi düşük olduğu için araç çağıramamaları. ChatGPT ses modu gibi web araması yapıyormuş ya da bağlantı okuyormuş gibi görünme sorunları da var
      Tabii belirli kullanım senaryolarında işe yarayabilir ama o tarafı daha iyi öğrenmek isterim
    • Alıntılanan yazıya göre PersonaPlex, konuşma stilini system prompt ile kontrol edebiliyor. Prompt olmadan çalıştırıldığında konudan sapıyor ama prompt verilince çok daha tutarlı yanıt veriyor
    • Context size’ın ne kadar olduğunu merak ediyorum
    • RTX 5070 seviyesinde bir GPU’da insandan daha hızlı tepki verdi
  • Bu teknoloji epey tehlikeli görünüyor. İlgili haber: The Guardian haberi

    • LLM’i danışman gibi kullandığınızda, önceki girdiyi biraz değiştirip yeniden yanıt üretmesini sağlayınca ne kadar önyargılı olduğunu hemen fark ediyorsunuz. İnsan gibi görünüyor ama gerçekte girdiye aşırı bağımlı
    • Kullanıcılara LLM’in aslında bir document completer olduğunu öğretirseniz sorunların çoğu çözülür gibi geliyor. Bazı ürünler bunu gizleyip daha insansı görünmeye çalışıyor ama bu ters etki yaratıyor
    • Haber bunu iyi özetliyor. Kullanıcıya “seni seviyorum” deyip intihara teşvik eden chatbot vakaları oldu; benzer bir olay nedeniyle Google’a dava da açıldı
  • Daha önce gördüğüm en iyi full-duplex demo Sesame’di. Şimdi ne durumda olduğunu merak ediyorum (bağlantı)

    • Ben unmute.sh’i de oldukça keyifle kullanmıştım
    • Gerçekten inanması zor derecede cilalıydı
  • Ben whisperKit hayranıyım. Yakın zamanda TTS özelliği eklendi ve çok daha iyi oldu. Speaker diarization ve özel sözlük desteği de var
    Tek bir cihazda 4 modeli aynı anda gerçek zamanlı çalıştıran bir yük testi de mevcut:

    • Qwen3-TTS (metin→ses)
    • Parakeet v2 (ses→metin)
    • Canary v2 (çok dilli STT/çeviri)
    • Sortformer (konuşmacı ayrımı)
      Test videosu
  • Telefonumun spam aramaları bu modele otomatik yönlendirdiği bir sistem yapmak istiyorum; böylece sahte kişisel bilgileri yavaş yavaş verip araya hava durumu ya da spor sohbeti sıkıştırabilir

    • Bunu spam mesajlara da uygulasak çok eğlenceli olurdu. “Hava yüzünden bulaşık makinesi bozuldu. Çok fazla klor yoga çantası olduğu için tabaklar hemen aşınıyor” gibi saçma cevapları otomatikleştirmek harika olur
  • PersonaPlex’i giden aramalar için fine-tune etmeye çalışıyorum. Kyutai/moshi-finetune’un LoRA yaklaşımını uyguladım ama çalışması için scaling factor’ü 5’e çıkarmam gerekiyor ve bu da başka kısımları bozuyor
    GPT-5.3 Codex, kod incelemesi sırasında konuşmacı A/B’nin ters döndüğünü söylediği için veri setini yeniden üretiyorum.
    GitHub hesabımda(runvnc) moshi-finetune ve personaplex sürümleri var; Gradio uygulaması ile veri üretimi ve eğitim yapılabiliyor. Henüz işe yarar sonuç çıkmadı

  • Ben MacWhisper’ı sık kullanıyorum. Whisper Large v3 Turbo modeli fena değil ama gecikme birikiyor. Çevrimiçi bir LLM ile sonradan işleyince kalite artıyor ama hız düşüyor

    • MacWhisper zaten Parakeet v2 gibi 10 kat daha hızlı modelleri destekliyor. Denediniz mi diye merak ettim
    • Ben Handy içinde Parakeet V2’yi STT için, Cerebras içindeki gpt-oss-120b’yi de son işleme için kullanıyorum ve memnunum
    • Handy’nin desteklediği modeller de denenmeye değer. Kalite Whisper-large kadar iyi değil ama hızları çok yüksek
    • Fluid Audio’nun Parakeet TDT CoreML optimize modeli şimdiye kadar kullandıklarım içinde en hızlısı. Bunun sebebi NPU offloading
      Model bağlantısı, FluidAudio GitHub
      Discord topluluğu da aktif ve VAD, TTS, EOU gibi yeni özellikler hakkında yoğun tartışmalar var
    • Handy + Parakeet v2 kombinasyonu gerçekten mükemmel