Klasifikasi audio

Tugas mengidentifikasi apa yang diwakili oleh audio disebut klasifikasi audio . Model klasifikasi audio dilatih untuk mengenali berbagai peristiwa audio. Misalnya, Anda dapat melatih model untuk mengenali peristiwa yang mewakili tiga peristiwa berbeda: bertepuk tangan, menjentikan jari, dan mengetik. TensorFlow Lite menyediakan model terlatih yang dioptimalkan yang dapat Anda terapkan di aplikasi seluler Anda. Pelajari lebih lanjut klasifikasi audio menggunakan TensorFlow di sini .

Gambar berikut menunjukkan keluaran model klasifikasi audio di Android.

Tangkapan layar contoh Android

Memulai

Jika Anda baru menggunakan TensorFlow Lite dan menggunakan Android, sebaiknya jelajahi contoh aplikasi berikut yang dapat membantu Anda memulai.

Anda dapat memanfaatkan API bawaan dari TensorFlow Lite Task Library untuk mengintegrasikan model klasifikasi audio hanya dalam beberapa baris kode. Anda juga dapat membuat pipeline inferensi kustom Anda sendiri menggunakan Support Library TensorFlow Lite .

Contoh Android di bawah ini menunjukkan implementasi menggunakan TFLite Task Library

Lihat contoh Android

Lihat contoh iOS

Jika Anda menggunakan platform selain Android/iOS, atau jika Anda sudah familiar dengan TensorFlow Lite API , download model starter dan file pendukung (jika ada).

Unduh model pemula dari TensorFlow Hub

Deskripsi model

YAMNet adalah pengklasifikasi peristiwa audio yang menggunakan bentuk gelombang audio sebagai masukan dan membuat prediksi independen untuk setiap 521 peristiwa audio dari ontologi AudioSet . Model ini menggunakan arsitektur MobileNet v1 dan dilatih menggunakan korpus AudioSet. Model ini awalnya dirilis di TensorFlow Model Garden, yang berisi kode sumber model, checkpoint model asli, dan dokumentasi yang lebih detail.

Bagaimana itu bekerja

Ada dua versi model YAMNet yang dikonversi ke TFLite:

  • YAMNet Adalah model klasifikasi audio asli, dengan ukuran input dinamis, cocok untuk Pembelajaran Transfer, penerapan Web dan Seluler. Ini juga memiliki keluaran yang lebih kompleks.

  • YAMNet/klasifikasi adalah versi terkuantisasi dengan input bingkai panjang tetap yang lebih sederhana (15600 sampel) dan mengembalikan satu vektor skor untuk 521 kelas acara audio.

masukan

Model ini menerima array Tensor 1-D float32 atau NumPy dengan panjang 15600 yang berisi bentuk gelombang 0,975 detik yang direpresentasikan sebagai sampel mono 16 kHz dalam rentang [-1.0, +1.0] .

Keluaran

Model ini mengembalikan Tensor bentuk float32 2-D (1,521) yang berisi prediksi skor untuk masing-masing dari 521 kelas dalam ontologi AudioSet yang didukung oleh YAMNet. Indeks kolom (0-520) tensor skor dipetakan ke nama kelas AudioSet yang sesuai menggunakan Peta Kelas YAMNet, yang tersedia sebagai file terkait yamnet_label_list.txt yang dikemas ke dalam file model. Lihat di bawah untuk penggunaan.

Kegunaan yang cocok

YAMNet dapat digunakan

  • sebagai pengklasifikasi peristiwa audio yang berdiri sendiri yang memberikan dasar yang masuk akal di berbagai macam peristiwa audio.
  • sebagai ekstraktor fitur tingkat tinggi: keluaran penyematan 1024-D dari YAMNet dapat digunakan sebagai fitur masukan model lain yang kemudian dapat dilatih pada sejumlah kecil data untuk tugas tertentu. Hal ini memungkinkan pembuatan pengklasifikasi audio khusus dengan cepat tanpa memerlukan banyak data berlabel dan tanpa harus melatih model besar secara end-to-end.
  • sebagai awal yang baik: parameter model YAMNet dapat digunakan untuk menginisialisasi bagian dari model yang lebih besar yang memungkinkan penyesuaian dan eksplorasi model lebih cepat.

Keterbatasan

  • Output pengklasifikasi YAMNet belum dikalibrasi di seluruh kelas, jadi Anda tidak dapat secara langsung memperlakukan output sebagai probabilitas. Untuk tugas tertentu, kemungkinan besar Anda perlu melakukan kalibrasi dengan data khusus tugas yang memungkinkan Anda menetapkan ambang batas dan penskalaan skor per kelas yang tepat.
  • YAMNet telah dilatih pada jutaan video YouTube dan meskipun video ini sangat beragam, masih terdapat ketidakcocokan domain antara rata-rata video YouTube dan input audio yang diharapkan untuk tugas tertentu. Anda harus melakukan sejumlah penyesuaian dan kalibrasi agar YAMNet dapat digunakan di sistem apa pun yang Anda buat.

Kustomisasi model

Model terlatih yang disediakan dilatih untuk mendeteksi 521 kelas audio yang berbeda. Untuk daftar lengkap kelas, lihat file label di repositori model .

Anda dapat menggunakan teknik yang dikenal sebagai pembelajaran transfer untuk melatih ulang model agar dapat mengenali kelas yang tidak ada dalam rangkaian aslinya. Misalnya, Anda dapat melatih ulang model untuk mendeteksi beberapa nyanyian burung. Untuk melakukan ini, Anda memerlukan satu set audio pelatihan untuk setiap label baru yang ingin Anda latih. Cara yang disarankan adalah menggunakan pustaka TensorFlow Lite Model Maker yang menyederhanakan proses pelatihan model TensorFlow Lite menggunakan kumpulan data khusus, dalam beberapa baris kode. Ini menggunakan pembelajaran transfer untuk mengurangi jumlah data dan waktu pelatihan yang diperlukan. Anda juga dapat belajar dari Pembelajaran transfer untuk pengenalan audio sebagai contoh pembelajaran transfer.

Bacaan dan sumber lebih lanjut

Gunakan sumber daya berikut untuk mempelajari lebih lanjut tentang konsep yang berkaitan dengan klasifikasi audio: