Metin Seslendirme Sistemleri İçin Yöntemler

Bisqwit'in Let’s Create a Speech Synthesizer (C++17) with Finnish Accent! videosunu izledikten sonra Türkçe için metin sentezleyicilerinin son durumuna hızlıca tekrar baktım.

Türkçe için Sestek gibi çok başarılı ticari çözümler var. Eminim biraz araştırınca benzer kalitede farklı çözümler de bulunabilir. Şu an bununla ilgilenmediğim için bu görevi geçiyorum.

Özgür yazılım olan ve sadece Türkçe için geliştirilen Oku var bildiğim kadarıyla:
Oku'yu Wine ile çok kısa bir süre denedim. Henüz detaylı olarak test etmediğim için seslendirme kalitesi hakkında konuşmayacağım. Programın şu anki en büyük eksikliği, sadece Windows için geliştirilmiş olması. Windows'a özgü kod parçalarının çok platformlu alternatifleriyle değiştirilmesi bu projeye yapılabilecek en büyük katkı olur şu an.

Ayrıca Türkçe desteği kazandırılmış özgür konuşma sentezleyiciler de var. Bunların tamamını araştırmak ve listelemek başlı başına bir iş ve başka bir yazının konusu olduğu için burada sadece bildiklerimden ve kısa bir aramayla denk geldiklerimden bahsedeceğim.

MaryTTS

MaryTTS, Java ile yazılmış, özgür ve çok dil destekli bir konuşma sentezleme platformudur. İlk olarak, DFKI'nin Dil Teknolojisi Laboratuvarı ve Saarland Üniversitesi'ndeki Fonetik Enstitüsü'nün ortak bir projesi olarak geliştirildi. Şimdiyse Cluster of Excellence MMCI içindeki Çok Kipli Konuşma İşleme Grubu ve DFKI tarafından sürdürülüyor.

MaryTTS, 5.2 sürümüyle birlikte, İngiliz ve Amerikan İngilizcesi, Almanca, Fransızca, İtalyanca, Lüksemburgca, Rusça, İsveççe, Teluguca ve Türkçe dillerini desteklemektedir. Daha çok dil için de çalışmalar sürmektedir.

MaryTTS'in çevrimiçi konuşma sentezleme arayüzünü şuradan deneyebilirsiniz. Nasıl yeni diller için destek eklenebileceğini öğrenmek için Adding support for a new language to MaryTTS belgesini okuyabilirsiniz. MaryTTS'e Türkçe desteği kazandırmak için kullanılan verilereyse dfki-ot-data projesinden ulaşabilirsiniz. Son olarak MaryTTS'in çalışma sisteminin özeti için şu belgeyi okuyabilirsiniz.

eSpeakNG

eSpeakNG, Linux, Windows ve diğer platformlar için özgür bir yazılımsal konuşma sentezleyicisidir. Küçük boyutlarda birçok dil sağlayan biçimlendirici (formant) bir sentez yöntemi kullanır. ESpeakNG'nin dil desteği için yapılan programlamanın çoğu, doğal konuşuculardan gelen geri bildirimler ve kural dosyaları kullanılarak yapılır.

eSpeakNG, küçük boyutu ve birçok dili desteklemesi nedeniyle Windows, Android ve Linux dağıtımları üzerinde çalışan çeşitli özgür ekran okuyucularına, öntanımlı konuşma sentezleyicisi olarak dahil edilmiştir. Selefi eSpeak, 2016 yılında Microsoft tarafından önerilmiş ve 2010 yılında Google Translate tarafından 27 dil için kullanılmıştır, bunlardan 17 tanesi daha sonra ticari seslerle değiştirilmiştir

Bazı diller, doğal konuşuculardan diğerlerine göre daha çok katkı ve geribildirim aldığından dil seslerinin kalitesi büyük ölçüde değişkendir. Bazı dillerin geliştirilmesine yardım edenlerin çoğuysa, konuşma sentezleme yazılımının gözleri görmeyen kullanıcılarıdır.

eSpeakNG, bir komut satırı programı olarak veya paylaşımlı bir kütüphane olarak kullanılabilir. Konuşma Sentezi Biçimlendirme Dili'ni (Speech Synthesis Markup Language, SSML) destekler.

Dil sesleri, dilin ISO 639-1 koduyla tanımlanır. Bunlar metin dosyalarıdır ve çeşitli özellikleri ses seçenekleriyle değiştirilebilir, örneğin sesin perdesi ayarlanabilir, sese yankı eklenebilir, ses fısıltıya çevrilebilir ve ses boğuklaştırılabilir.

eSpeakNG'nin nasıl çalıştığıyla ilgili daha çok bilgiyi şuradan edinebilirsiniz. Linux üzerinde nasıl çalıştırılabileceği hakkında bilgi için de şuradaki anlatılanları okuyabilirsiniz.

eSpeakNG'nin nasıl Türkçe konuşabildiğini merak ediyorsanız Barış Bozkurt'un hazırladığı proje sayfasına bakabilirsiniz. MBROLA'nın yeni proje sayfası da şurada, şu an Google'da çıkan bağlantıların hiçbirisinin çalışmamasının nedeni de buymuş, proje kısa bir süre önce GitHub'a taşınmış. MBROLA'nın veri dosyaları da artık MBROLA-voices projesinden indirilebilir durumda.

Sonuç

Bu yazı aslında başka bir yazının giriş kısmını fazla uzatmam sebebiyle hayat buldu. Bahsettiğim konuşma sentezleyicilerinin çalışma şekillerini daha detaylı anlatsaydım yazı daha faydalı olabilirdi ama bu şekliyle de en azından okuyucuyu üç adet konuşma sentezleme yazılımıyla tanıştırıyor.

Gelir mi, gelirse ne zaman gelir bilmiyorum ama asıl yazmak istediğim konu, Metin Seslendirme Sistemleri İçin Derin Öğrenme Mimarileri'ydi. Yazı gelmese bile en azından okuma listemdeki yazıları bir yerlerden paylaşırım.

Yorumlar

Bu blogdaki popüler yayınlar

Mızıka Tabları Nasıl Okunur

conio.h

Muhtar Kellesi