Saya mencari kemungkinan untuk mengklasifikasikan suara (misalnya suara binatang) menggunakan spektrogram. Idenya adalah untuk menggunakan jaringan saraf convolutional yang mendalam untuk mengenali segmen dalam spektrogram dan menghasilkan satu (atau banyak) label kelas. Ini bukan ide baru (lihat misalnya klasifikasi suara ikan paus atau pengenalan gaya musik ).
Masalah yang saya hadapi adalah bahwa saya memiliki file suara dengan panjang yang berbeda dan karenanya spektogram dengan ukuran yang berbeda. Sejauh ini, setiap pendekatan yang saya lihat menggunakan sampel suara ukuran tetap tetapi saya tidak bisa melakukan itu karena file suara saya mungkin 10 detik atau 2 menit.
Dengan, misalnya, suara burung di awal dan suara katak di akhir (output harus "Burung, Katak"). Solusi saya saat ini adalah menambahkan komponen temporal ke jaringan saraf (membuat lebih banyak jaringan saraf berulang) tetapi saya ingin membuatnya tetap sederhana untuk saat ini. Ada ide, tautan, tutorial, ...?
sumber
Jawaban:
Untuk pengenalan suara otomatis (ASR), fitur bank filter berfungsi sebaik CNN pada spektrogram. Tabel 1 . Anda dapat melatih sistem DBN-DNN di fbank untuk mengklasifikasikan suara binatang.
Dalam praktiknya, ujaran ucapan yang lebih panjang dibagi menjadi ujaran yang lebih pendek karena pendekodean Viterbi tidak berfungsi dengan baik untuk ujaran yang lebih lama. Anda bisa melakukan hal yang sama.
Anda dapat membagi ujaran yang lebih panjang menjadi ujaran yang lebih kecil dengan panjang tetap. Membagi ujaran yang lebih panjang menjadi lebih kecil itu mudah. Masalahnya adalah meningkatnya panjang ucapan-ucapan kecil untuk mencapai panjang tetap.
Anda dapat membelokkan sumbu frekuensi spektrogram untuk menambah ucapan yang lebih kecil. Augmentasi data ini telah terbukti meningkatkan augmentasi data kinerja ASR .
Untuk ucapan yang lebih panjang dengan beberapa suara di dalamnya, Anda bisa menggunakan algoritma segmentasi musik untuk membaginya menjadi beberapa ucapan. Ucapan-ucapan ini dapat dibuat dengan panjang tetap baik dengan pembagian atau augmentasi.
sumber
RNN tidak menghasilkan hasil yang cukup baik dan juga sulit untuk dilatih, jadi saya pergi dengan CNN.
Karena suara binatang tertentu hanya beberapa detik, kita dapat membagi spektrogram menjadi potongan-potongan. Saya menggunakan panjang 3 detik. Kami kemudian melakukan klasifikasi pada setiap chunk dan rata-rata output untuk membuat prediksi tunggal per file audio. Ini berfungsi dengan sangat baik dan juga mudah diterapkan.
Penjelasan lebih mendalam dapat ditemukan di sini: http://ceur-ws.org/Vol-1609/16090547.pdf
sumber