Zephyrnet Logosu

Ses Gürültü Giderici: Bir Konuşma Geliştirme Derin Öğrenme Modeli

Tarih:

Bu makale, Veri Bilimi Blogathon.

Giriş

Çoğumuz işimizi yaptığımız veya sanal olarak okula/koleje gittiğimiz için, genellikle çevrimiçi toplantılara katılmamız gerekiyor ve her birimizin her zaman açık olmasını bekleyemeyiz. sessiz. Bazılarımız korna seslerini veya diğer insanların seslerini duyabildiğimiz veya hatta bazen kulaklığımızın arızalı olduğu gürültülü bir ortamda yaşayabiliriz ki bu da karşı taraftaki alıcı için kesinlikle istenmeyen bir durumdur. Derin bir öğrenme modeli kullanarak gönderen ucundaki sesleri kaldırsak daha iyi olur mu? Hadi bir bakalım.

İçindekiler

  1. Ses Gürültüsü Azaltma nedir?
  2. Farklı gürültü giderme yöntemlerinin kısa bir tarihi
    1. Spektral Çıkarma
    2. sosis filtresi
    3. Spektral Kapı
    4. Derin Öğrenme tabanlı modeller
  3. Facebook Gürültü Giderici – Derin Öğrenme modeli
  4. FB Gürültü Giderici modelini ayarlama

Ses Gürültüsü Azaltma nedir?

Tanım o kadar basit ve açıklayıcı ki, şöyle devam edecek,

Ses Gürültü Giderme konuşmanın kalitesini etkilemeden konuşmadaki sesleri çıkarma işlemidir.

Buradaki sesler, araç korna sesleri, rüzgar gürültüsü ve hatta statik gürültü gibi insan işitmesi için istenmeyen ses segmentleridir.

Ses Gürültü Giderme | Derin Öğrenme Modeli

Olarak da bilinir Konuşma geliştirme çünkü konuşmanın kalitesini arttırır. Konuşma geliştirme önemli bir görevdir ve sesli/görüntülü aramalar, işitme cihazları, Otomatik Konuşma Tanıma (ASR) ve konuşmacı tanıma gibi çeşitli uygulamalarda bir ön işleme adımı olarak kullanılır. Bu makalenin geri kalanında bir ses sinyalindeki gürültülerin nasıl giderileceğini göreceğiz.

Farklı Gürültü Giderme Yöntemlerinin Kısa Tarihi

Bu bölümde, kullanılan farklı ses gürültü giderme tekniklerini özetleyelim.

  • Spektral Çıkarma
  • sosis filtresi
  • Spektral Kapı
  • Derin Öğrenme tabanlı modeller

Spektral Çıkarma

Konuşma geliştirme yöntemlerinin gelişimi 1979 yılına kadar uzanır. Koza S Spektral Çıkarmaya dayalı bir gürültü bastırma yöntemi önerdi. Ancak, spektral çıkarma nedir? Bunu anlayalım.

Yaptıkları ilk şey, ses sinyalini frekans bölgesi. Bunun için dijital sinyal işlemede etkili algoritmalardan birini kullandılar. Hızlı Fourier Dönüşümü (FFT) ve FFT'nin bazı varyasyonları gibi Kısa Zamanlı Fourier Dönüşümü (STFT) hem zaman hem de frekansla ilgili özellikleri çıkaracaktır. O zaman basitçe çıkarmak Temizlenmiş/gelişmiş bir konuşma elde etmek için gürültülü sesten gelen seslerin frekans bileşenleri ve dolayısıyla Spektral Çıkarma adı.

Ama spektral çıkarmanın iki büyük kusuru vardı-

  1. bir seçim yapmalıyız gürültü çıkarmak için ses sinyalinden, ki bu hiç de pratik değildir.
  2. Gürültü, içinde mevcut olmalıdır. tüm ses. Dolayısıyla, bu tür bir yöntem, araba kornası gibi nadir gürültülere sahip ses sinyalleri için iyi çalışmadı ve bu da onu gerçek dünya uygulamaları için etkisiz hale getirdi.

sosis filtresi

Sıradaki Wiener filtreleme, Bu ses gürültü giderme için endüstri standardıdır ve işitme cihazlarında, akıllı telefonlarda ve iletişim cihazlarında yaygın olarak kullanılmaktadır. Bu filtreleme aynı zamanda hem gürültülü konuşmayı hem de konuşmada mevcut olan bir gürültü örneğini gerektirir. Wiener filtresi, gürültüyle ilgili belirli varsayımlar altında ortalama karesel hatayı en aza indirmek için gürültülü konuşmadan ve gürültünün kendisinden temiz konuşmanın istatistiksel bir tahminini bulur.

Bununla birlikte, Wiener filtresi, iki mikrofona sahip olabildiğimiz akıllı telefonlar söz konusu olduğunda kullanışlıdır; biri konuşmamızı sesli olarak kaydetmek için, diğeri ise yalnızca gürültü için. (Akıllı telefonunuzda, alttaki mikrofon konuşmayı, üstteki mikrofon ise gürültüyü kaydetmek içindir). Yani her gün farkında bile olmadan bir çeşit Wiener filtresi kullanıyoruz. Bu harika, değil mi?

Derin Öğrenme Modeli

Spektral Kapı

Aşağıda gürültülü bir konuşmanın ses dalga biçimi ve geliştirilmiş konuşma bulunmaktadır. Bu sonuçlardan elde edilen gürültü azaltmak Kaputun altında spektral geçit kullanan python modülü de geleneksel bir yöntemdir. Bu tür geleneksel gürültü filtreleri, statik gürültüyü filtrelemede iyi çalışır, ancak bazı nadir gürültüler için değildir; bu, konuşmayı geliştirmek için Derin Öğrenme modellerinin geliştirilmesinin nedenlerinden biridir.

Spektral Kapı

Derin Öğrenme Modeli

Derin Öğrenme modelleri bu günlerde popüler hale geliyor çünkü genelleme özellik mühendisliği zorluğu olmadan bir görevi (uçtan uca) öğrenmek ve çözmek için. Buna ses gürültü giderme de dahildir ve gerçek zamanlı olarak bile çalışacak bazı iyi modeller vardır! Ses giderme için Derin Öğrenme modelleri kategorilere ayrılabilir, maske bazlı ve haritalama tabanlı.

Maske tabanlı modeller hesaplama maskeler (boole dizileri) sinyaldeki gürültüleri azaltmak için giriş gürültülü konuşmayı temel alan zaman/frekans alanında. Öte yandan, haritalama tabanlı yöntemler onları temiz konuşmalarını sağlamayı amaçlar direkt olarak Bol miktarda gürültülü ve temiz konuşma sağlanırsa gürültülü konuşmadan (bol eğitim verisi!).

Şimdi, konuşma geliştirme için State of the Art (SOTA) modellerinden biri olan Facebook Denoiser'ı tartışalım!

Waveform Etki Alanında Gerçek Zamanlı Konuşma Geliştirme – Facebook Gürültü Giderici

Bu model tarafından önerildi Alexandre Defossez ve ark. 2020 yılında Facebook AI Research'te (FAIR). Modelin özelliği, içinde çalışabilmesidir. gerçek zaman bir dizüstü bilgisayar CPU'sunda. Önerilen mimarinin aşağıdaki gibi olacağını unutmayın. basit mümkün olduğunca gerçek zamanlı sistemlerde çalışmak. Bu modelin gerçek zamanlı olarak nasıl kullanılacağını bu makalenin sonunda göstereceğim.

Model bir kodlayıcı-kod çözücüye sahiptir U-Net atlama bağlantılı mimari ve kodlayıcının çıkışına uygulanan bir dizi modelleme ağı. Ancak, bu kodlayıcı-kod çözücü parçasının aralarında neden atlama bağlantıları var? Görünüşe göre atlama bağlantılarının öğrenme için orada olması gerekiyor ince taneli kod çözücü kısmındaki özellikler. Ayrıca başvurabilirsiniz Re-Tweet atlama bağlantıları hakkında daha fazla bilgi edinmek için makale. Aşağıda modelin genel mimarisi verilmiştir.

Facebook gürültü giderici | Derin Öğrenme Modeli

Facebook Denoiser'ın mimarisi

Kodlayıcıdaki her katman, 1B evrişim katmanına ve ardından ReLU aktivasyonuna sahiptir. Ayrıca, GLU (Gated Linear Unit) aktivasyonu ile enkoderdeki kanal sayısını ikiye katlamak için 1⨯1 evrişime sahiptir. Kod çözücüdeki her katman, kodlayıcı ile benzer bir yapıya sahiptir. dışında evrişim katmanı yerine 1D yer değiştirmiş evrişime (dekonvolüsyon) sahip olduğunu.

Mimarinin ortasındaki dizi modelleme katmanı, modelin karmaşıklığına bağlı olarak tek yönlü LSTM veya çift yönlü LSTM olabilir. Bu yazıda önerilen mimariye denir. DEMÜKLER. Oldukça basit değil mi?

Ses işlemedeki çoğu modelin aksine, bu ham dalga Dosyaları zaman alanının kendisinde ve dolayısıyla adı Konuşma Geliştirme Dalga formu alanı. Ancak, model hem zaman hem de frekans alanında optimize eder, işte böyle.

Yazarlar, bir kayıp olarak gürültülü ve temiz ses arasındaki mutlak fark olan dalga biçimi üzerinde L1 kaybını kullandılar (bu, zaman alanında çalışır). Ayrıca gürültülü ve temiz ses için Kısa Zamanlı Fourier Dönüşümünü (STFT) hesapladılar ve hesaplanan STFT'den bir kayıp elde ettiler (bu, zaman-frekans alanında çalışır).

Yazarlar, konuşma geliştirme için SOTA modellerinden biri olarak kabul edilebileceğini iddia ettikleri için model pratikte gerçekten iyi çalışıyor. İşte kağıttan çıkan sonuç,

FB Gürültü Giderici

FB gürültü giderici modelinin karşılaştırmalı sonuçları

Değerlendirme ölçütlerinin ardındaki karmaşık teoriden ziyade, makalede kullanılan her bir değerlendirme ölçütünün ölçeğini bilmenin yeterli olduğunu düşünüyorum. PESQ'yu 0.5 ila 4.5, STOI için 0 ila 100, MOS ölçümleri için 1 ila 5 ölçeğinde bir değerlendirme metriği olarak düşünün. Bu modeli yerel sistemimizde kurup çalıştıralım. Bu modeli yerel sisteminizde kurmanız için size adım adım rehberlik edeceğim.

FB Gürültü Giderici Modeli Kurma

Öncelikle pypi'den denoiser modülünü kurmamız gerekiyor. Herhangi bir Linux dağıtımınız veya Mac OS'niz varsa, şansın yanındasınız! Yazarlar, şu anda Windows gibi diğer işletim sistemleri için herhangi bir resmi destek sağlamıyor.

Bu kullanacağımız gürültü giderici modelin GitHub deposudur. Kurulumun ortasında herhangi bir şüpheniz varsa, aşağıya yorum bırakmaktan çekinmeyin.

1 Adım:

Modeli pypi'de sağladılar, sadece “pip install denoiser” işe yarayacak. Zaten sahip olduğunuz Python kitaplıklarıyla uğraşmak istemiyorsanız, sanal bir ortam (venv) oluşturun ve ardından gürültü gidericiyi kurun. Bunu nasıl yapacağınızı size göstereceğim.

Gürültü giderici kurulumu için ayrı bir ortam oluşturmak istemiyorsanız birinci ve ikinci satırı atlayabilirsiniz.

2 Adım: 

Linux kullanıcıları, sisteminizde PulseAudio'nun kurulu olup olmadığını kontrol etmelidir. Eğer yapmazsanız, komutuyla yükleyin,

Ayrıca şu komutla PulseAudio Ses Kontrolünü kurun,

Mac OS kullanıcılarının bu modeli kullanabilmeleri için sistemlerinde SoundFlower'ın kurulu olması gerekir. Takip etmek Re-Tweet SoundFlower'ı yüklemek için bağlantıya gidin ve 3. Adımı atlayabilirsiniz.

3 Adım:

Tam olarak kullanacağımız sanal akışlar oluşturmak için komutları çalıştırın,

Bu, kullanılacak mikrofonlar listesine bir "Boş Çıkış Monitörü" ekleyecektir. Yazılımınızda giriş olarak seçin. Başka bir terminal açın ve “pavucontrol” çalıştırın. Bu, ses denetleyicisi penceresini açacaktır.

4 Adım:

Mac kullanıcıları komutu çalıştırabilir,

Bu, modeli yükleyecek ve bir mikrofon ekleyecektir, bunu seçebilirsiniz ve diğer uç şimdi gelişmiş konuşmanızın keyfini çıkarabilir!

Linux kullanıcıları için komutu çalıştırın,

Model, mikrofondan gelen giriş sesini gürültüden arındırmaya başlayacaktır. 5 GB RAM'e sahip Intel i8 8. nesil üzerinde çalışan bir dizüstü bilgisayarda test ettim, ancak model, engellenmiş çıktının oluşturulmasında gözle görülür bir gecikme gösteriyor. Bu modeli alıcı ucundaki gürültüyü azaltmak için de kullanabilirsiniz. Bunu nasıl yapacağınızı öğrenmek için modelin deposuna başvurabilirsiniz.

Son Notlar

Bu yazıda, derin öğrenme modeliyle birlikte sesli gürültü gidermenin ne olduğunu öğrendik. Ayrıca, geleneksel konuşma geliştirme tekniklerinin kısa tarihçesini ve derin öğrenme modelini (Facebook Gürültü Giderici) ve bunları sistemimizde nasıl kuracağımızı da bilmeliyiz.

Umarım derin öğrenme modeli - Audio Denoiser hakkındaki makalemi okumaktan keyif almışsınızdır. İyi günler!

Bu makalede gösterilen medya Analytics Vidhya'ya ait değildir ve Yazarın takdirine bağlı olarak kullanılır. 

spot_img

En Son İstihbarat

spot_img