Sebagai tindak lanjut dari pertanyaan saya sebelumnya, saya bertanya-tanya apakah ada perpustakaan pendeteksi wicara. Dengan deteksi ucapan yang saya maksudkan melewati buffer audio dan mendapatkan kembali indeks di mana pidato dimulai dan berhenti. Jadi jika saya memiliki 10 detik pengambilan sampel audio pada 44kHz, saya akan mengharapkan array angka seperti:
44000
88000
123000
190334
...
Ini akan menunjukkan misalnya bahwa pidato dimulai satu detik dan kemudian selesai pada titik dua detik, dll.
Yang tidak saya cari adalah pengenalan ucapan yang menulis teks dari kata yang diucapkan. Sayangnya ini adalah apa yang saya lihat banyak ketika saya google 'deteksi wicara'.
Akan lebih bagus jika perpustakaan berada di C, C ++ atau bahkan Objective-C karena saya sedang menulis aplikasi untuk iPhone.
Terima kasih!
Jawaban:
Dalam jawaban saya untuk pertanyaan Anda itu, saya telah menyebutkan bahwa Voice Activity Detection adalah fitur standar untuk codec seperti G.729 dan yang lainnya.
Anda harus mencari encoders referensi dan decoder untuk algoritma yang berlaku ini.
Salah satu contohnya adalah - http://www.voiceage.com/openinit_g729.php
Sumber lain yang mungkin adalah codec Speex. Yang mengimplementasikan VAD
BTW: Anda harus google "Deteksi Aktivitas Suara" atau "Bicara Spurt" daripada "Deteksi Bicara".
sumber
Ada implementasi open source dalam proyek Sphinx dan Freeswitch. Saya pikir mereka semua detektor berbasis energi tidak memerlukan model apa pun.
Sphinx 4 (Java tetapi seharusnya mudah untuk port ke C / C ++)
PocketSphinx
Freeswitch
Jawaban diambil dari pertanyaan Stackoverflow .
sumber
Deteksi Aktivitas Suara menggunakan Adaptive Threshold sangat mudah dan praktis untuk diterapkan pada platform apa pun
Di sini Anda dapat memiliki algoritma yang berbasis Energi Adaptif
Tambahan kecil untuk algoritme di atas ketika Anda menghitung untuk pertama kalinya menggunakan mengambil Mean of Energy dan menandai sebagai Emin
dalam hal ini frame yang Anda bagikan dibagi menjadi sub-bingkai dan selanjutnya Anda dapat memeriksa setiap sub-bingkai untuk aktivitasnya
Anda dapat mengatasi masalah lebih lanjut dengan bingkai yang tumpang tindih
sumber
Bagaimana dengan LibVAD?
Sepertinya itu tidak persis seperti yang Anda gambarkan.
Pengungkapan: Saya pengembang di belakang LibVAD
sumber