- ضروری اجزاء
- سرکٹ ڈایاگرام
- ارڈینوو اسپیچ شناخت کیلئے ڈیٹاسیٹ بنانا
- ماڈل کی تربیت
- ارڈینوو کوڈ برائے آرڈینوو وائس کی شناخت
تقریر کی شناخت والی ٹیکنالوجی آٹومیشن میں بہت مفید ہے جو آپ کو نہ صرف آلات پر مفت کنٹرول فراہم کرتی ہے بلکہ اس سے سسٹم میں سیکیورٹی بھی شامل ہوتی ہے۔ صوتی کنٹرول والے گیجٹ بنانے کے علاوہ ، تقریر کی پہچان مختلف معذوریوں میں مبتلا لوگوں کو بھی اہم مدد فراہم کرتی ہے۔
پچھلے پروجیکٹس میں ہم نے آرڈوینو پر مبنی ٹیکسٹ ٹو اسپیچ (ٹی ٹی ایس) کنورٹر اور صوتی کنٹرول لائٹس بنائیں۔ اب اس پروجیکٹ میں ، ہم ایج امپلس اسٹوڈیو کا استعمال کرتے ہوئے تقریر کی پہچان کے ماڈل کو تربیت دینے کے لئے مشین لرننگ کا استعمال کرنے جا رہے ہیں جس میں تین کمانڈز جیسے ' لائٹ آن' ، ' لائٹ آف' ، اور ' نوائس ' ہوں گے۔ ایج امپلس ایک آن لائن مشین لرننگ پلیٹ فارم ہے جو ڈویلپرز کو ایمبیڈڈ مشین لرننگ کے ذریعہ اگلی نسل کے ذہین ڈیوائس حل بنانے کے قابل بناتا ہے۔ ہم نے پہلے کھانسی اور شور کی آوازوں کو فرق کرنے کے لئے ایج امپلس اسٹوڈیو کا استعمال کیا تھا۔
ضروری اجزاء
ہارڈ ویئر
- اردوینو 33 BLE سینس
- ایل. ای. ڈی
- جمپر تاروں
سافٹ ویئر
- ایج امپلس اسٹوڈیو
- اردوینو IDE
ہم نے آرڈینو 33 BLE سینس کے بارے میں ایک تفصیلی سبق حاصل کیا ہے۔
سرکٹ ڈایاگرام
ارڈینو کا استعمال کرتے ہوئے اس آواز کی شناخت کیلئے سرکٹ ڈایاگرام ذیل میں دیا گیا ہے۔ اریڈینو 33 بی ایل ای کے لئے فرٹائزنگ حصہ دستیاب نہیں تھا ، لہذا میں نے ارڈینو نینو کا استعمال کیا کیونکہ دونوں میں ایک ہی پن آؤٹ ہے۔
ایل ای ڈی کی مثبت برتری آرڈینو 33 بی ایل ای سینس کے ڈیجیٹل پن 5 سے منسلک ہے اور منفی لیڈ آردوینو کے جی این ڈی پن سے منسلک ہے۔
ارڈینوو اسپیچ شناخت کیلئے ڈیٹاسیٹ بنانا
یہاں ایج امپلس اسٹوڈیو کا استعمال ہمارے اسپیچ ریکگنیشن ماڈل کی تربیت کرنے کے لئے کیا جاتا ہے۔ ایج امپلس اسٹوڈیو پر ماڈل کی تربیت کرنا مشینی سیکھنے کے دوسرے ماڈلز کی مشینی دوسرے مشین سیکھنے کے فریم ورکوں کی طرح ہے۔ تربیت کے ل machine ، مشین لرننگ ماڈل کا پہلا قدم ایک ڈیٹاسیٹ جمع کرنا ہوتا ہے جس میں ڈیٹا کے نمونے ہوتے ہیں جن کو ہم پہچاننا چاہتے ہیں۔
چونکہ ہمارا مقصد ہماری صوتی کمانڈ والی ایل ای ڈی کو کنٹرول کرنا ہے ، لہذا ہمیں تمام احکامات اور شور کے لئے آواز کے نمونے اکٹھا کرنے کی ضرورت ہوگی تاکہ یہ صوتی احکامات اور دوسرے شور کے درمیان فرق کر سکے۔
ہم ایک ڈیٹاسیٹ بنائیں گے جس میں تین کلاسز " ایل ای ڈی آن " ، " ایل ای ڈی آف " اور " شور " ہوں گے۔ ڈیٹاسیٹ بنانے کے ل an ، ایج امپلس اکاؤنٹ بنائیں ، اپنے اکاؤنٹ کی تصدیق کریں اور پھر ایک نیا پروجیکٹ شروع کریں۔ آپ اپنے موبائل ، اپنے ارڈینو بورڈ کا استعمال کرکے نمونے لوڈ کرسکتے ہیں یا آپ اپنے کنارے کے تسلسل کے کھاتے میں ڈیٹاسیٹ درآمد کرسکتے ہیں۔ اپنے اکاؤنٹ میں نمونوں کو لوڈ کرنے کا سب سے آسان طریقہ یہ ہے کہ آپ اپنا موبائل فون استعمال کریں۔ اس کے لئے موبائل کو ایج امپلس سے مربوط کریں۔
موبائل فون کو مربوط کرنے کے لئے ' ڈیوائسز ' پر کلک کریں اور پھر ' ایک نیا آلہ جوڑیں ' پر کلک کریں ۔
اب اگلی ونڈو میں 'اپنا موبائل فون استعمال کریں' پر کلک کریں ، اور ایک QR کوڈ ظاہر ہوگا۔ اپنے موبائل فون سے کیو آر کوڈ اسکین کریں یا کی آر کوڈ پر دیا گیا یو آر ایل درج کریں۔
یہ آپ کے فون کو ایج امپلس اسٹوڈیو کے ساتھ مربوط کرے گا۔
آپ کے فون کو ایج امپلس اسٹوڈیو سے منسلک کرنے کے ساتھ ، اب آپ اپنے نمونے لوڈ کرسکتے ہیں۔ نمونے لوڈ کرنے کے لئے ' ڈیٹا حصول' پر کلک کریں ۔ اب ڈیٹا کے حصول کے صفحے پر لیبل کا نام درج کریں ، مائیکروفون کو بطور سینسر منتخب کریں ، اور نمونے کی لمبائی درج کریں۔ ' اسٹار سیمپلنگ' پر کلک کریں ، آپ کا آلہ 2 سیکنڈ کا نمونہ پکڑے گا۔ مختلف حالات میں کل 10 سے 12 صوتی نمونے ریکارڈ کریں۔
پہلی کلاس کے نمونے اپ لوڈ کرنے کے بعد اب تبدیلی کا لیبل مرتب کریں اور نمونے ' لائٹ آف' اور 'شور' کلاس کے لئے اکٹھا کریں ۔
یہ نمونے ماڈیول کی تربیت کے لئے ہیں ، اگلے مراحل میں ، ہم ٹیسٹ ڈیٹا اکٹھا کریں گے۔ ٹیسٹ ڈیٹا تربیت کے اعداد و شمار میں کم از کم 30 be ہونا چاہئے ، لہذا 'شور' کے 4 نمونے اور 'لائٹ آن' اور 'لائٹ آف' کیلئے 4 سے 5 نمونے اکٹھا کریں۔
ماڈل کی تربیت
چونکہ ہمارا ڈیٹاسیٹ تیار ہے ، اب ہم اعداد و شمار کے لئے تحریک پیدا کرسکتے ہیں۔ اس کے لئے ' تسلسل تخلیق کریں ' کے صفحے پر جائیں۔ 1000 ایم ایس ونڈو سائز کی ڈیفالٹ ترتیبات کو 1200 ملی میٹر اور 500 ایم ایس ونڈو کا اضافہ 50 ایم ایس میں کریں۔ اس کا مطلب یہ ہے کہ ہمارے 58 اعداد و شمار سے ایک وقت میں 1.2 سیکنڈ پر کارروائی ہوگی۔
اب ' امپلیس بنائیں' کے صفحے پر ' ایک پروسیسنگ بلاک شامل کریں ' پر کلک کریں ۔ اگلی ونڈو میں آڈیو (ایم ایف سی سی) بلاک کو منتخب کریں ۔ اس کے بعد ' ایک لرننگ بلاک شامل کریں ' پر کلک کریں اور نیورل نیٹ ورک (کیراس) بلاک کو منتخب کریں ۔ پھر ' امپلس کو محفوظ کریں ' پر کلک کریں ۔
اگلے مرحلے میں ایم ایف سی سی کے صفحے پر جائیں اور پھر 'جنریٹ فیچرز' پر کلک کریں۔ یہ ہمارے سبھی آڈیو کے ونڈوز کے لئے ایم ایف سی سی بلاکس تیار کرے گا۔
اس کے بعد ' این این کلاسیفائر' صفحے پر جائیں اور ' نیورل نیٹ ورک کی ترتیبات' کے اوپری دائیں کونے میں موجود تین نقطوں پر کلک کریں اور ' سوئچ ٹو کیراس (ماہر) موڈ' کو منتخب کریں ۔
اصل کو مندرجہ ذیل کوڈ سے تبدیل کریں اور ' کم سے کم اعتماد کی درجہ بندی' کو ' 0.70' میں تبدیل کریں ۔ پھر ' اسٹارٹ ٹریننگ' کے بٹن پر کلک کریں۔ یہ آپ کے ماڈل کی تربیت شروع کرے گا۔
tensorflow.keras.models سے tens کے طور پر tensor فلو درآمد کریں۔ امپورٹ نامی # ماڈل آرکیٹیکچر ماڈل = سیکوئینشل () ماڈل.add (ان پٹ لائر (ان پٹ_شائپ = (ایکس_ٹرین.شاپ ،) ، نام = 'x_input')) ماڈل. ایڈی ڈی (دوبارہ شکل ((int (X_train.shape / 13)) ، 13 ، 1) ، ان پٹ_شپی = (X_train. Shape ،))) Model.add (Conv2D (10 ، دانا__ سائز = 5 ، ایکٹیویشن = 'relu' ، بھرتی = 'ایک ہی' ، دانا_کونسٹرینٹ = میکس ہاروم (3)) ماڈل. ایڈی (اوسط پولنگ 2 ڈی (تالاب_ سائز = 2 ، بھرتی = 'ایک ہی')) ماڈل.add (Conv2D (5 ، دانا__ سائز = 5 ، ایکٹیویشن = 'relu' ، پیڈنگ = 'ایک ہی' ، دانا_کناسٹرینٹ = زیادہ سے زیادہ (3)) ماڈل. ایڈی (اوسط پولنگ 2 ڈی (پول_ سائز = 2 ،پیڈنگ = 'ایک ہی')) Model.add (فلیٹین ()) Model.add (گھنے (کلاسز ، ایکٹیویشن = 'سافٹ مینیکس' ، نام = 'y_pred' ، دانا_کناسٹرینٹ = میکس ہرم (3 فیصد)) # اس سے سیکھنے کی شرح آپٹ کو کنٹرول کرتی ہے = آدم (ایل آر = 0.005 ، بیٹا_1 = 0.9 ، بیٹا_2 = 0.999) # عصبی نیٹ ورک ماڈل ڈاٹ کام پائل (نقصان = 'زمرہ_کرسینٹروپی' ، آپٹائزر = آپٹ ، میٹرکس =) ماڈل.فٹ (ایکس_ٹرین ، وائی ٹرین ، بیچ_ سائز = 32 ، ایپوکس) کی تربیت حاصل کریں = 9 ، توثیق_ڈیٹا = (ایکس_سٹسٹ ، وائی_ٹیسٹ) ، وربوز = 2)فعل = 2)فعل = 2)
ماڈل کی تربیت کے بعد یہ تربیت کی کارکردگی کو ظاہر کرے گا۔ میرے لئے ، درستگی 81.1٪ تھی اور نقصان 0.45 تھا جو مثالی کارکردگی نہیں ہے لیکن ہم اس کے ساتھ آگے بڑھ سکتے ہیں۔ آپ ایک وسیع ڈیٹاسیٹ بنا کر اپنے ماڈل کی کارکردگی بڑھا سکتے ہیں۔
اب چونکہ ہمارا اسپیچ ریکگنیشن ماڈل تیار ہے ، ہم اس ماڈل کو ارڈینو لائبریری کے بطور تعینات کریں گے۔ ماڈل کو لائبریری کے بطور ڈاؤن لوڈ کرنے سے پہلے آپ ' لائیو درجہ بندی' کے صفحے پر جاکر کارکردگی کو جانچ سکتے ہیں ۔ براہ راست درجہ بندی کی خصوصیت آپ کو ڈیٹاسیٹ کے ساتھ آنے والے موجودہ ٹیسٹنگ ڈیٹا کے ساتھ یا اپنے موبائل فون سے آڈیو ڈیٹا اسٹریم کرکے دونوں ماڈل کی جانچ کرنے کی اجازت دیتی ہے۔
اپنے فون سے ڈیٹا کو جانچنے کے ل your ، اپنے فون پر 'درجہ بندی وضع میں سوئچ ' کا انتخاب کریں۔
اب ماڈل کو ارڈینو لائبریری کے بطور ڈاؤن لوڈ کرنے کے لئے ، ' تعیناتی ' کے صفحے پر جائیں اور ' ارڈینو لائبریری' منتخب کریں ۔ اب نیچے سکرول کریں اور عمل شروع کرنے کے لئے ' تعمیر ' پر کلک کریں ۔ یہ آپ کے پروجیکٹ کے لئے ایک ارڈینو لائبریری بنائے گا۔
اب اپنے اردوینو IDE میں لائبریری شامل کریں۔ اس کے لئے آردوینو IDE کھولیں اور پھر خاکہ> شامل لائبریری> شامل کریں۔ زیڈ لائبریری پر کلک کریں
اس کے بعد ، فائل> مثال کے طور پر> آپ کے پروجیکٹ کا نام - ایج امپلس> نانو_بل 33_sense_microphone پر جاکر ایک مثال لوڈ کریں۔
ارڈینوو کوڈ برائے آرڈینوو وائس کی شناخت
یہاں صوتی احکامات کے ساتھ ایل ای ڈی کو کنٹرول کرنے کے ل some کچھ تبدیلیاں کی گئیں ہیں۔
ہم باطل لوپ () میں کچھ تبدیلیاں کر رہے ہیں جہاں یہ احکامات کے امکان کو چھاپ رہا ہے۔ اصل کوڈ میں ، یہ تمام لیبل اور ان کی اقدار کو ایک ساتھ چھپارہا ہے۔
کے لئے (سائز_ٹ ix = 0؛ ix <EI_CLASSIFIER_LABEL_COUNT؛ ix ++) i ei_printf ("٪ s:٪.5f \ n"، نتیجہ.classifications.label، نتیجہ.classifications.value)؛ }
ایل ای ڈی کو کنٹرول کرنے کے ل we ہمیں کمانڈ کے تمام احتمال کو تین مختلف متغیروں میں محفوظ کرنا ہوگا تاکہ ہم ان پر مشروط بیانات دے سکیں۔ لہذا نئے کوڈ کے مطابق اگر ' لائٹ آن' کمانڈ کا امکان 0.50 سے زیادہ ہے تو وہ ایل ای ڈی کو چالو کرے گا اور اگر ' لائٹ آف' کمانڈ کا امکان 0.50 سے زیادہ ہے تو وہ ایل ای ڈی کو بند کردے گا۔
(سائز_ٹ ix = 2؛ ix <EI_CLASSIFIER_LABEL_COUNT؛ ix ++) کے لئے {شور = نتیجہ. سیریل.پرنٹلن ("شور:")؛ سیریل.پرنٹلن (شور)؛ size کے لئے (سائز_ٹ ix = 0؛ ix <EI_CLASSIFIER_LABEL_COUNT؛ ix--) {لائٹ آف = نتیجہ. سیریل.پرنٹلن ("لائٹ آف:")؛ سیریل.پرنٹ (لائٹ آف)؛ } لائٹن = 1- (شور + لائٹ آف)؛ سیریل.پرنٹلن ("لائٹ آن:")؛ سیریل.پرنٹ (لائٹن)؛ اگر (لائٹن> 0.50) {ڈیجیٹل رائٹ (ایل ای ڈی ، ہائی)؛ } اگر (لائٹ آف> 0.50) {ڈیجیٹل رائٹ (ایل ای ڈی ، ایل او) }
تبدیلیاں کرنے کے بعد ، کوڈ کو اپنے آرڈینو میں اپ لوڈ کریں۔ سیریل مانیٹر کو 115200 پر کھولیں۔
اس طرح آپ اردوینو کا استعمال کرتے ہوئے تقریر کی پہچان بن سکتے ہیں اور آلات کو چلانے کے لئے کمانڈ دے سکتے ہیں ۔
لائبریری اور کوڈ کے ساتھ ایک مکمل ورکنگ ویڈیو نیچے دیا گیا ہے۔