Ses kayıtlarını işlerken, konuşmanın olmadığı uzun sessizlik bölümleri çoğu zaman gereksiz veri yükü oluşturur. Bu durum, hem depolama alanını boşa harcamaya hem de sonraki ses işleme adımlarını karmaşıklaştırmaya yol açabilir. Neyse ki, Silero VAD gibi yapay zeka destekli araçlar sayesinde ses aktivitesini otomatik olarak tespit etmek ve kayıtları yalnızca konuşma içeren segmentlere ayırmak mümkün hale geldi.
Bugün, bu süreci ONNX Runtime kullanarak nasıl uygulayabileceğinizi adım adım inceleyeceğiz. Örnek olarak, yaklaşık 14 saniyelik iki konuşmacılı bir ses kaydını alacağız ve Silero VAD modeliyle konuşma segmentlerini nasıl belirleyip ayrı WAV dosyaları olarak kaydedeceğimizi göstereceğiz.
Konuşma Segmentlerini Ayırmak için Gerekenler
Bu uygulama için birkaç temel araç gerekiyor. İlk olarak, ses dosyasını işlemek üzere FFmpeg kullanacağız. Ardından, Silero VAD modelini ONNX Runtime üzerinden çalıştıracağız. Model, 16 kHz örnekleme hızına sahip mono ses dosyalarını 32 milisaniyelik parçalar halinde analiz ediyor. Bu yaklaşım, gerçek zamanlı uygulamalarda da kullanılabilecek şekilde optimize edilmiş durumda.
İşlem adımları şu şekilde sıralanabilir:
- Ses dosyasını (MP3 formatında) 16 kHz mono WAV formatına dönüştürmek.
- Silero VAD modelini kullanarak ses aktivitesini tespit etmek.
- Konuşma segmentlerini belirlemek ve ayrı dosyalara kaydetmek.
Bu süreç, yalnızca CPU kullanarak gerçekleştirilebildiği için, yüksek performanslı donanımlara ihtiyaç duymadan verimli sonuçlar elde etmek mümkün.
Uygulamanın Adım Adım Kurulumu
Öncelikle, gerekli yazılımların kurulu olduğundan emin olmamız gerekiyor. Bu kapsamda, mise ve uv gibi paket yöneticileri, FFmpeg ve curl aracı kullanılacak. Tüm işlemler, aşağıdaki komutlar yardımıyla tek bir terminal komutuyla başlatılabiliyor:
git clone --depth 1 --filter=blob:none --sparse
cd labs
git sparse-checkout set .gitignore .mise/tasks Makefile mise.toml 2026/07/03/silero-vad
make download-test-assets
mise -C 2026/07/03/silero-vad runBu komutlar, doğrudan ilgili laboratuvar dizinini kopyalayarak gerekli bağımlılıkları yükleyecek ve modeli çalıştıracaktır. İlk çalıştırma sırasında, Silero VAD’ın ONNX modeli otomatik olarak indirilecek ve Python ortamı hazırlanacaktır.
Konuşma Tespiti Nasıl Gerçekleştiriliyor?
Modelin çalışma prensibi oldukça basit. Öncelikle, ses dosyası 512 örnekten oluşan parçalara (32 milisaniye) ayrılıyor. Her parça için Silero VAD, bir konuşma olasılığı değeri hesaplıyor. Eğer bu olasılık belirli bir eşiği aşıyorsa, konuşma başlangıcı olarak kabul ediliyor.
Modelin kullandığı temel ayarlar şunlardır:
- Örnekleme hızı: 16 kHz
- Parça boyutu: 512 örnek (32 milisaniye)
- Konuşma başlangıç eşiği: 0,5
- Konuşma bitiş eşiği: 0,35
- Minimum sessizlik süresi: 100 milisaniye
- Minimum konuşma süresi: 250 milisaniye
- Konuşma kenarına eklenen padding: 30 milisaniye
Bu ayarlar sayesinde, gürültülü ortamlarda bile doğru segmentlerin tespit edilmesi sağlanıyor. Ayrıca, her segmentin başına ve sonuna eklenen 30 milisaniyelik padding, konuşmanın doğal akışını korumaya yardımcı oluyor.
Uygulamanın Sonuçları ve Performansı
M1 Max çipine sahip bir Mac Studio’da gerçekleştirilen testlerde, yaklaşık 14,171 saniyelik bir ses kaydında 12 ayrı konuşma segmenti tespit edildi. Toplam işlem süresi yalnızca 0,028 saniye olarak ölçüldü. Bu da, modelin gerçek zamanlı uygulamalar için oldukça verimli olduğunu gösteriyor.
Tespit edilen segmentler arasında, doğal konuşma duraklamalarına denk gelen bölümler bulunuyor. Özellikle kısa yanıtlar olan “evet”, “anladım”, “teşekkürler” gibi ifadeler de başarıyla ayrıştırıldı. Toplamda, yaklaşık 11,917 saniyelik konuşma içeriği kaydedildi ve bu, orijinal sesin %84,1’ine denk geliyor.
Tüm segmentler, 16-bit PCM, 16 kHz ve mono formatında WAV dosyaları olarak kaydedildi. Bu sayede, ses kalitesi korunurken, gereksiz sessizlik bölümleri tamamen ortadan kaldırılmış oldu.
Gelecek Adımlar ve Öneriler
Silero VAD gibi araçlar, ses işleme projelerinde önemli bir yer tutuyor. Gelecekte, bu tür modellerin daha geniş kullanım alanlarına yayılması bekleniyor. Örneğin, podcast’lerin otomatik olarak transkript edilmesi, çağrı merkezlerindeki ses kayıtlarının analiz edilmesi veya sesli komut sistemlerinin geliştirilmesi gibi alanlarda büyük fayda sağlayabilir.
Ancak, unutulmaması gereken bir nokta var: Silero VAD yalnızca ses aktivitesini tespit eder. Konuşmacıların kim olduğunu belirlemek için ise ek araçlara ihtiyaç duyuluyor. Bu alanda ilerlemek isteyen geliştiriciler, ses tanıma ve konuşmacı ayrıştırma modellerini de değerlendirebilirler.
Yapay zeka özeti
Konuşma aktivitesini otomatik olarak tespit eden Silero VAD modelini ONNX Runtime ile kullanarak ses kayıtlarınızı verimli bir şekilde segmentlere ayırın. Kullanım adımları ve performans sonuçları burada.