Tugas Pengklasifikasi Audio MediaPipe memungkinkan Anda mengklasifikasikan klip audio ke dalam kumpulan kategori yang ditentukan, seperti musik gitar, peluit kereta api, atau kicauan burung. Kategori ditentukan selama pelatihan model. Tugas ini beroperasi pada data audio dengan model machine learning (ML) sebagai klip audio independen atau streaming berkelanjutan dan menghasilkan daftar kategori potensial yang diberi peringkat berdasarkan skor probabilitas menurun.
Mulai
Mulai gunakan tugas ini dengan mengikuti salah satu panduan penerapan ini untuk platform target Anda. Panduan khusus platform ini akan memandu Anda dalam penerapan dasar tugas ini, termasuk model yang direkomendasikan, dan contoh kode dengan opsi konfigurasi yang direkomendasikan:
- Android - Contoh kode - Panduan
- Python - Panduan Contoh kode
- Web - Contoh kode - Panduan
Panduan khusus platform ini akan memandu Anda melakukan implementasi dasar tugas ini, termasuk model yang direkomendasikan, dan contoh kode dengan opsi konfigurasi yang direkomendasikan.
Detail tugas
Bagian ini menjelaskan kemampuan, input, output, dan opsi konfigurasi tugas ini.
Fitur
- Pemrosesan audio input - Pemrosesan mencakup resampling audio, buffering, framing, dan transformasi fourier.
- Label map locale - Menetapkan bahasa yang digunakan untuk nama tampilan
- Batas skor - Memfilter hasil berdasarkan skor prediksi.
- Deteksi top-k - Memfilter hasil deteksi angka.
- Daftar yang diizinkan dan ditolak label - Tentukan kategori yang terdeteksi.
Input tugas | Output tugas |
---|---|
Input dapat berupa salah satu jenis data berikut:
|
Pengklasifikasi Audio menghasilkan daftar kategori yang berisi:
|
Opsi konfigurasi
Tugas ini memiliki opsi konfigurasi berikut:
Nama Opsi | Deskripsi | Rentang Nilai | Nilai Default |
---|---|---|---|
running_mode |
Menetapkan mode berjalan untuk tugas. Pengklasifikasi Audio memiliki dua mode: AUDIO_CLIPS: Mode untuk menjalankan tugas audio pada klip audio independen. AUDIO_STREAM: Mode untuk menjalankan tugas audio di streaming audio, seperti dari mikrofon. Dalam mode ini, resultListener harus dipanggil untuk menyiapkan pemroses guna menerima hasil klasifikasi secara asinkron. |
{AUDIO_CLIPS, AUDIO_STREAM } |
AUDIO_CLIPS |
display_names_locale |
Menetapkan bahasa label yang akan digunakan untuk nama tampilan yang diberikan dalam
metadata model tugas, jika tersedia. Default-nya adalah en untuk
bahasa Inggris. Anda dapat menambahkan label yang dilokalkan ke metadata model kustom
menggunakan TensorFlow Lite Metadata Writer API
| Kode lokalitas | id |
max_results |
Menetapkan jumlah maksimum opsional hasil klasifikasi dengan skor tertinggi yang akan ditampilkan. Jika < 0, semua hasil yang tersedia akan ditampilkan. | Angka positif apa pun | -1 |
score_threshold |
Menetapkan nilai minimum skor prediksi yang menggantikan nilai yang diberikan dalam metadata model (jika ada). Hasil di bawah nilai ini akan ditolak. | [0,0, 1,0] | Tidak ditetapkan |
category_allowlist |
Menetapkan daftar opsional nama kategori yang diizinkan. Jika tidak kosong,
hasil klasifikasi yang nama kategorinya tidak ada dalam kumpulan ini akan
difilter. Nama kategori duplikat atau tidak dikenal akan diabaikan.
Opsi ini saling eksklusif dengan category_denylist dan menggunakan
keduanya akan menghasilkan error. |
String apa pun | Tidak ditetapkan |
category_denylist |
Menetapkan daftar opsional nama kategori yang tidak diizinkan. Jika
tidak kosong, hasil klasifikasi yang nama kategorinya ada dalam kumpulan ini akan difilter
keluar. Nama kategori duplikat atau tidak dikenal akan diabaikan. Opsi ini saling
eksklusif dengan category_allowlist dan menggunakan keduanya akan menyebabkan error. |
String apa pun | Tidak ditetapkan |
result_callback |
Menetapkan pemroses hasil untuk menerima hasil klasifikasi
secara asinkron saat Pengklasifikasi Audio berada dalam mode streaming
audio. Hanya dapat digunakan jika mode berjalan disetel ke AUDIO_STREAM |
T/A | Tidak ditetapkan |
Model
Audio Classifier memerlukan model klasifikasi audio untuk didownload dan disimpan di direktori project Anda. Mulailah dengan model default yang direkomendasikan untuk platform target Anda saat Anda mulai mengembangkan dengan tugas ini. Model lain yang tersedia biasanya melakukan kompromi antara performa, akurasi, resolusi, dan persyaratan resource, dan dalam beberapa kasus, menyertakan fitur tambahan.
Model Yamnet (direkomendasikan)
Model Yamnet adalah pengklasifikasi peristiwa audio yang dilatih pada set data AudioSet untuk memprediksi peristiwa audio yang ditentukan dalam data AudioSet. Untuk mengetahui informasi tentang peristiwa audio yang dikenali oleh model ini, lihat daftar label model.
Nama model | Bentuk input | Jenis kuantisasi | Versi |
---|---|---|---|
YamNet | 1 x 15.600 | Tidak ada (float32) | Terbaru |
Tolok ukur tugas
Berikut adalah tolok ukur tugas untuk seluruh pipeline berdasarkan model terlatih di atas. Hasil latensi adalah latensi rata-rata di Pixel 6 yang menggunakan CPU / GPU.
Nama Model | Latensi CPU | Latensi GPU |
---|---|---|
YamNet | 12,29 md | - |