Bagaimana pengembang tunanetra membuat penyintesis ucapan sendirian



Kita semua, dengan satu atau lain cara, telah menemui pengguna dengan masalah penglihatan. Mereka yang bertanggung jawab atas UI, apa pun situsnya, aplikasi selulernya, atau perangkat lunak lainnya, kemungkinan besar tahu tentang perlunya memperhitungkan kebutuhan orang-orang tersebut dan oleh karena itu membuat mode kontras yang ditingkatkan, font yang lebih besar, dan sebagainya.



Tetapi bagaimana jika pengguna benar-benar buta dan semua mode ini tidak membuat hidupnya lebih mudah? Di sinilah pembaca layar dan penyintesis suara memasuki arena, yang tidak dapat mereka lakukan tanpanya. Dan hari ini saya ingin memberi tahu Anda tentang salah satunya.



Ini dipanggil dari RhVoice dan disebutkan dalam beberapa publikasi di HabrΓ©. Tetapi tahukah Anda bahwa banyak yang menganggapnya sebagai synthesizer gratis terbaik untuk pidato Rusia (dan tidak hanya), dan itu ditulis sendiri oleh pengembang yang sepenuhnya buta - Olga Yakovleva?



Hari ini kami memulihkan keadilan historis dan belajar sedikit tentang penyintesis itu sendiri secara umum, dan Olga pada khususnya.



Mari kita buka semua kartu sekarang juga: synthesizer github



Kode synthesizer didistribusikan secara gratis di bawah GPL, yang berarti siapa pun dapat mengintegrasikannya ke dalam produk mereka. Tersedia dalam tiga platform: Windows, Linux dan Android. Olga adalah pengembang sendiri dan bekerja di Linux. Synthesizer pidato Rusia terbaik (dari sumber terbuka), dianggap oleh pengguna sendiri dan ini bukan hanya orang-orang dengan penglihatan yang buruk. Dalam pekerjaannya, synthesizer menggunakan sintesis parametrik statistik dan didasarkan pada perkembangan proyek yang ada, seperti HTS, dan studi ilmiah yang diterbitkan. Ini adalah jaringan neural dalam hibrida yang bekerja dengan model Markov tersembunyi. Tugas jaringan tersebut adalah memecahkan parameter yang tidak diketahui berdasarkan observasi. Dapat dianggap bahwa ini adalah jaringan Bayesian yang paling sederhana. HTS sendiri didasarkan pada perkembangan proyek lain - HTK . Tetapi di sini kami sangat tertarik pada bahwa beberapa perkembangan telah diterbitkan untuk penggunaan gratis, termasuk deskripsi algoritme dan teknik terapan.



Synthesizer sendiri diposisikan sebagai alat untuk pekerjaan sehari-hari. Ini dapat digunakan untuk tujuan yang lebih kreatif seperti menyuarakan buku, tetapi masih lebih baik ketika orang berbicara.



Olga memulai proyeknya hampir 10 tahun yang lalu, ketika dia mulai belajar Linux dan tidak menemukan synthesizer yang nyaman untuk dirinya di sana. Dia menulis semua kodenya sendiri, menggunakan tampilan Braille khusus untuk ini. Ini adalah perangkat khusus yang dirancang untuk menampilkan informasi teks dalam bentuk karakter Braille enam titik. Dia juga menggunakan JAWS, pembaca layar yang menelusuri riwayatnya kembali ke DOS dan juga dibuat dengan partisipasi aktif para tunanetra.



Sekarang setelah pendahuluan diberikan, mari kita pelajari lebih dalam lagi tentang dunia penyintesis suara.



Apa itu penyintesis ucapan dan apa saja yang tercakup di dalamnya?



Secara tradisional, dianggap bahwa setiap penyintesis terdiri dari dua bagian: komponen bahasa dan komponen pembangkit sinyal ucapan. Komponen bahasa menganalisis teks yang diterima dari pembaca layar. Tugasnya adalah memecah teks menjadi kalimat, kalimat menjadi frasa, kata, dan suku kata. Pada akhirnya, transkripsi semua kata dibuat dan peta suara dibuat darinya (seperti yang diketahui semua orang, tidak selalu seperti yang tertulis atau diucapkan). Analisis ini dapat dilakukan dengan kedalaman studi yang berbeda. RhVoice, misalnya, kekurangan sumber daya untuk operasi kompleks seperti mendefinisikan peran dalam kalimat atau bagian pidato. Tetapi bagaimanapun juga, pada akhir penguraian, kita mendapatkan satu set suara yang harus dirakit oleh komponen penghasil sinyal suara menggunakan dasar suara yang telah direkam sebelumnya. Kami akan membahas masing-masing komponen secara lebih rinci nanti.





Demonstrasi bekerja dengan synthesizer



Kisah Olga



Olga tinggal di Cheboksary, lulus dari fakultas matematika Universitas Negeri Chuvash dan bekerja sebagai programmer. Seperti semua orang buta, dia belajar di sekolah khusus. Pada awalnya terdapat 6 kelas di sebuah sekolah di Nizhny Novgorod, karena pada saat itu tidak ada tempat di Cheboksary yang menerima anak-anak yang buta total. Tetapi enam tahun kemudian, dia masih berhasil kembali ke kampung halamannya, dan Olga menyelesaikan studinya di Cheboksary. Di sekolah yang sama, Olga jatuh cinta pada matematika, yang kemudian membuatnya bisa masuk Fakultas Matematika. Pada titik tertentu, dia berpikir untuk memasuki IWT, tetapi di sini ketidakpastian dalam kemampuannya sendiri berperan. Ya, dan diantara lulusan FMIPA ada beberapa yang tunanetra, dan pada saat wawancara pendahuluan, dekan mengatakan bahwa programmernya lebih siap dari pada di TIK.



Olga menerima pengalaman pertamanya bekerja dengan komputer bukan di sekolah, tetapi di universitas, di perpustakaan tempat mereka membeli komputer khusus yang diperlengkapi untuk digunakan oleh tunanetra, dengan program JAWS terpasang (pembaca layar yang telah memimpin sejarahnya sejak 1989). Di sana dia mempelajari buku teks Windows 95 Sarah Morley yang terkenal. Kemungkinan besar, Anda sekarang akan terkejut, karena buku teks apa yang begitu terkenal, yang belum pernah Anda dengar? Jawabannya terletak pada judulnya: "Windows 95 untuk tunanetra dan tunanetra"... Perbedaan utama antara buku teks semacam itu dari yang sudah kita kenal semua adalah penekanan pada penjelasan berbagai objek dan opsi untuk mengelolanya. Karena untuk tunanetra, instruksi dalam formulir "klik pada daftar drop-down dan pilih item menu yang diinginkan" agak tidak berguna. Mereka tidak melihat layar, kursor mouse, dan bahkan lebih - mereka tidak tahu seperti apa tampilan jendela dan daftar drop-down. Ngomong-ngomong, karena ini, nuansa lain yang tidak kentara muncul - orang buta mungkin menjadi sandera dari bitness synthesizer yang digunakan. Jadi, lima tahun lalu, ketika beralih ke Windows 8, banyak yang menghadapi kurangnya dukungan untuk aplikasi 64 bit dari penyintesis ucapan dan beralih ke RhVoice, di mana dukungan ini sudah diterapkan.



Tapi mari kita kembali ke masa ketika Olga baru saja mulai menjelajahi daerah baru untuk dirinya sendiri. Speech synthesizer kemudian adalah program Digalo dengan suara Nikolay. Ini adalah bundel kanonik sehingga hasil karyanya benar-benar didengar oleh siapa saja yang online. Suaranya bisa dianggap identik dengan istilah "robotik", begitu eratnya dia memasuki budaya Internet dan digunakan dalam banyak video di YouTube. Ini mungkin mengapa mayoritas mutlak yakin bahwa Digalo adalah nama belakang Nikolai. 





Digalo Nikolay dalam segala kemuliaan



Memulai proyek Anda sendiri



Perjalanan Olga ke dunia synthesizer dimulai sekitar tahun 2010 dengan pengembangan driver NVDA (NonVisual Desktop Access) untuk synthesizer Festival. NVDA adalah pembaca layar gratis yang memungkinkan orang-orang tunanetra dan tunanetra berinteraksi sepenuhnya dengan komputer mereka. Kelas program yang serupa mencakup penyintesis ucapan dan kemampuan untuk menghasilkan keluaran ke tampilan braille.



Berkat Festival, Olga terjun ke dunia penyintesis suara dan menemukan bahwa tidak hanya perusahaan komersial, tetapi juga siapa saja yang ingin memiliki kesempatan untuk membuat komputer berbicara. Saat itu, sudah ada beberapa penyintesis ujaran terbuka, yang sebagian besar didistribusikan oleh para ilmuwan yang mempelajari teknologi sintesis ujaran.



Oleh karena itu, Olga melakukan eksperimen pertamanya berdasarkan karya rekan yang lebih berpengalaman di sekitar Festival yang sama. Ini adalah synthesizer pidato akademik yang dibuat pada tahun 1995 oleh sekelompok ilmuwan yang dipimpin oleh Alan Black. Mereka mengembangkan metode sintesis dan berdasarkan penelitian mereka, mereka membuat synthesizer sendiri, yang awalnya hanya demonstrasi hasil kerja mereka. Seiring waktu, proyek FestVox yang sama pentingnya ditambahkan ke dalamnya, memungkinkan Anda menghasilkan suara buatan baru, dan di atasnya dibumbui dengan dokumentasi yang cukup bagus. Saat itu, Festival sudah memiliki suara Alexander Rusia dengan dasar pidato yang cukup baik.



Apa itu dasar ucapan: dalam kasus RhVoice, ada lebih dari seribu kalimat khusus, yang dibaca oleh pembicara dengan pengucapan yang jelas dan tidak emosional. Kalimat ini harus dipilih sedemikian rupa sehingga mengandung semua diefon, yaitu kombinasi dari dua fonem. Dan alangkah baiknya jika masing-masing beberapa kali untuk variabilitas yang lebih besar. Menurut ingatan, sekitar 600 frasa digunakan dalam versi pertama. Lebih lanjut, penyintesis dapat membentuk kata apa pun dari fonem-fonem ini. Dalam bahasa Inggris, metode ini disebut pemilihan unit, dan di negara kita dikenal sebagai metode pemilihan unit suara. Ya, bukan yang paling modis dan awet muda, tetapi itu bekerja dengan andal seperti setrika. Setiap kalimat dimasukkan ke dalam database dan dianalisis: bunyi, posisinya dalam suku kata, dalam kata, dalam kalimat ditentukan. Fonem individu diklasifikasikan,lokasi mereka relatif satu sama lain dan seterusnya. Selama operasi kebalikannya, yaitu sintesis ucapan, untuk setiap fonem yang diperoleh dari transkripsi, Anda cukup memilih contoh (baca: tutup) yang paling sesuai dari database. Kadang-kadang dimungkinkan untuk menemukan korespondensi yang ketat, kadang-kadang Anda harus puas dengan yang paling mirip. Dalam dunia filologi, ini disebut fonetik teoretis dan praktis dan tidak ditemukan kemarin. Oleh karena itu, mustahil untuk menggunakan penyintesis ucapan tanpa membaca buku teks tentang fonetik. Ngomong-ngomong, buku teks yang sangat bagus diterbitkan di Universitas Negeri Moskow.Dalam dunia filologi, ini disebut fonetik teoretis dan praktis dan tidak ditemukan kemarin. Oleh karena itu, tidak mungkin untuk menggunakan penyintesis ucapan tanpa membaca buku teks tentang fonetik. Ngomong-ngomong, buku teks yang sangat bagus diterbitkan di Universitas Negeri Moskow.Dalam dunia filologi, ini disebut fonetik teoretis dan praktis dan tidak ditemukan kemarin. Oleh karena itu, tidak mungkin untuk menggunakan penyintesis ucapan tanpa membaca buku teks tentang fonetik. Ngomong-ngomong, buku teks yang sangat bagus diterbitkan di Universitas Negeri Moskow.



Dan di mana mendapatkan penawaran ini? Anda dapat menulis sendiri, tetapi ini adalah pekerjaan yang agak sulit dan ada dua cara alternatif. Anda dapat mengambil teks yang ditulis oleh seseorang sebelumnya, tetapi ini mungkin melanggar hak cipta atau mengeluarkan biaya. Oleh karena itu, penulis beberapa suara menggunakan teks dari Wikipedia. Untuk bahasa besar seperti Inggris atau Rusia, Anda dapat dengan mudah menemukan contoh yang diperlukan di sana. Bahasa kecil tidak beruntung dalam pengertian ini. Misalnya, trik ini tidak berhasil dengan Wikipedia bahasa Belarusia.



Apa perbedaan antara bahasa dan suara? Toh, tujuh tahun lalu masih belum ada penyiar berbahasa Ukraina atau Tatar. Bagaimana mereka muncul di penyintesis?



Suara dalam penyintesis ucapan



Semuanya dimulai dengan analisis bahasa, yang terdiri dari pembuatan database di mana sistem fonetik bahasa ini dijelaskan secara formal. Pangkalan semacam itu sudah dapat dibuat oleh seseorang dan dijual di pasar (dengan uang yang sangat baik). Jika tidak, Anda harus melakukannya sendiri. Untuk analisis setiap bahasa, program terpisah dikembangkan dan ini dapat memakan waktu hingga satu setengah tahun pengerjaan, tergantung pada kompleksitas bahasa. Misalnya, bahasa Italia sangat sederhana dalam hal sintesis ucapan, sedangkan bahasa seperti Arab dan Cina sangat rumit. Tapi rata-rata, penganalisis bahasa dibuat dalam setahun. Setelah kesiapannya, suara sudah tertulis. Ini telah memakan waktu sekitar tiga bulan. Rekaman sulih suara dan pekerjaan lain di studio membutuhkan waktu dua hingga tiga minggu. Ini karena faktabahwa pembicara dapat berbicara dengan kualitas dan keindahan sekitar empat jam sehari. Kemudian dia menjadi lelah dan tidak lagi terdengar cukup bersih. Jika Anda berpikir bahwa ini adalah kebodohan, maka tidak ada persyaratan yang sangat serius yang dikenakan pada kualitas catatan ini. Perusahaan komersial melakukan seluruh casting, tidak hanya memilih keindahan subjektif dari suara tersebut, tetapi juga, jika mungkin, menggunakan suara tertentu untuk bahasa tertentu dalam synthesizer mereka.



Kemudian catatan tersebut disegmentasikan menjadi potongan-potongan sesuai dengan database, dan kemudian menggunakan penganalisis bahasa, potongan-potongan ini digabungkan bersama. Artinya, analisis dibuat bahwa ini adalah kata benda, ini adalah kata kerja, berdiri di sebelah ini, yang berarti harus berbunyi seperti ini dan fonem terdekat diganti. Jadi peran penganalisis sangat penting: ia harus memperhatikan tidak hanya susunan suku kata dalam sebuah kata, tetapi juga susunan kata dalam kalimat dan tanda baca. Semua ini memengaruhi pelafalan. Dalam beberapa bahasa, kata yang sama dapat diucapkan secara berbeda, bergantung pada kata benda atau kata kerja.



Tetapi ini lebih merupakan rute untuk produk komersial, yang penciptanya memiliki sumber daya untuk penelitian mendalam semacam itu. Pengembang independen menggunakan opsi yang lebih sederhana: tanpa klasifikasi lengkap berdasarkan jenis kata, tetapi, misalnya, hanya pada tingkat kata / preposisi / gabungan independen, dll. Olga menempuh caranya sendiri dan menulis modul bahasanya berdasarkan buku teks dan artikel tentang fonetik. Untungnya, ada cukup banyak penelitian yang diterbitkan tentang topik ini.



Pernahkah Anda memperhatikan bahwa kebanyakan synthesizer menampilkan suara wanita lebih dulu? Ini bukan karena preferensi penulis, tetapi karena kompleksitas mengembangkan suara wanita. Suara wanita secara alami lebih tinggi, dan frekuensi tinggi lebih sulit untuk diproses daripada yang rendah. Dan jika Anda berhasil membuat suara wanita, maka suara pria pasti akan berhasil. Namun sebaliknya, bukan fakta.





Dalam kasus Olga, ini adalah hasrat pribadi untuk topik tersebut dan bahkan kebutuhan. Bagaimana dengan pengembangan komersial? Bagaimana mereka memutuskan bahasa mana yang akan ditambahkan dan mana yang tidak? Jawaban atas segalanya adalah uang. Opsi pertama yang jelas adalah menganalisis kemungkinan pasar penjualan untuk suara-suara baru. Sederhananya: bagaimana tingkat ekonomi negara dan apakah penduduknya punya uang untuk membeli produk mereka. Insentif kedua sudah lebih menarik. Ini adalah keinginan pemerintah atau organisasi lain untuk membuat sintesis ucapan untuk bahasa tertentu. Oleh karena itu, alat penyintesis suara dibuat untuk bahasa yang sangat kecil, hanya karena seseorang mengurusnya dan mengalokasikan uang untuk pengembangan. Dan, misalnya, di negara-negara Skandinavia ada undang-undang bahwa semua dokumen tertulis harus dapat diakses oleh tunanetra dan tunanetra. Oleh karena itu, setiap surat kabar yang diterbitkan harus memiliki versi audionya sendiri.



Dan untuk memahami urutan harga: pengembangan suara baru, dari perusahaan swasta, biayanya sekitar sepuluh hingga empat puluh ribu euro, tergantung pada kerumitan bahasanya. Pengembangan modul penganalisis membutuhkan biaya yang lebih banyak. Mengenai RhVoice, Olga memiliki posisi berprinsip - proyeknya akan selalu gratis. Lalu darimana uang untuk penyiar itu berasal? Pada tahap awal, ada relawan yang menawarkan bantuan. Mereka punya studio sendiri dan menawarkan untuk membayar penyiar, jadi Olga hanya bisa mengirimkan daftar proposal untuk sulih suara. Beginilah cara beberapa bahasa baru muncul di RhVoice. Kemudian mereka mulai berpaling padanya dengan permintaan khusus.



Tetapi nasib pengembangan lebih lanjut tergantung pada menemukan sumber daya yang diperlukan dalam akses gratis. Misalnya, tidak ada kamus terbuka tentang tekanan untuk bahasa Ukraina, dan tidak mungkin membuat penyintesis tanpa mengetahui bagaimana tekanan ditempatkan. Sekarang sudah ditambahkan, tetapi banyak pekerjaan telah dilakukan. Bahasa Rusia jauh lebih beruntung dalam hal ketersediaan bahan. Dan suara kanon "Alexander" tersedia untuk umum oleh penciptanya, berkat itu Olga dapat memulai eksperimen pertamanya dalam membuat penyintesis ucapan.



Bagaimana Anda bisa membuat penyintesis jika Anda tidak tahu bahasanya sama sekali? Biasanya, Anda tahu bahasa Rusia dan Inggris, tetapi diminta mengembangkan bahasa Arab? Tidak ada batasan teknis, yang utama adalah menemukan di Internet beberapa artikel dan materi tentang bahasa, tentang strukturnya, atau bahkan berkonsultasi dengan seorang filolog. Ini mungkin cukup untuk mengembangkan penyintesis ucapan awal. Memang, pada umumnya, jumlah informasi awal adalah standar: daftar fonem, aturan transkripsi dari representasi huruf hingga pelafalan, detail tentang bagian bantu bicara, dll. Masalah utamanya adalah pengembang tidak dapat memverifikasi hasil karyanya tanpa partisipasi penutur asli. Dan penutur asli seharusnya tidak hanya memberikan umpan balik yang jelas / tidak dapat dipahami, tetapi juga menjelaskan semua seluk-beluk dan nuansa tempat-tempat yang tidak beres. Dalam kasus RhVoice, Tatar telah menjadi bahasa yang sulit.Ahli filologi banyak membantu Olga bersamanya, dengan siapa dia dihubungkan oleh perwakilan dari Perpustakaan Kazan untuk Tunanetra dan Tunanetra, yang memprakarsai karya-karya ini. Dalam proses pengerjaan penyintesis, kamus terpisah dari pengucapan kata yang benar yang dipinjam dari bahasa Rusia telah disusun. Sehingga pinjaman terdengar persis sesuai dengan aturan bahasa Tatar, dan bukan bahasa Rusia. Dan ada baiknya kamus semacam itu disusun oleh para filolog profesional. Misalnya, tidak ada kamus seperti itu untuk Kirgiz, dan ada banyak bidang masalah, cara pemecahannya belum ditemukan secara teknis.Dalam proses pengerjaan penyintesis, kamus terpisah dari pengucapan kata yang benar yang dipinjam dari bahasa Rusia telah disusun. Sehingga pinjaman terdengar persis sesuai dengan aturan bahasa Tatar, dan bukan bahasa Rusia. Dan ada baiknya kamus semacam itu disusun oleh para filolog profesional. Misalnya, tidak ada kamus seperti itu untuk Kirgiz, dan ada banyak area masalah, cara pemecahannya belum ditemukan secara teknis.Dalam proses pengerjaan penyintesis, kamus terpisah dari pengucapan kata yang benar yang dipinjam dari bahasa Rusia telah disusun. Sehingga pinjaman terdengar persis sesuai dengan aturan bahasa Tatar, dan bukan bahasa Rusia. Dan ada baiknya kamus semacam itu disusun oleh para filolog profesional. Misalnya, tidak ada kamus seperti itu untuk Kirgiz, dan ada banyak bidang masalah, cara pemecahannya belum ditemukan secara teknis.



Masalah terpisah adalah penempatan stres. Dalam beberapa bahasa, lokasi tekanan dapat diprediksi, tetapi dalam bahasa Rusia dan Ukraina yang sama, Anda tidak dapat melakukannya tanpa kamus. Selain itu, ada algoritma prediksi stres berdasarkan kamus-kamus ini. Tetapi tidak mungkin melakukan ini tanpa memiliki kosakata dasar.



Apa di masa depan? Sebaliknya, fungsi baru apa, atau peningkatan dari yang sudah ada, yang paling sering diminta oleh pengguna? Pemimpin yang tidak perlu dipersoalkan di sini adalah permintaan untuk menambahkan satu atau lain bahasa. Pengerjaan bahasa baru sedang dilakukan, tetapi seperti yang disebutkan di atas, ini tidak terlalu cepat dan bergantung pada bantuan pakar eksternal. Dan juga banyak orang meminta untuk meningkatkan kualitas suara agar lebih mendekati natural. Namun, dengan alat yang tersedia untuk Olga, tidak akan ada peningkatan dramatis di sini. Benar, dari versi ke versi, perubahan suara masih dilakukan.



Sekarang Olga berharap akan ada komponen siap pakai untuk jaringan saraf yang ditulis dalam bahasa mirip C tingkat rendah yang akan dapat memberikan kinerja yang memadai pada perangkat seluler. Dan jika dijalankan di ponsel, maka ini akan berfungsi di platform lain. Proyek semacam itu sedang dikembangkan, dan kemudian dia akan dapat mengerjakan ulang penyintesisnya. Masalah penting lainnya yang harus dipecahkan adalah bahwa tidak ada cara yang sederhana dan mudah untuk menambahkan bahasa dan suara Anda sendiri di RhVoice. Ada orang yang siap membayar untuk pekerjaan ini, tetapi masalahnya adalah el classico: ada banyak permintaan, Olga adalah satu, dan seperti di sebagian besar proyek yang menyenangkan, basis kode adalah hutan ajaib yang merupakan tugas mematikan bagi orang lain selain pencipta untuk mengetahuinya. ... Di sebagian besar proyek ini, pengembang menyediakan seperangkat alat dan dokumentasi bagi mereka yang menginginkan,yang karenanya, mengetahui fonetik bahasa dan memiliki sisa pengetahuan, Anda dapat membuat modul bahasa Anda sendiri. Sejauh ini Olga tidak memiliki satu pun atau yang lain. Tapi ada rencana untuk melakukannya.



Sebagai kesimpulan, saya ingin mengatakan bahwa seperti ini, berkat satu orang yang antusias, pekerjaan yang sangat bagus telah dilakukan selama bertahun-tahun. Terima kasih lebih banyak, Olga.



Jika Anda juga ingin berterima kasih kepada Olga atas pekerjaannya yang tidak egois, atau bahkan ikut serta dalam pengembangan RhVoice, membantu proyek dengan pengetahuan, praktik terbaik, atau sponsor Anda, maka Anda dapat melakukannya dengan menghubungi Olga melalui githubnya .





All Articles