Selam, Livekit'in sunmuş olduğu noise cancellecti...
# ask-ai
a
Selam, Livekit'in sunmuş olduğu noise cancellection self hosted'da kullaanbiliyor muyuz sadece cloud'da mı aktif bunlar?
t
Thanks for reaching out, İbrahim. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Selam — sorunuz için teşekkürler. Sorunuzun “LiveKit’in noise cancellation (gelişmiş gürültü engelleme) özelliğini self-hosted ortamda kullanıp kullanamayacağınız mı?” kısmına yanıt veriyorum. Kısa cevap: • Evet — LiveKit’in enhanced noise cancellation özelliği hem self-hosted hem de LiveKit Cloud ortamlarında kullanılabilir. Önemli detaylar: • Self-hosted: Bu durumda özellik ekstra eklentiler (pluginler) ve modellerin agent sunucusunda çalıştırılmasını gerektirir. Yani bu altyapıyı kurmak, pluginleri ve ilgili VAD/model dosyalarını agent üzerinde deploy etmek sizin sorumluluğunuzdadır. • Cloud: LiveKit Cloud’da bu özellik yönetilen (managed) şekilde gelir; ekstra kurulum yapmanıza gerek yoktur. • Performans: Noise cancellation modelleri yerel olarak çalıştırıldığında CPU kullanımı artabilir. Self-hosted dağıtımda kaynak planlamasını buna göre yapmanız gerekir. İsterseniz yardımcı olayım: • Self-hosted kuruluma başlamak istiyorsanız, hangi altyapıyı kullanıyorsunuz? (ör. Docker Compose, Kubernetes, VM) • Hangi boyutta işlemci/taşıma kapaseteniz var ve hedef kaç eşzamanlı ses akışı desteklemek istiyorsunuz? Bunları paylaşırsanız size adım adım kuruluma yönelik daha spesifik yönergeler ve kaynaklar sunayım. Sources: Turns overview | LiveKit Documentation | Agent session | LiveKit Documentation | server-sdk-ruby | livekit/livekit_composite | DeepWiki | Pricing | LiveKit
a
sadece self-hosted tarafında neleri kullanaiblirim örnek kodları verir misin
t
Selam — sorunuzun “self-hosted ortamda hangi noise cancellation (gelişmiş gürültü azaltma) özelliklerini kullanabilirim ve örnek kodlar verebilir misiniz?” kısmına yanıt veriyorum. Kısa özet: • Self-hosted ortamda LiveKit’in enhanced noise cancellation özelliklerini kullanabilirsiniz. • Self-hosted’da bu işlem agent tarafında çalışan pluginler ve modeller aracılığıyla yapılır; kurulumu ve model yönetimini siz yaparsınız. • Krisp entegrasyonu self-hosted’de kullanılamaz (yalnızca Cloud/Enterprise desteklenir). • Modeller CPU’da çalışır; kaynak planlaması (çekirdek/RAM) önemlidir. Aşağıda self-hosted için hangi seçenekler olduğu, önemli kurulum adımları ve örnek kodlar (Python & Node.js) yer alıyor. Self-hosted’ta kullanılabilen yaklaşımlar • Agent-side noise cancellation: LiveKit’in BVC/BVCTelephony gibi modellerini agent üzerinde çalıştırıp gelen sesleri temizlersiniz. Bu en yaygın ve önerilen yöntem. • Frontend (tarayıcı) temel DSP: Tarayıcı tarafındaki
noise_suppression
ve
echo_cancellation
gibi WebRTC ayarları kullanılabilir; gelişmiş modeller kadar etkili değildir. • Krisp: Self-hosted’da desteklenmez. Önemli kurulum adımları 1. Agent üzerinde gerekli plugin ve model dosyalarını indirin ve deploy edin. 2. Agent’ın çalıştığı sunucuda yeterli CPU ve bellek sağlayın (gürültü azaltma CPU yoğun olabilir). 3. Agent konfigürasyonunda ilgili noise cancellation filter’ı etkinleştirin (örnek kodlarda gösterildi). Örnek — Python (agent-side)
Copy code
from livekit import rtc
from livekit.agents import AgentSession, room_io
from livekit.plugins import noise_cancellation

async def on_participant_ready(ctx):
    filter = (
        noise_cancellation.BVCTelephony()  # SIP / telephony için dar bant
        if ctx.participant.kind == rtc.ParticipantKind.PARTICIPANT_KIND_SIP
        else noise_cancellation.BVC()      # WebRTC için tam bant
    )

    session = AgentSession(
        stt="deepgram/nova-2",
        llm="openai/gpt-4o",
        tts="elevenlabs/flow",
    )

    await session.start(
        room=ctx.room,
        agent=None,
        room_options=room_io.RoomOptions(
            audio_input=room_io.AudioInputOptions(
                noise_cancellation=filter
            )
        )
    )
Örnek — Node.js / TypeScript (agent-side)
Copy code
import { BackgroundVoiceCancellation, TelephonyBackgroundVoiceCancellation } from '@livekit/noise-cancellation-node';
import { AgentSession } from '@livekit/agents';

async function handleSession(ctx) {
  const filter = ctx.participant.kind === 'SIP'
    ? TelephonyBackgroundVoiceCancellation()
    : BackgroundVoiceCancellation();

  const session = new AgentSession({
    stt: 'deepgram/universal',
    llm: 'openai/gpt-4o',
    tts: 'cartesia/sonic-3',
  });

  await session.start({
    room: ctx.room,
    agent: null,
    inputOptions: {
      noiseCancellation: filter,
    },
  });
}
Tarayıcı tarafı (Basit, sınırlı)
Copy code
const audioTrack = await LocalAudioTrack.createMicrophoneTrack({
  noise_suppression: true,
  echo_cancellation: true,
});
Not: Bu tarayıcı ayarları temel gürültü/eko önlemi sağlar; LiveKit’in gelişmiş modelleri kadar etkili değildir. Yönlendirmeler / Sonraki adımlar • Hangi ortamı kullanıyorsunuz? (Docker Compose, Kubernetes, doğrudan VM vb.) • Hangi programlama dilini tercih ediyorsunuz (Python, Node.js, başka)? • Kaç eşzamanlı ses akışı hedefliyorsunuz ve mevcut sunucu kaynaklarınız nedir? Bunları paylaşırsanız size: • Adım adım self-hosted kurulum talimatı, • Model indirme/yerleştirme komutları, • Kubernetes/Docker örnekleri ve kaynak planlama önerileri hazırlayıp gönderebilirim. İsterseniz hemen kullandığınız ortam ve dil ile başlayalım. Sources: sip | livekit/livekit_composite | DeepWiki | Choosing the right noise cancellation for your agent | LiveKit | Self-hosted deployments | LiveKit Documentation | Understanding "silence detected on local audio track" Warning | LiveKit | Voice AI quickstart | LiveKit Documentation