Saya mencoba membandingkan 2 sampel pidato dan menilai kesamaan. Pikirkan seseorang yang mencoba mengulangi frasa, dan kemudian membandingkan 2 file audio tersebut.
Saya mulai dengan menerapkan algoritma MFCC (http://en.wikipedia.org/wiki/Mel-frequency_cepstrum). Saya menghitung MFCC dari kedua sampel audio, yang memberi saya sekitar 500 frame audio (masing-masing 10ms, dengan 30% tumpang tindih seperti sebelumnya) yang memiliki 14 atau lebih koefisien MFCC. Jadi matriks 500x14 untuk setiap sinyal audio.
Lalu saya melakukan pendekatan naif dengan hanya membedakan matriks. Ini tidak memberikan hasil yang sangat menjanjikan. Separuh dari waktu ketika saya membandingkan sampel audio yang sangat berbeda (di mana frasa yang berbeda diucapkan), saya mendapatkan sedikit perbedaan daripada membandingkan audio di mana saya mencoba mengulangi frasa yang sama! Ini jelas mundur dan tidak bisa memberi saya algoritma penilaian yang baik.
Bagaimana saya bisa memperbaiki ini? Saya pikir MFCC adalah bagian yang sangat penting dalam pemrosesan pidato, meskipun jelas saya perlu berbuat lebih banyak dengannya.
Jawaban:
Pertama, Anda harus memperbaiki perbedaan waktu. Misalnya, jika satu ucapan adalah "--heeelloooo ---" dan yang lainnya "hellooooooo ----" (- mewakili keheningan), perbandingan berpasangan langsung dari frame MFCC akan menunjukkan perbedaan hanya karena dua sampel tidak selaras. Anda dapat menggunakan Dynamic Time Warping untuk menemukan keselarasan terbaik antara dua urutan vektor fitur - dan menghitung jarak yang sesuai.
Masalah kedua adalah bahwa jika kedua rekaman tersebut tidak berasal dari pembicara yang sama, Anda harus mengkompensasi perbedaan dalam warna timbre. MFCC seorang wanita yang mengatakan "aaa" tidak sama dengan MFCC dari pembicara pria yang mengatakan fonem yang sama! Model yang relatif sederhana untuk menjelaskan variasi dalam timbre suara adalah dengan mengasumsikan bahwa terdapat transformasi linear yang "memetakan" MFCC dari satu speaker ke MFCC dari speaker lain (agar adil, hanya satu bagian kecil dari ini yang mentransformasikan secara akurat model bagaimana mengubah parameter seperti usia, jenis kelamin, dll "menggeser" MFCC). Setelah dua rekaman diselaraskan, bahkan secara kasar, Anda dapat menggunakan prosedur kuadrat terkecil untuk memperkirakan . Prosedur ini dikenal sebagai normalisasi speaker atau adaptasi speaker.Γ Γ
Prosedur perbandingan Anda akan terdiri dari langkah-langkah berikut. dan adalah urutan MFCC asli Anda.SEBUAH B
Hal terakhir yang terlintas di pikiran saya adalah Anda harus membuang koefisien MFCC pertama (yang secara kasar mengekspresikan kenyaringan sinyal) untuk meningkatkan kapasitas sistem Anda untuk mencocokkan ucapan yang diucapkan pada level volume / perekaman yang berbeda.
sumber