Bagaimana kami menciptakan kembali suara Leonid Kuravlev muda dari empat menit pidato

Halo! Nama saya Oleg Petrov, saya adalah kepala grup R&D di Speech Technology Center. Kami telah bekerja lama tidak hanya pada pengenalan suara, tetapi juga tahu bagaimana mensintesis suara. Contoh paling sederhana mengapa bisnis membutuhkan ini: sehingga untuk setiap skenario baru yang diajarkan robot suara, tidak perlu mengatur rekaman baru dengan orang yang pernah menyuarakannya. Kami juga mengembangkan produk berdasarkan suara dan biometrik wajah serta analitik suara. Secara umum, kami mengerjakan tugas yang serius dan kompleks untuk berbagai bisnis.







Namun baru-baru ini, rekan dari Sberbank datang kepada kami dengan proposal untuk mengambil bagian dalam sebuah cerita yang menghibur - untuk "menyuarakan" pahlawan Leonid Kuravlyov dalam sebuah video baru. Baginya, wajah Kuravlev dibuat ulang dari bingkai film "Ivan Vasilyevich Mengubah Profesi" dan ditumpangkan ke wajah aktor lain menggunakan teknologi Deepfake. Agar kami tidak hanya dapat melihat tetapi juga mendengar Georges Miloslavsky pada tahun 2020, kami memutuskan untuk membantu rekan-rekan kami. Memang, selama bertahun-tahun, suara kita semua berubah, dan bahkan jika Leonid Vyacheslavovich menyuarakan pahlawan itu, efeknya tidak akan sama.



Di bawah cut, saya akan memberi tahu Anda mengapa ini, dalam banyak hal tugas sintesis suara yang sudah dikenal, ternyata sedikit lebih sulit dari yang kami harapkan, dan saya akan menjelaskan mengapa suara seperti itu tidak dapat menipu sistem otorisasi biometrik berkualitas tinggi.



"Ivan Vasilievich Mengubah Profesi" dirilis pada tahun 1973. Dalam dekade ini, Leonid Kuravlev berhasil membintangi beberapa lusin film layar lebar. Namun demikian, ini tidak menyederhanakan tugas kami dengan cara apa pun:



  1. Karakter mungkin memiliki sedikit monolog panjang;
  2. Dalam film fitur, efek akustik, musik latar, dll. Ditumpangkan pada ucapan;
  3. Suara film-film lama dari tahun 70-an itu sendiri, meskipun dalam bentuk digital, mengandung cacat;
  4. Aktor selalu menyesuaikan cara bicara dengan karakter, memainkan berbagai emosi, tetapi perlu mengulangi cara bicara karakter Georges Miloslavsky.


Dan, terlepas dari tingkat ketidakpastian yang tinggi, kami mengambil tugas ini, dan inilah cara kami mendekati solusinya.



Pengumpulan data untuk pelatihan TTS



TTS (Text-to-speech) adalah teknologi untuk menerjemahkan teks cetak menjadi ucapan lisan. Saat ini, ini diimplementasikan, sebagai suatu peraturan, pada tumpukan metode pembelajaran yang mendalam, yang memungkinkan untuk mencapai kualitas suara yang tinggi dari suara yang disintesis dibandingkan dengan pendekatan lain. Misalnya, dengan menggunakan kemampuan superkomputer Christophari, model tersebut dapat dilatih untuk ini hanya dalam beberapa jam.



Sumber utama materi pidato adalah fragmen audio dari film dengan partisipasi Leonid Kuravlev - "Kerabat Jauh", "Tidak Bisa Menjadi", "Ivan Vasilyevich Mengubah Profesi", "Kesombongan Kesombongan". Tidak semua episode kemunculan pahlawan film cocok untuk tujuan pengajaran sistem TTS. Hal ini diperlukan untuk meminimalkan kehadiran musik latar dan kebisingan, pidato aktor lain, berbagai manifestasi non-wicara. Setelah telaten mencari fragmen yang cocok, kami punya minimal 7 menit pidato, cukup ekspresif dan variatif tergantung karakter karakter yang diperankan Leonid. Selain itu, setiap film memiliki gambar akustiknya sendiri, yang juga sangat memengaruhi persepsi dan mempersulit tugas.



Setelah menyiapkan transkripsi teks dari bahan yang dipotong sesuai dengan pipa biasa kami, transkripsi fonemik teks dibuat dan diselaraskan dengan trek audio. Meregangkan urutan fonem di atas suara diperlukan untuk menentukan tempat jeda aktual saat pembicara mengucapkan teks. Kami melakukan semua tindakan ini dengan bantuan prosesor linguistik dari desain kami sendiri dan model akustik, yang dengan ramah diberikan kepada kami oleh departemen pengenalan suara.



Susunan fonem yang tepat pada rekaman tidak begitu penting untuk model penyintesis jika model tersebut berisi modul Perhatian. Mekanisme perhatian memungkinkan Anda melatih model untuk membedakan fonem secara mandiri, namun, markup jeda jauh lebih penting - pertama, jeda dapat sangat bervariasi panjangnya, dan mengetahui panjang pastinya memungkinkan Anda menjaga stabilitas selama pembelajaran, dan kedua, jeda sering kali merupakan indikator batas sintagma - unit bicara struktural independen - yang sering memungkinkan untuk menggambar batas pernyataan independen. Hal ini memungkinkan Anda untuk membagi frasa yang terlalu panjang menjadi frasa yang lebih pendek untuk penggunaan memori GPU yang lebih efisien dalam proses pelatihan, serta sedikit meningkatkan kumpulan data dengan menghitung semua kemungkinan opsi pemisahan.



Pembersihan data



Meskipun kami mencoba mengekstrak rekaman yang paling bersih dari film-film tersebut, beberapa di antaranya masih disertai dengan suara asing (kebisingan kota, suara alam, suara air, dll.) Atau musik.



Untuk memperbaikinya, kami menggunakan dua proyek sumber terbuka: model untuk meningkatkan kualitas ucapan, yang bekerja langsung pada sinyal audio mentah, dan algoritmeuntuk membagi komposisi musik menjadi beberapa bagian: suara, drum, bas, dan lainnya. Kami perlu mendapatkan rekaman suara pembicara yang jelas dengan kualitas suara maksimal (untuk sistem TTS kami - 22050 Hz). Artefak apa pun pasti akan meresap ke dalam model saraf suara pembicara, terutama jika menyangkut sampel pelatihan sekecil itu. Berkat proyek yang terdaftar, musik dapat dipisahkan sepenuhnya dari suara tanpa kehilangan kualitas yang signifikan untuk sekitar setengah dari contoh yang dikumpulkan.



Akibatnya, setelah semua manipulasi, kami masih memiliki 4 menit dan 12 detik ucapan murni dalam suara Leonid Vyacheslavovich Kuravlev. Menjadi jelas bahwa arsitektur pertempuran TTS kami, yang, omong-omong, dapat Anda dengarkan di cloud) tidak cocok untuk kasus ini. Namun, tepat di tangan adalah model TTS tidak biasa yang relatif segar dari NVidia yang disebut Flowtron , berdasarkan metode Inverse Autoregressive Flow (IAF).



Fitur utama dari model Flowtron adalah model ini dapat digunakan untuk mensintesis berbagai cara pengucapan teks yang sama, dengan berbagai macam intonasi dan gaya bicara. Tetapi properti ini adalah "pedang bermata dua", karena contoh yang dihasilkan oleh model tersebut jauh dari selalu memadai dalam hal persepsi. Intonasi dapat berubah dengan sangat tiba-tiba dan tidak wajar, frekuensi nada (nada suara) dapat berubah dalam rentang yang luas, menciptakan suara yang lucu tetapi tidak perlu. Semakin banyak data awal untuk pelatihan, semakin alami dan stabil untuk menghasilkan ucapan. Tetapi bahkan dengan jumlah bahan yang sedikit, kadang-kadang dimungkinkan untuk mensintesis contoh yang baik. Kami memutuskan untuk mendapatkannya.



Pertama-tama, model yang ada, yang dilatih pada kumpulan data ekspresif yang besar, harus dilatih untuk berbicara dengan suara baru. Jika Anda hanya mengambil dan "memberi makan" semua 4 menit 12 detik data, maka, bergantung pada parameter yang mengatur sensitivitas pelatihan, model akan segera berlatih ulang (berbicara sangat buruk), atau belajar sangat, sangat buruk (juga tidak akan berbicara dengan suara baru) ... Dan Anda dapat "menangkap" nilai optimal dari parameter untuk waktu yang lama dan dengan antusias. Merupakan praktik yang baik untuk mencampur data baru dengan data lama dalam proporsi yang sesuai (misalnya, satu dari sepuluh). Kemudian, sebelum dimulainya proses pelatihan ulang, data baru akan memiliki waktu untuk "berasimilasi" dengan baik. Jadi mereka melakukannya, tetapi pertama-tama mereka memotong contoh jeda dengan tumpang tindih, yang, dengan sedikit gerakan jari pada keyboard, mengubah 4 menit ucapan menjadi 23.



Model yang dilatih dengan cara ini sudah dapat mensintesis sesuatu dengan suara artis, tetapi contoh yang kurang lebih memadai diperoleh dalam satu kasus dari dua puluh kasus. Penting juga untuk mendapatkan gaya, intonasi, emosi, kualitas suara yang diperlukan, yang dalam hal ini sangat sulit untuk dikelola. Jadi, perlu untuk mensintesis beberapa puluh ribu contoh untuk secara manual memilih beberapa yang cocok darinya.



Di sini aliran normalisasi membantu kami, tempat model itu sendiri dibuat. Faktanya, Flowtron belajar menampilkan fitur akustik dari sinyal ucapan, dengan adanya teks, ke titik-titik dari distribusi normal dengan dimensi yang sama, dan tampilan ini dapat dibalik. Selama sintesis, proses kebalikannya terjadi (oleh karena itu, alirannya terbalik dan normalisasi). Dengan demikian, Anda dapat mengambil rekaman, menampilkannya menggunakan model ke titik tertentu, dan dari titik ini mendapatkan kembali rekaman yang sama. Tak berguna? Tidak juga! Anda dapat dengan hati-hati mencampur titik-titik ini dengan titik yang sama dari rekaman lain dan dengan demikian mentransfer sebagian gaya dari rekaman terakhir. Anda dapat menambahkan sedikit noise ke dalamnya dan mendapatkan rekaman yang hampir asli, sedikit berbeda dari aslinya. Tetapi jika Anda menambahkan banyak suara, Anda menjadi tidak masuk akal. Dengan demikian, Anda dapat menggandakan kumpulan data asli, mendapatkan banyak yang serupa,tapi bukan contoh yang persis sama!



Namun, dalam hal ini orang tidak dapat sepenuhnya mengandalkan kesopanan model. Dia bisa mensintesis banyak hal. Saya harus mendengarkan beberapa ribu contoh kumpulan data yang direplikasi dan dengan ahli memilih yang berkualitas tinggi. Pendekatan ini bisa disebut “model dengan telinga”. Ini memungkinkan kami untuk mendapatkan satu jam penuh data pelatihan dari 23 menit awal (dengan mempertimbangkan pemotongan demi jeda).



Skema pelatihan multi-tahap ini telah membuahkan hasil. Meskipun sebagian besar contoh yang disintesis dengan bantuannya sudah terdengar cukup layak, masih diperlukan "kekerasan". Kami telah menambahkan poin dari contoh Ivan Vasilievich ke poin awal. Di suatu tempat efek film lama atau ruangan besar berubah. Atau ungkapan itu keluar dari suara seorang seniman, tetapi tidak dengan cara "miloslavia". Sudah harus memilih "hanya" dari beberapa ribu sampel. Ternyata ada sekitar tiga ratus contoh frasa pendek yang diperlukan dengan berbagai variasi gaya dan intonasi, yang sebenarnya kami pilih sampel untuk video promo Sber.



Jadi, setelah mengadakan semacam hackathon mingguan di tim sintesis pidato RTC kami, kami dapat menciptakan kembali suara 50 tahun yang lalu hanya dalam 4 menit pidato. Teknologi yang kami uji membuka peluang untuk menciptakan kembali suara-suara tokoh terkenal yang telah lama hilang dari materi yang sangat sedikit. Anda bisa melihat apa yang keluar dari semua ini pada akhirnya.





Setelah membaca semua ini, Anda mungkin berpikir bahwa kemampuan teknologi semacam itu meragukan keandalan sistem biometrik, karena suara orang publik, blogger video, atau pengguna jejaring sosial biasa yang menerbitkan video amatir dapat dengan mudah dipalsukan. Terlepas dari kenyataan bahwa suara buatan Leonid Kuravlev yang disintesis tidak dapat dibedakan dari yang asli, itu masih merupakan sintesis. Artinya mengandung ciri-ciri suara yang menunjukkan bahwa suara tersebut tidak hidup. Anti-spoofing dan perlindungan dari para peretas sering diadakan dalam kompetisi ilmiah khusus, termasuk kompetisi dunia, di mana tim kami menang... Di MDGs, kami percaya bahwa pengembang harus selalu selangkah lebih maju, dan tidak hanya menciptakan teknologi dan produk baru berdasarkan teknologi tersebut, tetapi juga terus mencari cara perlindungan baru, tidak berhenti pada apa yang telah dicapai.



All Articles