Bagaimana cara meniru / menyalin / memalsukan suara seseorang?

19

Apakah ada aplikasi yang ada untuk sampel suara seseorang dan menggunakannya untuk memodulasi suara lain atau mensintesis teks agar menyerupai yang asli?

Sebagai contoh, Demo Text-to-Speech oleh AT&T ini memungkinkan Anda memilih suara dan bahasa dari preset yang saya kira didasarkan pada beberapa suara manusia yang telah disampel.

Bagaimana Anda menyebut proses ini? Apakah itu modulasi suara? Sintesis suara?

clapas
sumber
Saya kira jika Anda memiliki sampel pelatihan yang cukup, untuk kata-kata tertentu maka itu mungkin
Phorce
Di komunitas riset, ini disebut "konversi suara".
pichenettes
@ user1582478 Saya punya banyak dari mereka, bagaimana Anda akan melanjutkan?
clapas
Apakah mungkin untuk membuat suara dari teman katakan lalu menerima siaran langsung pada panggilan telepon seperti morf suara tetapi dengan suara yang Anda buat?
Ini tidak memberikan jawaban untuk pertanyaan itu. Untuk mengkritik atau meminta klarifikasi dari penulis, tinggalkan komentar di bawah posting mereka - Anda selalu dapat mengomentari posting Anda sendiri, dan setelah Anda memiliki reputasi yang cukup Anda akan dapat mengomentari posting apa pun .
Matt L.

Jawaban:

24

Catatan pertama: Kebanyakan sistem text-to-speech modern, seperti yang ada di AT&T yang Anda tautkan, menggunakan sintesis pidato concatenative . Teknik ini menggunakan basis data besar rekaman suara seseorang yang mengoleksi banyak kalimat - dipilih sehingga jumlah kombinasi fonem terbesar ada. Mensintesis sebuah kalimat dapat dilakukan hanya dengan merangkai bagian-bagian dari korpus ini - bagian yang menantang adalah membuat merangkai bersama menjadi mulus dan ekspresif.

Ada dua rintangan besar jika Anda ingin menggunakan teknik ini untuk membuat presiden Obama mengucapkan kata-kata yang memalukan:

  • Anda harus memiliki akses ke koleksi besar kalimat suara target, lebih disukai direkam dengan kondisi perekaman yang seragam dan kualitas yang baik. AT&T memiliki anggaran untuk merekam puluhan jam dari speaker yang sama di studio yang sama, tetapi jika Anda ingin memalsukan suara seseorang hanya dari 5 menit rekaman itu akan sulit.
  • Ada sejumlah besar penyelarasan manual dan preprocessing sebelum bahan baku direkam dalam "format" yang tepat untuk dieksploitasi oleh sistem sintesis pidato concatenative.

Intuisi Anda bahwa ini adalah solusi yang mungkin valid - asalkan Anda memiliki anggaran untuk mengatasi dua masalah ini.

Untungnya, ada teknik lain yang dapat bekerja dengan pengawasan yang lebih sedikit dan data yang lebih sedikit. Bidang sintesis ucapan yang tertarik pada "pemalsuan" atau "meniru" satu suara dari rekaman dikenal sebagai konversi suara . Anda memiliki rekaman A1 pembicara target A kalimat ucapan 1, dan rekaman B2 pembicara sumber B kalimat kalimat 2, Anda bertujuan menghasilkan rekaman A2 speaker A kalimat ucapan 2, mungkin dengan akses ke rekaman B1 speaker B yang mereproduksi dengan suaranya ucapan yang sama dengan target speaker.

Garis besar sistem konversi suara adalah sebagai berikut:

  1. Fitur audio diekstraksi dari rekaman A1, dan mereka dikelompokkan ke dalam kelas akustik. Pada tahap ini, ini seperti memiliki semua "a" speaker A, semua "o" speaker A, dll. Perhatikan bahwa ini adalah operasi yang jauh lebih sederhana dan kasar daripada pengenalan suara yang benar - kami tidak tertarik pada mengenali kata-kata yang dibentuk dengan benar - dan kita bahkan tidak tahu tas mana yang berisi "o" dan tas mana yang berisi "a" - kita hanya tahu bahwa kita memiliki beberapa contoh suara yang sama di setiap tas.
  2. Proses yang sama diterapkan pada B2.
  3. Kelas akustik dari A1 dan B2 diselaraskan. Untuk melanjutkan analogi tas, ini setara dengan memasangkan tas dari langkah 1 dan 2, sehingga semua suara yang kita miliki di tas ini dari speaker A harus sesuai dengan suara yang kita miliki di tas itu dari speaker B. Pencocokan ini adalah jauh lebih mudah dilakukan jika B1 digunakan pada langkah 2.
  4. Fungsi pemetaan diperkirakan untuk setiap pasangan tas. Karena kita tahu bahwa tas ini berisi suara dari speaker A, dan tas itu memiliki suara yang sama tetapi dikatakan oleh speaker B - kita dapat menemukan operasi (misalnya perkalian matriks pada vektor fitur) yang membuatnya sesuai. Dengan kata lain, kita sekarang tahu cara membuat speaker 2's "o" terdengar seperti speaker 1's "o".
  5. Pada tahap ini kami memiliki semua kartu untuk melakukan konversi suara. Dari setiap irisan rekaman B2, kami menggunakan hasil langkah 2. untuk mencari tahu kelas akustik yang sesuai dengannya. Kami kemudian menggunakan fungsi pemetaan yang diperkirakan pada langkah 4 untuk mengubah irisan.

Saya menekankan fakta bahwa ini beroperasi pada tingkat yang jauh lebih rendah daripada melakukan pengenalan suara pada B2, dan kemudian melakukan TTS menggunakan suara A1 sebagai corpus.

Berbagai teknik statistik digunakan untuk langkah 1 dan 2 - GMM atau VQ menjadi yang paling umum. Berbagai algoritma penyelarasan digunakan untuk bagian 2 - ini adalah bagian tersulit, dan jelas lebih mudah untuk menyelaraskan A1 vs B1, daripada A1 vs B2. Dalam kasus yang lebih sederhana, metode seperti Dynamic Time Warping dapat digunakan untuk membuat perataan. Adapun langkah 4, transformasi yang paling umum adalah transformasi linear (perkalian matriks) pada vektor fitur. Transformasi yang lebih kompleks menghasilkan imitasi yang lebih realistis tetapi masalah regresi untuk menemukan pemetaan yang optimal lebih kompleks untuk dipecahkan. Akhirnya, seperti untuk langkah 5, kualitas resintesis dibatasi oleh fitur yang digunakan. LPC umumnya lebih mudah untuk berurusan dengan metode transformasi sederhana (ambil frame sinyal -> estimasi sisa dan spektrum LPC -> jika perlu pitch-shift residual -> terapkan spektrum LPC yang dimodifikasi untuk residu yang dimodifikasi). Menggunakan representasi ucapan yang dapat dibalikkan kembali ke domain waktu, dan yang memberikan pemisahan yang baik antara prosodi dan fonem adalah kuncinya di sini! Akhirnya, asalkan Anda memiliki akses ke rekaman menyelaraskan speaker A dan B mengatakan kalimat yang sama, ada model statistik yang secara bersamaan menangani langkah 1, 2, 3 dan 4 dalam satu prosedur estimasi model tunggal.

Saya mungkin akan kembali dengan bibliografi nanti, tetapi tempat yang sangat baik untuk mulai merasakan masalah dan kerangka keseluruhan yang digunakan untuk menyelesaikannya adalah Stylianou, Moulines and Cappé "Sebuah sistem untuk konversi suara berdasarkan klasifikasi probabilistik dan harmonik plus model noise ".

Sepengetahuan saya tidak ada banyak perangkat lunak yang melakukan konversi suara - hanya perangkat lunak yang memodifikasi properti dari sumber suara - seperti parameter panjang nada dan saluran vokal (Misalnya transformator IRCAM TRAX) - yang dengannya Anda harus mengacaukan harapan dengan membuat Anda merekam suara lebih dekat ke suara target.

pichenettes
sumber
Jawaban awsome! Saya mungkin tidak dapat memahaminya tanpa analogi tas ... Hanya ada satu hal yang saya tidak mengerti setelah penjelasan yang begitu jelas ini: untuk pemahaman saya, Anda selalu dapat memiliki B1! Terima kasih banyak.
clapas
Tidak jika A dan B berbicara bahasa yang berbeda (ada aplikasi konversi suara yang luar biasa di mana TTS dalam bahasa lain diputar ulang dengan suara Anda sendiri!). Atau jika A dan B adalah keduanya orang terkenal, di mana Anda tidak dapat menemukan kalimat umum yang cukup panjang di semua rekaman yang tersedia untuk umum, dan jika Anda tidak berbicara bahasa mereka sehingga Anda tidak dapat menggunakan rekaman suara Anda sebagai "Jembatan" antara keduanya.
pichenettes
Saya melihat. Terima kasih lagi @pichenettes. Saya akan mencoba melihat buku yang ditulis dari Stylianou et al. Cheers
clapas
Harap perbarui jawaban Anda dengan tautan ke akronim yang Anda gunakan. Misalnya LPC, VQ, GMM.
aaronsnoswell
Menanggapi komentar dari aaronsnoswell: LCP: linear predictive coding, VQ: vektor kuantisasi, GMM: model campuran Gaussian. Tidak jelas bahwa perluasan akronim ini banyak membantu karena masing-masing adalah ide yang rumit, tetapi (kira-kira) setiap ide berhubungan dengan pemodelan atau penjelasan data pst atau masa depan dari serangkaian sampel yang ada.
GregD
2

Anda dapat menggunakan sesuatu seperti MorphVox . Ini sebuah demonstrasi. Prosesnya disebut voice morphing atau konversi. Jika Anda tertarik pada aspek teknis, artikel terbaru yang dapat Anda pelajari adalah Konversi Suara Menggunakan Dynamic Kernel Partial Least Squares Regression .

Emre
sumber
Suara Dark Vader mengguncang teman, itu lucu. Yah, saya telah melihat efek serupa sebelumnya. Terima kasih
clapas
1

Saya mencari hal yang sama, tetapi tidak bisa dilakukan. Ada sebuah perusahaan di Skotlandia bernama CereProc yang melakukan pemodelan suara, tetapi mereka membutuhkan seseorang di lab mereka yang merekam jam audio dan biaya untuk memodelkan satu suara adalah sekitar USD $ 30 ribu.

Jim
sumber
0

Apa yang Anda cari disebut vocoder.

Sudahkah Anda mencoba vocoder Audcity? Audacity dapat diunduh dari: http://audacity.sourceforge.net/download . Demo tentang cara menggunakannya dapat ditemukan di https://www.youtube.com/watch?v=J_rPEmJfwNs .

SpeedCoder5
sumber
1
Vocoding terdiri dalam menerapkan amplop spektral dari satu rekaman audio (yang biasanya berupa suara) untuk menyaring suara lain (yang biasanya merupakan suara synthesizer mentah yang tidak dimodifikasi). Itu tidak dapat digunakan untuk memalsukan suara seseorang.
pichenettes
Ya, saya tahu Audacity, tetapi saya tidak mencoba vocoder. Saya pikir Anda hanya dapat menerapkan white noise ke amplop suara yang direkam. Terima kasih
clapas