TÜRKÇE İÇİN KONUŞMA SENTEZLEYİCİ TASARIMI
VE DOĞALLIK ARTIRMA ÇALIŞMALARI
İsmail KURNAZ
Erdem ERKAN
Bartın Üniversitesi
Karabük Üniversitesi
Bilgisayar Mühendisliği Bölümü
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
[email protected]
[email protected]
Özet
Metinden konuşma sentezleyici sistemlerin popülerliği ve uygulama alanları gün geçtikçe
artmaktadır. Konuşma sentezleyicilerde kalite faktörü metinden oluşturulan konuşmanın
doğal insan sesine olan yakınlığı ile doğru orantılıdır. Konuşmadaki vurgu ve tonlamalar
da doğallığı etkileyen faktörlerdir. Bu çalışmada, dijital ortamdaki Türkçe metinleri ses
sinyallerine dönüştürebilen akıcı, anlaşılır bir Türkçe metin sentezleyici yazılımı
geliştirilmiştir. Geliştirme aşamasında Türkçede kullanılması muhtemel 900 adet ikili,
bunlara ek olarak da en temel üçlü ve dörtlü sesler belirlenmiştir. Belirlenen her bir ses için
taşıyıcı kelimler seçilmiş ve bu taşıyıcı kelimeler stüdyo ortamında seslendirilmiştir.
Belirlenen sesler taşıyıcı kelimelerinden ayrılarak ses veritabanı oluşturulmuştur. Yazılım,
veritabanındaki sesleri belli kurallar çerçevesinde, seslendirilmesi istenen metine göre
birleştirilerek, konuşma üretmektedir. Konuşmanın doğallığını artırmak için konuşma
üretimi sırasında Türkçe dil yapısına göre cümleyi oluşturan sesler üzerinde, cümle ve
kelime yapısı temel alınarak belli değişiklikler yapılmaktadır. Geliştirilen uygulama
sayesinde klavyeden girilen Türkçe metinler anlaşılabilir şekilde seslendirilebilmekte,
vurgu ve tonlama benzeri parametreler üzerlerinde değişlikler yapılabilmektedir.
Anahtar Kelimeler: Metinden Konuşma Sentezleme (MKS), Metin Seslendirme
1
DESIGN FOR TURKISH SPEECH SYNTHESİZER
AND IMPROVEMENT WORKS NATURALNESS
Abstract
Popularity and application areas of text to speech synthesizer systems are increasing day
by day. Quality factor is directly proportional to the speech synthesizers proximity to the
natural human speech sound created from the text. Accents and intonation in speech are
factors that affect the natural. In this study, fluent and understandable Turkish text to
speech software has been developed which can convert Turkish texts to audio signals in
digital media. In the pipe line, 900 double, in addition to their most basic triple and
quadruple sound determined which likely to be used in Turkish. Carrier words determined
for each selected sound and these carrier words were spoken in a studio environment.
Designated sounds seperated from carrier words then sound database has been created.
Software, combines the sounds of the database and the desired text to spoken in
accordance with certain rules then produces speech. To improve the naturalness of speech,
based on the structure of words and sentences; certain changes are made on the sounds that
make up the sentence according to the structure of Turkish language, during the production
of speech. With the applications developed, Turkish text entered from the keyboard can be
vocalized in an understandable way and changes can be made on parameters like accent
and intonation.
Key Words: Text-to-Speech Synthesis (TTS), Speech Synthesis
2
1. GİRİŞ
Metinden konuşma sentezleyiciler (MKS), bilgisayar ortamındaki metinleri ses sinyallerine
dönüştürme işlemini gerçekleştiren yazılımlardır. Konuşma motoru yazılı bir metni alır ve
bunun konuşma dilindeki ses olarak çıktısını üretir. Bir metnin bilgisayar tarafından
okunmasının pek çok uygulama alanı vardır. Bu alanların en başında görme veya konuşma
engelli kişilerle iletişim, insan-makine etkileşimi, sesli uyarı sistemleri, elektronik mail
veya kitap okuma ve yabancı dil öğrenimi gelmektedir. Bu konudaki çalışmalar ilk olarak
1976 yılında başlamıştır.
Görme engellilere yönelik olarak dünyadaki en muhteşem buluş, yazılı bir metni, bir
makinanın üzerine koymak ve onu duymaktır. Braille kullanmadan, bir başkasına
okutmadan bir kitabı okumaktır. Bunu Raymond Kurzweil başarmıştır. Bu, Braille'den
buyana başarılmış en büyük buluştur. Massachussetts Teknoloji Enstitüsü'nde mühendis
olan Raymond Kurzweil, 1976'da basılı metni yüksek sesle okuyabilen bir makine
tasarlamış, üretmiş ve piyasaya sürmüştür[1].
Türkçe metinden konuşma sentezleme çalışmaları ise 90’lı yıllardan itibaren akademik
alanda başlamış olup; günümüzde farklı araştırmacılar tarafından gerek akademik, gerekse
ticari amaçlar doğrultusunda yürütülmektedir[2].
Bu çalışmada da 3.parti yazılımlardan tamamen bağımsız, gerekli olan tüm sinyal işleme,
filtreleme vb. işlemlerde özgün kodlama kullanılarak tasarlanmış bir Türkçe metin
sentezleyicinin tasarlanması amaçlanmıştır.
2. KONUŞMA SENTEZLEME SİSTEMLERİNİN GENEL YAPISI
Konuşma sentezleyiciler girdi olarak aldığı metinleri ses sinyali olarak çıktıya dönüştüren
yapılardır. Bu çıktılar sonucunda girdi olarak alınan metin bilgisi istenilen dilde
konuşmaya çevrilmiş olur. Genel bir konuşma sentezleyici blok şeması aşağıdaki
şekildedir.
3
Şekil 1: Konuşma Sentezleyici Blok Şeması.
3. KONUŞMA SENTEZLEME TEKNİKLERİ
Bir konuşma sentezleyici siteminin en önemli özelliği doğallık ve anlaşılabilir olmasıdır.
Doğallık çıktının insan konuşmasına ne kadar yakın olduğunu tarif ederken anlaşıla bilirlik
çıktının ne kadar kolay algılanabildiğinin ölçüsüdür.
Konuşma sentezleme genel olarak Söyleyiş Sentezleme (Articulatory Synthesis), Formant
Sentezleme (Formant Synthesis) ve Eklemeli Sentezleme (Concatenative Synthesis) olmak
üzere üç ana başlık altında incelenebilir.
3.1. Söyleyiş Sentezleme (Articulatory Synthesis):
Bu tarz sentezleme yaklaşımı genel olarak insan ses organlarının modellenmesini temel
almaktadır. Söyleyiş Sentezleyiciler insan konuşma sisteminin nörofizyolojik ve
biyomekaniksel açıdan modellenmesini temel alır. Bu teknik diğer teknikler arasında daha
az gelişmiş bir teknik olsa da, detaylı ses dalgası üretimi için diğerlerinden daha doğru bir
seçim olduğu izlenimini vermektedir. Söyleyiş sentezleme belki de insanın vokal
organlarını bütünüyle modellenmesinin zorluğu hesaba katılmadan kesin bir sentezleme
olarak tanıtılmıştır. Ses bilimciler henüz tam anlamıyla Söyleyiş sentezleyiciyi destekleyen
bir model bulunmadığı konusunda hemfikirdir [3].
3.2. Birleştirmeli Sentezleme (Concatenative Synthesis):
Birleştirici sentezlemenin önceden kayıt edilmiş ses parçacıklarının birbirlerine eklenerek
yeni bir konuşma üretilmesi temeline dayanır. Genel olarak birleştirici sentezleme en doğal
şekilde duyulan sentezlenmiş sesi üretir. Ancak konuşmadaki doğal varyasyonlar
arasındaki farklar ve ses dalgalarının bölünmesi için kullanılan otomatikleştirilmiş
tekniklerin doğasından dolayı bazen elde edilen çıktıda sorunlar ortaya çıkmaktadır [4].
4
3.3. Formant Sentezleme (Formant Synthesis):
Kural temelli sentezleme olarak da adlandırılmaktadır. Teknik yapısı itibariyle doğadaki
tüm seslerin üretilmesine olanak sağlamaktadır. Diğer tekniklerde olduğu gibi ses
örneklerinden oluşan bir veri tabanına ihtiyaç duymaz. Dolayısıyla formant sentezleyiciler
daha az hafıza gereksinimi duyan aynı zamanda da çok fazla hesaplama yükü taşıyan
sistemlerdir.
Formant
sentezleyicilerin
yapısı
basitçe
“Kaynak-Filtre”
temeline
dayanmaktadır. Bu temel yapıda kaynak olarak bir osilatör veya benzeri bir sinyal üreteci,
filtre olarak ise bilinen temel filtreler kullanılmaktadır. Kaynaktan üretilen ses sinyali belli
bir sesi üretmek amacıyla modellenmiş (paralel veya seri bağlanarak) filtre gurubundan
geçirilerek ses üretimi yapılmaktadır [3,5,6].
4. TÜRKÇE KONUŞMA SENTEZLEYİCİ TASARIMI
Türkçenin yazıldığı gibi okunan dillerden olması konuşma sentezlemede bir avantaj olarak
karşımıza çıkmaktadır. Türkçede de her ne kadar seslendirilmesi istenen metin seslendirme
öncesi noktalama işaretleri, birimler, kısaltmalar vb. yapıların doğru okunması için bir ön
işlemden geçirilse de yazılış ve okunuşun aynı olması bu ön işlem yükünü azalmaktadır.
Yapılan
çalışmada
konuşma
sentezleyici
tasarımında
Birleştirmeli
Sentezleme
(Concatenative Synthesis) tekniği kullanılmıştır. Birleştirmeli sentezleme de en küçük ses
birimi fonem(tek ses) olarak adlandırılır. Ancak yalnız fonemlerin birleştirilmesiyle
geliştirilecek bir sistem çok fazla birleştirme gerektireceğinden, birleştirmeden
kaynaklanan olumsuzluklarda artacaktır. Kelimeleri ses birimi olarak kaydedip bu kelime
seslerini birleştirmek suretiyle konuşma üretilmesi de seçenekler arasındadır. Yalnız bu
şekilde geliştirilecek sistemin veritabanı barındırdığı kelimelerle sınırlı olacağından bizlere
makul bir çözüm sunmamaktadır. Bu noktada günümüzde de en çok kullanılan ikili
seslerin (difon) birleştirme elemanı olarak kullanılması, Türkçeye has bazı özel durumlarda
bu ikili seslerin üçlü hatta dörtlü seslerle desteklenmesinin en iyi doğal sonucu vereceği
düşünülmüştür.
5
4.1. Birleştirmede Kullanılacak Seslerin Belirlenmesi
Türkçede 8 sesli 21 sessiz olmak üzere toplam 29 harf mevcuttur. Çalışmada ikili sesler
temel alındığı için bu 29 harfin ikili kombinasyonu uygulamanın ses veritabanı için çıkış
noktası olmuştur. Ancak mevcut 8 sesli harfin normal okunuşlarının dışında uzun, ince,
kalın, yumuşak vb. okunuş şekilleri de vardır. Basitçe “Kar” ve “Kâr” kelimeleri a sesinin
2 farklı okunuşuna örnek gösterilebilir. Türkçedeki sesli harflerin farklı okunuşları Tablo 1
‘de gösterilmiştir [7].
İşte bu farklı okunuşlar veritabanındaki olması gereken ses elemanlarının sayısını
artırmaktadır. Yapılan çalışmada ikili sesler temel alındığından, yapı itibariyle ikili seslerin
birleştirilmesiyle oluşturulabilecek üçlü ve dörtlü seslerde yine ikili seslerin birleşiminden
elde edilmiştir. Belirlenen sesler için taşıyıcı kelimler tespit edilmiş ve tespit edilen taşıyıcı
kelimeler seslendirilerek kayıt altına alınmıştır. Veritabanını oluşturacak sesler bir ses
(fonem) için yaklaşık 75 ms (yaklaşık 3000 örnek) standart alınarak taşıyıcı kelimelerden
çıkarılmış ve ses veritabanı oluşturulmuştur.
Tablo 1: Türkçedeki sesli harflerin okunuş farklılıkları [7].
4.2. Birleştirme Noktalarının Belirlenmesi
Bilindiği gibi her dilde kelimeler sesli ve sessiz harflerin birleşiminden oluşmaktadır.
Ancak sesli harflerin diğer harflerden farklı olan periyodiklik özelliği, sesli harflere sessiz
harfleri birleştirici bir görev yüklemektedir. Şekil 2 ve Şekil 3 ‘de sırasıyla “sa” ve “pa”
6
ikili sesleri görülmektedir. Her iki ikili ses gurubunda da ortak olan sesli harf olan “a”
sesinin periyodikliği, sessiz harf olan “s” ve “p” seslerinin periyodik olmadığı
görülmektedir.
1
0.5
0.8
0.6
0
0.4
0.2
0
-0.5
-0.2
-0.4
-0.6
0
1000
2000
3000
4000
5000
6000
-1
7000
Şekil 2: “sa” ikili ses sinyali.
0
1000
2000
3000
4000
5000
6000
7000
Şekil 3: “pa” ikili ses sinyali.
Periyodik olan sesli harflerin olumsuz birleştirme sonuçlarını en aza indireceğinden
düşünülerek
birleştirme
işlemleri
sesli
harfler
üzerinden
yapılmıştır.
Öncelikle
seslendirilmesi istenilen metin cümlelere, kelimelere ve hecelere ayrılmıştır. Hecelere
ayrılan kelimelerin hangi ikili seslerden oluşacağı belirlenmiş, belirlenen ikili sesler
birleştirilerek kelimeleri ifade eden sesler oluşturulmuştur. Örnek olarak “bayrak” kelimesi
bay-rak olarak hecelerine ayrılmış, heceler de ba+ay-ra+ak şeklinde kendilerini oluşturan
ikili seslere ayrılmıştır. İkili sesler Aynı heceye ait olanlar %50 oranında örtüştürülmek
suretiyle birleştirilmiş ve böylece seslendirme gerçekleşmiştir.
4.2. Tonlama ve Vurgu Çalışmaları
Seslendirilmesi istenilen metinler cümle, kelime, hece ve ses sınıflarına atanmaktadır. Bu
hiyerarşik sınıflandırma ile her ses sınıfının, cümlenin hangi kelimesinin hangi hecesinde
kaçıncı sırada bulunduğu bilinmektedir. Bu sayede birleştirme işlemi esnasında istenilen
ses guruplarına cümle ve kelime yapısı çerçevesinde birleştirme ve sinyal genlik oranı
değişiklileri yapılabilmektedir. Örnek olarak sonunda soru işareti olan bir cümlenin
istenilen kelimelerinin yine istenilen seslerine genlik artırımı yapılabilmekte, sonunda
virgül olan bir kelimeye yarım ses bekleme süresi eklenebilmektedir. Örnek olarak
“gidiyor musun.” ve “gidiyor musun?” kelimelerinin okunuşları sonlarındaki noktalama
işaretlerine göre bazı farklılıklar kazanmışlardır. Uygulamanın vurgu modülü sayesinde
7
sonu noktalı olan “gidiyor musun?” kelimesi düz bir tonlamada, seri bir şekilde
seslendirilirken, sonunda soru işareti olan “gidiyor musun?” kelimesinin diğerinden %60
daha
vurgulu
ve
“musun”
parçasının
sesinin
%50
oranında
alçaltılarak
seslendirilebilmektedir.
Gidiyor →musun→ .
Gidiyor↑musun↓ ?
Bu ve benzeri parametrelerle uygulamanın doğallığının artırılması amaçlanmıştır. Şekil 4
‘de sentezleme sonrası kaydedilmiş örnek bir cümle gösterilmiştir.
1
0.5
0
-0.5
-1
0
1
2
3
4
5
6
7
8
9
10
4
x 10
Şekil 4: Sentezlenen ”Bu gün hava ne kadar güzel değil mi?” cümlesi.
5. KONUŞMA KALİTESİNİN DEĞERLENDİRİLMESİ
MOS (Mean Opinion Score), ses iletişiminde, özelliklede internet telefonlarında iletilen
ses kalitesi hakkında bir karara varmak için kullanılan bir test yöntemidir. MOS iletilen
sesin kalitesi hakkında sayısal bir ölçü sunmaktadır. Testin uygulanmasında dinleyicilere
birtakım sesler dinletilir ve kendilerinden bu seslerin 5-Mükemmel, 4-İyi, 3-Orta, 2-Kötü,
1-Çok Kötü şeklinde puanlamaları istenir. Tüm puanların aritmetik ortalaması sistemin
genel puanını verir. Sistem MOS değerlendirme sistemiyle değerlendirilen bir teste tabi
tutulmuştur. Görme engelli ve görme engelli olmayan toplam 25 kişilik bir grup üzerinde
5 cümle ile yapılan değerlendirme sonucunda konuşma sentezleyici 5 tam puan üzerinden
4,00 puan almıştır.
8
6. SONUÇLAR
Bu çalışmada Türkçe metinler için kullanılabilecek TURS adlı, basit ve esnek yapılı bir
konuşma sentezleyici geliştirilmiştir. Sentezleyici eklemeli sentezleme yapısına en uygun
en küçük ses birimlerini kullanarak düşük maliyetli bir veri tabanı kullanmaktadır.
Geleneksel konuşma sentezleyici sistemler yaklaşık 150 megabaytlık bir veritabanına
ihtiyaç duyarken TURS konuşma sentezleyici veritabanı 17 megabayt veritabanına
sahiptir.
Sentezlenen konuşmanın doğallığını artırma amaçlı çalışmalar yapılmıştır. Kodlamanın 3.
parti yazılımlardan bağımsız olarak tek bir sınıf dosyası olarak kullanılabilmesi
uygulamanın farklı platformlara taşınmasında avantaj sağlayacağı düşünülmektedir.
Geliştirme aşamasında karmaşık yöntemler yerine kolay anlaşılır, uygulaması kolay
yöntemler seçilmiştir.
Bu aşamadan sonra çalışmaya ilave edilecek bilgisayar öğrenme teknikleri sayesinde
sentezlenen konuşmaya duygusal insansı ifadeler katmak amaçlanmaktadır.
9
7. Kaynaklar
1. Subaşıoğlu,
F.
(2000).
“Engellilerin
Internet’e
Erişimi
Üzerine”,
Türk
Kütüphaneciliği, 14 (2), 188-204.
2. Sel, İ., Hanbay, D., Karbatak, M. (2011). “Beyin Bilgisayar Arayüzleri için Türkçe
Metinden Konuşma Sentezleme Sistemi”, Elektrik-Elektronik ve Bilgisayar
Sempozyumu
3. Tatham, M. and Morton, K., “Developments in Speeech Synthesis”, John Wiley &
Sons Ltd, England, 23-25 (2005).
4. Huang, X., Acero, A., Hon, H.W. (2001). Spoken Language Processing: A Guide to
Theory, Algorithm and System Development. New Jersey: Prentice Hall PTR.
5. Ünaldı, İ. (2007). “Taşınabilir Cihazlar İçin Türkçe Metinden Konuşma Sentezleme
Sistemi”, Yüksek Lisans Tezi, Hacettepe Üniversitesi, Fen Bilimleri Enstitüsü,
Ankara.
6. Eker, B., “Turkish text to speech system”, Yüksek Lisans Tezi,
Bilkent
Üniversitesi Mühendislik ve Fen Bilimleri Enstitüsü, Ankara, 19-20 (2002).
7. Canal, Ş. M., Kurnaz, S. ve Yılmaz, E., “Türkçe metinden konuşma sentezlemede
yaşanan sıkıntılar ve çözüm yöntemleri”, Havacılık ve Uzay Teknolojileri Dergisi,
4 (10): 47-55 (2010).
10
Download

Öğrenci Kayıt Formu - Bartın Üniversitesi Edebiyat Fakültesi