MediaPipe Audio Classifier टास्क की मदद से ऑडियो क्लिप को तय की गई कैटगरी के सेट में बांटा जा सकता है. जैसे, गिटार का संगीत, ट्रेन की सीटी या चिड़िया का गाना. कैटगरी, मॉडल की ट्रेनिंग के दौरान तय की जाती हैं. यह टास्क, मशीन लर्निंग (एमएल) मॉडल वाले ऑडियो डेटा पर काम करता है. इसे स्वतंत्र ऑडियो क्लिप या लगातार स्ट्रीम करने की सुविधा के तौर पर इस्तेमाल किया जाता है. साथ ही, यह घटने वाले प्रॉबबिलिटी स्कोर के हिसाब से रैंक की गई संभावित कैटगरी की सूची दिखाता है.
शुरू करें
अपने टारगेट प्लैटफ़ॉर्म के लिए, इनमें से किसी एक को लागू करने की गाइड का पालन करके इस टास्क का इस्तेमाल शुरू करें. इन प्लैटफ़ॉर्म की गाइड में, इस टास्क को लागू करने की बुनियादी जानकारी दी जाती है. इसमें, सुझाए गए मॉडल और सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ कोड के उदाहरण भी शामिल होते हैं:
- Android - कोड का उदाहरण - गाइड
- Python - कोड का उदाहरण गाइड
- वेब - कोड का उदाहरण - गाइड
इन प्लैटफ़ॉर्म की गाइड से इस काम को लागू करने के बुनियादी तरीके की जानकारी मिलती है. इसमें एक सुझाया गया मॉडल और सुझाए गए कॉन्फ़िगरेशन विकल्पों के साथ कोड के उदाहरण भी शामिल हैं.
टास्क की जानकारी
इस सेक्शन में इस टास्क की क्षमताओं, इनपुट, आउटपुट, और कॉन्फ़िगरेशन के विकल्पों के बारे में बताया गया है.
सुविधाएं
- इनपुट ऑडियो प्रोसेसिंग - ऑडियो रीसैंपलिंग, बफ़रिंग, फ़्रेमिंग, और फ़ोरियर ट्रांसफ़ॉर्म को प्रोसेस करना शामिल है.
- लेबल मैप की स्थान-भाषा - डिसप्ले नेम के लिए इस्तेमाल की गई भाषा सेट करें
- स्कोर थ्रेशोल्ड - अनुमान के स्कोर के आधार पर नतीजों को फ़िल्टर करें.
- टॉप-k पहचान - संख्या का पता लगाने के नतीजों को फ़िल्टर करें.
- लेबल की अनुमति वाली सूची और ब्लॉकलिस्ट - उन कैटगरी की जानकारी दें जिनका पता लगाया गया है.
टास्क के इनपुट | टास्क के आउटपुट |
---|---|
इनपुट इस तरह का डेटा हो सकता है:
|
ऑडियो क्लासिफ़ायर, कैटगरी की एक सूची दिखाता है. इस सूची में ये शामिल हैं:
|
कॉन्फ़िगरेशन के विकल्प
इस टास्क में कॉन्फ़िगरेशन के ये विकल्प हैं:
विकल्प का नाम | ब्यौरा | वैल्यू रेंज | डिफ़ॉल्ट मान |
---|---|---|---|
running_mode |
टास्क के लिए, रनिंग मोड सेट करता है. ऑडियो क्लासिफ़ायर में दो मोड होते हैं: AUDIO_CLIPS: इंडिपेंडेंट ऑडियो क्लिप पर ऑडियो टास्क चलाने के लिए मोड. AUDIO_STREAM: यह मोड किसी ऑडियो स्ट्रीम पर ऑडियो टास्क चलाने का मोड है, जैसे कि माइक्रोफ़ोन से. इस मोड में, resultListener को कॉल करना चाहिए, ताकि वह क्लासिफ़िकेशन के नतीजों को एसिंक्रोनस तरीके से पाने वाले को सेट अप कर सके. |
{AUDIO_CLIPS, AUDIO_STREAM } |
AUDIO_CLIPS |
display_names_locale |
अगर यह उपलब्ध हो, तो टास्क के मॉडल के मेटाडेटा में दिए गए डिसप्ले नेम के लिए, लेबल की भाषा सेट करता है. अंग्रेज़ी के लिए डिफ़ॉल्ट रूप से en
है. TensorFlow Lite Metadata Writer API का इस्तेमाल करके, कस्टम मॉडल के मेटाडेटा में
स्थानीय भाषा के हिसाब से लेबल जोड़े जा सकते हैं
| स्थान-भाषा का कोड | en |
max_results |
यह विकल्प, टॉप-स्कोर किए गए क्लासिफ़िकेशन के नतीजों की ज़्यादा से ज़्यादा संख्या को सेट करता है, ताकि नतीजे दिखाए जा सकें. अगर < 0 है, तो सभी उपलब्ध नतीजे दिखाए जाएंगे. | कोई भी पॉज़िटिव नंबर | -1 |
score_threshold |
अनुमान के स्कोर का थ्रेशोल्ड सेट करता है, जो मॉडल मेटाडेटा (अगर कोई है) में दिए गए स्कोर को बदलता है. इस वैल्यू से कम के नतीजे अस्वीकार कर दिए गए हैं. | [0.0, 1.0] | सेट नहीं किया गया है |
category_allowlist |
अनुमति वाली कैटगरी के नामों की वैकल्पिक सूची सेट करता है. अगर यह खाली नहीं है, तो कैटगरी के जिन नतीजों की कैटगरी का नाम इस सेट में नहीं होगा उन्हें फ़िल्टर कर दिया जाएगा. श्रेणी के डुप्लीकेट या अज्ञात नामों पर ध्यान नहीं दिया जाता है.
यह विकल्प category_denylist के साथ म्यूचुअली एक्सक्लूसिव है और दोनों नतीजों का इस्तेमाल करने में गड़बड़ी है. |
कोई भी स्ट्रिंग | सेट नहीं किया गया है |
category_denylist |
उन कैटगरी के नामों की वैकल्पिक सूची सेट करता है जिनकी अनुमति नहीं है. अगर
यह फ़ील्ड खाली नहीं है, तो कैटगरी के जिन नतीजों की कैटगरी का नाम इस सेट में होगा उन्हें फ़िल्टर करके
बाहर कर दिया जाएगा. श्रेणी के डुप्लीकेट या अज्ञात नामों पर ध्यान नहीं दिया जाता है. यह विकल्प category_allowlist के साथ म्यूचुअली एक्सक्लूसिव है और इसका इस्तेमाल करने पर दोनों में गड़बड़ी होगी. |
कोई भी स्ट्रिंग | सेट नहीं किया गया है |
result_callback |
जब ऑडियो क्लासिफ़ायर, ऑडियो स्ट्रीम मोड में होता है, तब नतीजे लिसनर को क्लासिफ़िकेशन के नतीजों को एसिंक्रोनस तरीके से पाने के लिए सेट करता है. सिर्फ़ तब इस्तेमाल किया जा सकता है, जब रनिंग मोड AUDIO_STREAM पर सेट हो |
लागू नहीं | सेट नहीं किया गया है |
मॉडल
ऑडियो क्लासिफ़ायर के लिए, ऑडियो क्लासिफ़िकेशन मॉडल को डाउनलोड करना ज़रूरी होता है. साथ ही, इसे आपकी प्रोजेक्ट डायरेक्ट्री में सेव किया जाता है. इस टास्क के साथ डेवलप करना शुरू करने पर, अपने टारगेट प्लैटफ़ॉर्म के लिए सुझाए गए डिफ़ॉल्ट मॉडल से शुरुआत करें. आम तौर पर, अन्य उपलब्ध मॉडल में परफ़ॉर्मेंस, सटीक होने, रिज़ॉल्यूशन, और संसाधन की ज़रूरी शर्तों के बीच ट्रेड-ऑफ़ होता है. कुछ मामलों में, अतिरिक्त सुविधाएं शामिल होती हैं.
Yamnet मॉडल (सुझाया गया)
Yamnet मॉडल, ऑडियो इवेंट की कैटगरी तय करने वाला एक टूल है. इसे ऑडियोसेट डेटा में तय किए गए ऑडियो इवेंट का अनुमान लगाने के लिए, AudioSet डेटासेट पर ट्रेनिंग दी गई है. इस मॉडल से पहचाने गए ऑडियो इवेंट के बारे में जानकारी के लिए, मॉडल लेबल की सूची देखें.
मॉडल का नाम | इनपुट का आकार | क्वांटाइज़ेशन का टाइप | वर्शन |
---|---|---|---|
YamNet | 1 x 15,600 | कोई नहीं (फ़्लोट32) | नए |
टास्क के मानदंड
यहां पहले से ट्रेन किए गए मॉडल पर आधारित पूरी पाइपलाइन के लिए टास्क के मानदंड दिए गए हैं. इंतज़ार के समय का नतीजा यह पता चलता है कि Pixel 6 को सीपीयू / जीपीयू का इस्तेमाल करके औसतन इंतज़ार किया जा सकता है.
मॉडल का नाम | सीपीयू (CPU) के इस्तेमाल में होने वाला समय | जीपीयू इंतज़ार का समय |
---|---|---|
YamNet | 12.29 मि॰से॰ | - |