Konuşma Sentezi Yöntemleri ve Derin Öğrenmeyle Gelişimi, Tacotron 2 Mimarisinin Getirileri

İlhan Mert Alan
3 min readApr 27, 2021

--

Konuşma sentezi en basit tabirle, bir makinanın yapay yollarla ses üretmesidir. Text-to-speech(TTS) olarak da bilinmektedir. Bir konuşma sentezi sisteminin en önemli nitelikleri doğallık ve anlaşılabilirliktir. Doğallık yapay yolla elde edilen bu sesin, ne kadar gerçekçi olduğuyla alakalıdır. Anlaşılabilirlik ise, adı üstünde üretilen bu sesin ne kadar anlaşılır olduğudur.

Bu alan temelde daha eskiye dayansa da verilebilecek ilk örneklerden biri, 1961'de John Larry Kelly, Bell Labs’da IMB 704 bilgisayarı ile konuşmayı sentezleme işlemini denedi ve IMB 704’e “Daisy Bell” şarkısını söyletti. Performansına bir göz atmak isterseniz buyurun youtube linki;

Konuşma sentezi de, derin öğrenmenin son yıllardaki getirilerinden oldukça faydalanmış bir alandır. Derin öğrenme tekniklerinden bahsetmeden önce, bu alanda önceden kullanılan geleneksel yöntemlerden bazılarına göz atabiliriz. Bunlardan bir tanesi birleştirmeli (concatinative) metotlardır.

Birleştirmeli (Concatinative) Sentez

Adından da anlaşılacağı üzere parçaları birleştirmek üzere kuruludur. Genellikle güzel sonuçlar alınabilen bu yöntemler, parça birleştirme üzerine kurulu olduğundan parçaları ayırma kısımlarında yapılacak hatalar ve konuşma içerisindeki çeşitliliklerden(ruh hali, tonlama gibi) dolayı bazen hatalı sonuçlar da verebilmektedir.

Birleştirmeli sentez de kendi içinde üçe ayrılabilir. Unit selection, diphone ve domain-specific sentez.

a. Birim Seçimli Sentez (Unit Selection)

Bu birleştirmeli sentez biçiminde kaydedilen konuşma fon,fonem,morfem,hece,kelime gibi istenilen birimlere bölünür. Kaydedilen konuşmanın tamamı ilgili birime ayrılacağı için, kullanılacak veritabanı çok büyük olur. Bu birimlere ayırma işlemi genellikle dalga biçimi veya spektrogram gibi görsel temsillerle gerçekleşir. Daha sonra ayrılan birimlerin veritabanı indeksleri, perde süresi, komşu phone’lar gibi daha alt akustik parametrelere dayalı olarak oluşturulur.

b. Difon sentezi (Diphone)

Fon, dilbilimdeki en küçük ses birimidir. Difon ise, sesten sese geçişlerdir. Bu yöntem, bir dildeki bütün difonları içeren bir veritabanı kullanır. Örneğin İspanyolca’da 1000, Almanca’da 2500 civarı difon mevcuttur. Difon sentezinde, konuşma veri tabanında her bir difonun yalnızca bir örneği bulunur. Çalışma zamanında, bir cümlenin hedeflenen ölçüsü, dijital sinyal işleme teknikleri aracılığıyla bu minimal birimlerin üzerine yerleştirilir. Genellikle birim seçimlilerden daha kötü bir sonuç verirler.

c. Domain-specific synthesis(Alana özgü sentez)

Bu yöntem ise çıktıları oluşturmak için önceden kaydedilmiş kelimeleri ve cümleleri birleştirir. Uygulanması basittir ve konuşan oyuncaklar, telesekreter, hesap makineleri gibi cihazlarda uzun süredir ticari olarak kullanılmaktadır. Konuşma çıktıları, doğrudan kayıttan alındığı için başarılı sonuçlar verir fakat bu sentez türü genel amaçlı değildir. Sadece önceden programlanmış belirli kelime öbekleri ve cümlelerini sentezleyebilirler.

— — — — — —

Formant Synthesis

Bir diğer geleneksel yöntem ise formant synthesis olarak literatürde geçer. Formant sentezi, çalışma zamanında insan konuşma örneklerini kullanmaz. Bunun yerine, sentezlenmiş konuşma çıktısı bir akustik model kullanılarak oluşturulur. Yapay konuşmaların dalga formunu oluşturmak için temel frekans, seslendirme ve gürültü seviyeleri gibi parametreler zamanla değişir. Genellikle robotik sesler üretilir. Doğallık açısından birleştirlmeli sentez tekniklerinden geri kalsa da yüksek hızlarda, anlaşılabilir sesler üretilmesini sağlar. Bu da formant tekniğinin bir çok alanda kullanılmasına avantaj sağlar. Bu uygulamalar yüksek hızla konuşmayı sentezleyebildiği ve anlaşılırlık açısından problem çıkarmadığı için genellikle görme engelli insanlar için üretilen “screen-reader” gibi programlarda kullanılırlar. Birleştirici sistemlerden ayrı olarak, konuşma örneklerini tutan veri tabanları bulunmaz, dolayısıyla görece daha küçük yazılımlardır.

— — — — — — — —

Bu alanda kullanılan geleneksel yöntemlerin birkaçını anlattıktan sonra, konuşma sentezlemede kullanılan derin öğrenme tabanlı yöntem ve mimarilerden de bahsedebiliriz.

Wavenet

Wavenet, ses dalgaları oluşturmak için bir sinir ağıdır. Bu yöntemi oluşturanlar ve makalesini yayınlayanlar Google ekibindendir. Tamamen olasılıksal ve çıkarımsaldır, İngilizce ve Çince için oldukça iyi sonuçlar verildiğini aşağıdaki web sitesinden kontrol edebilirsiniz.

https://deepmind.com/blog/article/wavenet-generative-model-raw-audio

Tacotron, yine Google tarafından geliştirilmiş bir sistemdir. Sisteme verilen ses-metin bilgileriyle birlikte doğrudan uçtan uça konuşma sentezleyebilir. Ses dosyaları ve o ses dosyalarına ait metin bilgileriyle birlikte eğitimi yapılabilir. İçerisinde bir encoder, dikkat tabanlı bir decoder ve post-processing network mevcuttur. Sentezlenmek istenen metni alır, görsel spektogram çıktısını üretir. Bu spektogram daha sonra dalga formuna dönüştürülür.

Linkten örneklerine erişilebilir. https://google.github.io/tacotron/publications/tacotron/index.html

Tacotron 2 sistemi, Tacotron ile Waveglow modelinin güçlü bir birleşimi olarak görülebilir. Yine ses dosyaları ve metin bilgisiyle, doğal bir ses sentezleyebilen Google tarafından geliştirilmiş bir mimaridir. Tacotron 2 modeli, kodlayıcı-kod çözücü mimarisini kullanarak giriş metninden mel spektrogramlar üretir. WaveGlow konuşmayı sentezlemek için mel-spektogramlarını kullanan akış-tabanlı bir modeldir. Bu sentezi yaparken cmudict, cleaners gibi dile özgü ekstra özellikleri de barındırabilir. CMUDict, Carnegie Mellon Üniversitesinin bir İngilizce telaffuz sözlüğüdür. Tacotron girilen metni, İngilizce fonetik dönüşümü uygulayıp sentez işlemini gerçekleştirerek İngilizce için ses kalitesini arttırmıştır. Ayrıca İngilizce için ekstra bir “cleaners” da mevcuttur. İngilizce cleaners, hem eğitim hem de değerlendirme zamanında girdi metninin üzerinden geçen dönüşümlerdir. Burada kısaltmalar, büyük-harf küçük hard, whitespace dönüşümleri gibi dile özgü dönüşümler uygulanır ve performans artırılmaya çalışılır.

Son zamanlarda üzerinde çalıştığım bu mimaride colab üzerinden 3 saatlik bir eğitim sonrası aşağıdaki sonucu aldım.

https://drive.google.com/file/d/1wp1SIZ_PXorRiC5-6s1yl4XqxFC5nzcR/view?usp=sharing

--

--

No responses yet