برد هوش مصنوعی Sipeed

پردازش صوت با برد Maixduino بخش اول: مدل سازی و ایجاد الگوی صوتی

voice-recognition-with-maixduino-m1-sipeed-board-part-one-save-sample-digispark
نوشته شده توسط معین صابری

در سلسله آموزش های برد Maixduino، فصل دوم وارد دنیای بی انتهای هوش مصنوعی می شویم. مفهومی که امروزه با اینترنت اشیا هم ترکیب شده و AIOT یا  Artifical Intelligence Internet Of Things را پدید آورده اند. همانطور که پیشتر هم در فصل پیشین گفته شد، برد Maixduino یک برد قدرتمند با قابلیت اجرای مدل های هوش مصنوعی است. یکی از قابلیت های جذاب و کلیدی این برد، ذخیره الگوهای صوتی و پردازش آن هاست. در این برد مدل های هوش مصنوعی روی سرورها اجرا نمی شوند. بلکه این برد قادر به اجرای آن ها بر روی خود است. در فصل دوم از این سلسله آموزش، به قابلیت های هوش مصنوعی برد می پردازیم. در ادامه این آموزش با مرجع تخصصی برد هوش مصنوعی Sipeed به زبان فارسی، دیجی اسپارک همراه باشید.

 


آموخته‌ها از آموزش مقدماتی Maixduino


پیش از آنکه به سراغ مبحث پردازش صوت برویم، در این قسمت به طور خلاصه آن چه را که از فصل اول آموختیم، مرور می کنیم. همانطور که پیشتر هم گفته شد، برد Maixduino قابلیت برنامه نویسی از طریق آردوینو را در خود جا داده است. به عبارت دیگر، شما می توانید از طریق دستورات c++ آردوینو، این برد را پروگرام کنید. اما برای برنامه نویسی این برد، ابتدا باید هسته نرم افزاری آن را در IDE آردوینو نصب کرد. در این رابطه قسمت دوم به طور کامل بحث شده است. همچنین در این قسمت به نحوه نصب درایورهای سریال برد صحبت شده است.

برد مایکس دوینو Maixduino پردازش صوت - دیجی اسپارک

 

در قسمت های بعدی نیز به سایر قابلیت های این برد و کنترل آن از طریق آردوینو نظیر GPIO، ایجاد فرکانس صوتی و… پرداختیم. همچنین کار با رابط سریال UART و توابع آن، زمانبندی و استفاده از millis هم مورد بررسی قرار گرفت. فصل اول این سلسله آموزش را می توانید با کلیک بر روی این لینک، مطالعه کنید. پس از بررسی مختصر فصل اول، نوبت به پردازش صوت می رسد. در این آموزش نحوه ذخیره الگوهای صوتی را بررسی خواهیم کرد. در قسمت بعدی نیز نحوه دریافت صوت و مقایسه با الگوهای صوتی خواهیم دید.

 


دریافت و ذخیره سازی الگوی صوتی در برد Maixduino


همانطور که در قسمت های پیشین مشاهده کردیم، برد Maixduino بر روی خود از یک میکروفن بهره می برد. این برد الگوهای صوتی را از طریق یک میکروفن دریافت و در حافظه خود ذخیره می کند.  شایان ذکر است که برد Maixduino از یک میکروفن با قابلیت MESM پشتیبانی می کند.

دریافت و ذخیره سازی الگوی صوتی در برد Maixduino - دیجی اسپارک

 

 میکروفن MEMS یک میکروفن با فناوری جدید است.  در این فناوری میکروفن از دقت بسیار بالایی برخوردار خواهد بود. از طرفی دیگر این میکروفن بسیار کوچک بوده و همانطور که در تصویر فوق مشاهده می کنید، فضای بسیار کمی را از برد اشغال کرده است.  جهت دریافت صدا و ذخیره آن در حافظه، کتابخانه Maix_Speech_Recognition توسعه یافته که به کمک توابع آن می توانیم صدا را دریافت و پردازش کنیم. توجه داشته باشید که این کتابخانه به همراه هسته نصب شده و نیازی به نصب آن نیست. در قسمت بعدی به توابع این کتابخانه جهت ضبط پرداخته و سپس با ارائه یک مثال، مورد را بررسی خواهیم کرد.

 


توابع کلیدی ذخیره و نمایش مدل صوتی


پس از بررسی قابلیت پردازش صوت برد Maixduino، نوبت به توابع کلیدی ذخیره و نمایش مدل صوتی می رسد. توجه داشته باشید که منظور از نمایش مدل صوتی، چاپ کدهای HEX آن است. فایل های صوتی پس از دریافت توسط برد Maixduino، به یک آرایه Hex تبدیل می گردند. در ابتدا جهت راه اندازی واحد پردازش صوت و میکروفن، می بایست کتابخانه آن را به شکل زیر به برنامه اضافه کنیم.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

 تابع فوق دارای دو ورودی، ورودی نخست کلمه کلیدی الگوی صوتی و ورودی دوم شماره مدل که در حافظه ذخیره شده را دریافت می کند. سپس الگوی صوتی در سریال مانیتور چاپ خواهد شد.  در ادامه نیز، قسمت بعد به اجرای یک برنامه در این زمینه می پردازد.

 


اجرای یک نمونه برنامه جهت دریافت و ذخیره الگوی صوتی


پس از بررسی توابع دریافت الگوی صوتی، نوبت به اجرای یک نمونه برنامه می رسد. در این برنامه صدایی ار از ورودی دریافت و در سریال مانیتور آرایه آن را نمایش می دهیم.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

 پس از اجرای برنامه، مطابق تصویر زیر، برد منتظر دریافت صداست. در این حالت شروع به گفتن یک کلمه نمایید.

پروژه دریافت و ذخیره سازی الگوی صوتی در برد Maixduino - دیجی اسپارک

 

 پس از این مورد، شروع به صحبت کردن کنید. می بیینید که الگوی صوتی مطابق تصویر زیر در سریال نمایش داده می شود.

دریافت الگوی صوتی در برد مایکس دوینو Maixduino - دیجی اسپارک

 


اشکالات متداول در دریافت الگوی صوتی


ممکن است در هنگام اجرا و دریافت صدا از کاربر، با مشکلاتی رو به رو شوید. یکی از مهم ترین این مشکلات، وجود نویزهای صوتی در محیط است. به عبارت دیگر، در هنگام ذخیره صدا، محیط اطراف باید کاملا ساکت باشد. در غیر این صورت با پیغام زیر در سریال مانیتور رو به رو خواهید شد.

get noise again

 

 پیغام فوق به معنای وجود نویز در محیط است. لطفا کار ذخیره و پردازش صوت را در محلی با تراکم صدای بسیار کم انجام دهید. اجرای این مدل در فضاهای آزاد مثل خیابان ها و یا پنجره نزدیک به خیابان، چندان موفقیت آمیز نخواهد بود.

 


لوازم مورد نیاز


بردهای مبتنی بر هوش مصنوعی Sipeed

برد Maixduino

 


جمع بندی


در مجموعه آموزش های برد Maixduino، فصل دوم قسمت اول به بررسی قابلیت های هوش مصنوعی این برد پرداختیم. همانطور که اطلاع دارید، برد قدرتمند Maixduino قادر به اجرای الگوهای صوتی بر روی خود و بدون نیاز به سرور و یا ابزار خارجی است. در این قسمت به نحوه ذخیره سازی صدا و ایجاد الگوی صوتی پرداختیم. در ابتدا به قابلیت پردازش صوت و میکروفن روی برد پرداختیم. در ادامه به معرفی توابع پرداخته و در نهایت با اجرای برنامه، نحوه دریافت مدل های صوتی را مشاهده کردیم.  در قسمت بعدی، به نحوه مقایسه صدای دریافتی با صداهای ذخیره شده خواهیم پرداخت.

چنانچه هرگونه ابهامی در مطالب درج شده وجود دارد، می توانید با ثبت نظر در انتهای همین پست سوال خود را بپرسید. تاکنون در دیجی اسپارک بیش از ۲۷ هزار سوال و پاسخ ثبت شده است؛ پس نظرات بی جواب نمی مانند! همچنین اگر ایراد و یا اشکالی در مطالب درج شده وجود دارد، لطفا آن را با ثبت نظر، مطرح کنید. همچنین اگر مشکلی در کدها وجود داشته و یا اجرا نمی شوند، مورد را حتما در انتهای همین آموزش مطرح نمایید. نظرات شما برای ما بسیار ارزشمند هسنند!! 

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه