AI ایک گانا لکھتا ہے اور یہ ESP32 آپ کو اسے بجانے کا سکھاتا ہے
کسی AI سے دھن لکھوائیں، اسے بجاتے ہوئے سنیں، پھر بورڈ کو آپ کو بجانا سکھانے دیں
ایک موڈ چنیں، WRITE دبائیں، اور ایک AI ایک چھوٹی دھن ترتیب دیتا ہے۔ بورڈ اسے بجاتا ہے، ہر کلید کو روشن کرتا ہوا۔ پھر LEARN دبائیں اور یہ ایک استاد بن جاتا ہے: یہ ایک وقت میں ایک کلید روشن کرتا ہے اور آپ کے دبانے کا انتظار کرتا ہے، نوٹ بہ نوٹ، یہاں تک کہ آپ خود پوری دھن بجا لیں۔
922-یہ AI میوزک آرٹیکل ہے (موجودہ مضمون)
923-پیانو پروجیکٹ یہاں ہے۔
یہ کسی بھی لمحے اب بھی ایک مکمل 21-کلیدی پیانو ہے - بس اسے بجائیں۔
Robojax_Makerfab درج کریں MaTouch AI ESP32-S3 پروڈکٹ پیج پر۔ اسے استعمال کرنے میں آپ کا کچھ خرچ نہیں ہوتا، اور یہ یہاں کے مفت کوڈ اور ٹیوٹوریلز کی حمایت کرتا ہے۔اسکرین

اوپر چھ بٹن، پھر ایک 21-کلیدی کی بورڈ - سات کی تین قطاریں، C3 سے B5 تک۔ پیانو پروجیکٹ کے برعکس یہاں کوئی سیاہ اور سفید ترتیب نہیں ہے، کیونکہ AI صرف سات قدرتی نوٹوں تک محدود ہے اور گرڈ وہی ہے جو وہ نوٹ نظر آتے ہیں۔
| بٹن | یہ کیا کرتا ہے |
|---|---|
| STYLE | موڈ بدلتا ہے: HAPPY، SAD، SPOOKY، FOLK، LULLABY۔ یہی AI کو بھیجا جاتا ہے۔ |
| WRITE | AI سے اس موڈ میں دھن مانگتا ہے۔ سوچتے ہوئے WAIT دکھاتا ہے، پھر جو واپس آیا اسے بجاتا ہے۔ |
| PLAY | موجودہ لوڈ شدہ دھن دوبارہ بجاتا ہے۔ روکنے کے لیے دوبارہ دبائیں۔ |
| LEARN | تعلیمی موڈ - ایک کلید روشن کرتا ہے اور آپ کا انتظار کرتا ہے۔ |
| WAVE | آواز کا رنگ: SOFT، ORGAN یا BRIGHT۔ |
| VOL | والیوم 1 سے 5 تک بڑھانے کے لیے دبائیں۔ لیبل سطح دکھاتا ہے۔ |
بورڈ جس والیوم پر شروع ہوتا ہے وہ اسکیچ کے اوپری حصے میں #define VOLUME کے ذریعے طے ہوتا ہے، لہذا آپ اپنی پسندیدہ سطح مرتب کر سکتے ہیں اور پھر بھی اسے زندہ تبدیل کر سکتے ہیں۔
AI دراصل کیا تخلیق کرتا ہے
یہ وہ حصہ ہے جس کے بارے میں درست ہونا ضروری ہے، کیونکہ اسے بڑھا چڑھا کر بیان کرنا آسان ہے۔ AI آڈیو تخلیق نہیں کرتا۔ حقیقی ویوفارم بنانے کے لیے ایک بڑا ماڈل اور گرافکس کارڈ درکار ہوتا ہے؛ کوئی مائیکروکنٹرولر یہ نہیں کر رہا، اور جو کوئی بھی اس کے برعکس دعوی کرتا ہے وہ ایک فائل چلا رہا ہے جو کہیں اور رینڈر کی گئی تھی۔
جو یہ تخلیق کرتا ہے وہ نوٹوں کی ایک فہرست ہے، عام متن کے طور پر:
[{"n":"C4","ms":300},{"n":"E4","ms":300},{"n":"G4","ms":600}]
بورڈ اسے ArduinoJson کے ساتھ پارس کرتا ہے اور اسے پیانو پروجیکٹ کے اسی سنتھیسائزر کے ساتھ بجاتا ہے۔ ایک مختصر متن کی درخواست ایک فیصد کے ایک حصے کی لاگت آتی ہے، اور ایک بار دھن آنے کے بعد اسے انٹرنیٹ منقطع ہونے پر بھی ہمیشہ دوبارہ بجایا جا سکتا ہے۔
پرامپٹ AI کو کیوں محدود کرتا ہے
درخواست ماڈل کو بتاتی ہے کہ وہ صرف وہی 21 نوٹ استعمال کر سکتا ہے جو جسمانی طور پر اس کی بورڈ پر موجود ہیں - C3 سے B5 تک قدرتی نوٹ، کوئی شارپ یا فلیٹ نہیں۔ یہ سنتھیسائزر کی کوئی حد نہیں ہے، جو کسی بھی فریکوئنسی بجا سکتا ہے۔ یہ دو اچھی وجوہات کے لیے ہے:
- ہر نوٹ جو یہ لکھتا ہے وہ ایک ہے جو LEARN موڈ آپ کو حقیقت میں سکھا سکتا ہے، کیونکہ اس کے لیے ایک کلید موجود ہے
- ایک ہی کلید میں رہنے کا مطلب ہے کہ نتیجہ ہمیشہ موسیقی جیسا لگتا ہے، چاہے ماڈل کا دن غیر متاثر کن ہی کیوں نہ ہو
زبان کے ماڈل سے جواب پارس کرنا
ماڈل مددگار بننا پسند کرتے ہیں، جس کا یہاں مطلب ہے جواب کو مارک ڈاؤن کی باڑوں میں لپیٹنا اور اس بارے میں ایک دوستانہ جملہ شامل کرنا کہ انہوں نے کیا لکھا۔ اسکیچ سختی سے خالص JSON مانگتا ہے اور پھر دفاعی طور پر پہلے [ اور آخری ] کے درمیان سب کچھ لے لیتا ہے۔ کوئی بھی نوٹ جو وہ کی بورڈ پر نہیں رکھ سکتا چھوڑ دیا جاتا ہے، اور نتیجہ صرف اس صورت میں قبول کیا جاتا ہے اگر کم از کم چار قابل استعمال نوٹ باقی رہیں۔ نامکمل آؤٹ پٹ کو برداشت کرنا کسی بھی پروجیکٹ میں زیادہ تر کام ہے جو AI متن پارس کرتا ہے۔
خالی جواب، اور اس سے کیسے بچیں
ایک چیز آپ کو پھنسائے گی اگر آپ ماڈل یا پرامپٹ تبدیل کریں۔ ڈیپ سیک سوچتا ہے جواب دینے سے پہلے، اور وہ سوچ اسی max_tokens بجٹ سے کٹوتی ہوتی ہے جتنا جواب۔ اس سے کوئی مشکل چیز پوچھیں اور یہ پورا بجٹ سوچنے میں صرف کر سکتا ہے، پھر خالی جواب لوٹاتا ہے - ایک کامیاب درخواست جس میں کچھ نہیں ہوتا۔
اس پروجیکٹ پر یہ اس طرح ظاہر ہوا کہ مشکل موڈز ناکام ہو رہے تھے جبکہ آسان والے کام کر رہے تھے۔ SPOOKY اور LULLABY کو معمولی کلید چاہیے، جو واقعی مشکل ہے جب ہر شارپ اور فلیٹ ممنوع ہو، اس لیے ماڈل نے غور کیا - اور بجٹ ختم ہو گیا۔ HAPPY سی میجر میں فوراً جواب دے دیا۔
دو اصلاحات ہیں اور یہ خاکہ دونوں استعمال کرتا ہے۔ درخواست "thinking": {"type": "disabled"} بھیجتی ہے، جو استدلال کو مکمل طور پر بند کر دیتی ہے تاکہ پورا بجٹ جواب پر جائے اور جواب بہت تیزی سے واپس آئے۔ اور پرامپٹ اب ماڈل کو بتاتا ہے کیسے شارپس کے بغیر معمولی آواز پیدا کی جائے - راگ کو A یا E پر مرکوز کریں، جو وہی نوٹ استعمال کرتا ہے۔
finish_reason پرنٹ کرتا ہے۔ length کا مطلب ہے کہ بجٹ ختم ہو گیا - MELODY_TOKENS بڑھائیں۔ stop کا مطلب ہے کہ ماڈل نے کچھ نہ کہنے کا انتخاب کیا، جو پرامپٹ کا مسئلہ ہے۔تعلیمی موڈ
LEARN پر تھپتھپائیں اور ایک کلید سبز ہو جاتی ہے۔ اسے دبائیں اور بورڈ اگلے نوٹ پر بڑھ جاتا ہے۔ غلط کلید دبائیں تو بھی آواز آتی ہے - یہ آخر piano ہے - لیکن یہ آگے نہیں بڑھتا۔ اسٹیٹس بار آپ کی پیشرفت شمار کرتا ہے، اور جب آپ آخر تک پہنچتے ہیں تو یہ آپ کو بتاتا ہے۔
کوئی وقت کا دباؤ نہیں اور کوئی اسکور نہیں۔ یہ آپ کا جتنا وقت چاہیے انتظار کرتا ہے، جو اسے کسی فقرے کو سیکھنے کے لیے واقعی قابلِ استعمال بناتا ہے نہ کہ صرف ایک نیاپن۔
یہ WiFi کے بغیر بھی کام کرتا ہے
خاکے میں ایک دھن بنی ہوئی ہے، اس لیے PLAY اور LEARN بغیر کسی نیٹ ورک کے کام کرتے ہیں۔ صرف WRITE کو انٹرنیٹ چاہیے - اور اسے صرف ایک DeepSeek کلید چاہیے۔ اس پروجیکٹ کے لیے کوئی Azure یا OpenAI اکاؤنٹ درکار نہیں۔
جب آپ جانچ کر رہے ہوں، پہلے PLAY تھپتھپائیں: یہ کسی نیٹ ورک کے شامل ہونے سے پہلے آڈیو راستے اور کی بورڈ کی تصدیق کرتا ہے، اس لیے اگر WRITE بعد میں ناکام ہو تو آپ پہلے سے جانتے ہیں کہ کہاں دیکھنا ہے۔
مزید آگے لے جانے کے لیے خیالات
- اسٹائل کی فہرست میں ترمیم کرکے "سمندری شانتی کے انداز میں" دھن مانگیں۔
- اس سے دوسرا فقرہ لکھوائیں جو پہلے کا جواب ہو۔
- دھنوں کو SD کارڈ میں محفوظ کریں تاکہ بورڈ وقت کے ساتھ گیتوں کی کتاب بنائے۔
- وائس اسسٹنٹ پروجیکٹ سے مائیکروفون شامل کریں تاکہ آپ پہلے سے طے شدہ بٹن دبانے کے بجائے درخواست بول سکیں۔
MaTouch AI ESP32-S3 2.8" بورڈ کے بارے میں
اس صفحے کا ہر پروجیکٹ Makerfabs کے MaTouch AI ESP32-S3 2.8" TFT ST7789V پر چلتا ہے۔ یہ ایک آل ان ون بورڈ ہے: ایک رنگین ٹچ اسکرین، ایک 3 میگاپکسل کیمرہ، دو مائیکروفون اور ایک حقیقی اسپیکر ایمپلیفائر، سب ایک ESP32-S3 کے ذریعے 8 MB PSRAM کے ساتھ چلتے ہیں۔ یہ مجموعہ ہی ان AI پروجیکٹس کو ایک ہی بورڈ پر ممکن بناتا ہے جس میں کچھ اور منسلک نہ ہو۔
8 MB PSRAM یہاں کسی بھی دوسرے نمبر سے زیادہ اہم ہے۔ یہی بورڈ کو ایک کیمرہ فریم، چند سیکنڈ کی ریکارڈ شدہ آڈیو، یا بیس64-انکوڈڈ تصویر کو ایک ہی وقت میں میموری میں رکھنے دیتا ہے - ان میں سے کوئی بھی ESP32 کی عام RAM میں فٹ نہیں ہوتا۔
مینوفیکچرر دستاویزات: Makerfabs وکی صفحہ۔
اس بورڈ کے لیے ہر دوسرا پروجیکٹ - کیمرہ، آف لائن چہرہ پہچان، AI وائس اسسٹنٹ، AI وژن اور ڈرائنگ پروجیکٹ - کا اپنا سبق ہے۔ ان سب کے لنکس اس مضمون کے نیچے ہیں۔
اہم خصوصیات
- پروسیسر: ESP32-S3، ڈوئل کور 240 MHz، WiFi 2.4 GHz + Bluetooth 5.0
- میموری: 16 MB فلیش، 8 MB PSRAM (یہاں تقریباً ہر پروجیکٹ کے لیے ضروری)
- ڈسپلے: 2.8" IPS، 320×240، ST7789V ڈرائیور، SPI
- ٹچ: GT911 کیپسیٹو، ایک ساتھ 5 انگلیوں کو ٹریک کرتا ہے
- کیمرہ: OV3660، 3 میگاپکسل، 2048×1536 تک
- مائیکروفون: دو INMP441 I2S ڈیجیٹل مائکس (ایک حقیقی سٹیریو جوڑا)
- اسپیکر: MAX98357A کلاس-ڈی ایمپلیفائر، 4 Ω پر 3.2 W
- اسٹوریج: مائیکرو ایس ڈی کارڈ سلاٹ (SPI موڈ)
- پاور: USB-C، JST بیٹری کنیکٹر، TP4056 چارجر، پاور سوئچ
- بورڈ پر بھی: WS2812B RGB LED، PCF8563T بیٹری بیکڈ ریئل ٹائم کلاک، اور ایک MAX17048 بیٹری فیول گیج جو سرکاری خصوصیات میں درج نہیں ہے
USB CDC On Boot کو Disabled پر سیٹ کریں۔ غلط پورٹ استعمال کریں گے تو آڈیو خراب ہوگی یا اپ لوڈ ناکام ہوجائیں گے۔اسے بیٹری سے پاور کر رہے ہیں؟ دونوں USB-C ساکٹ، TP4056 چارجر اور پاور سوئچ کی مکمل وضاحت، اسکیمیٹک کے ساتھ، بورڈ ٹیسٹ آرٹیکل میں دی گئی ہے — بشمول کون سا ساکٹ چارج کرتا ہے اور سوئچ آن یا آف ہونا چاہیے۔
Arduino IDE کی ترتیبات
یہ ترتیبات اہم ہیں۔ اس بورڈ کے بارے میں لوگ جو زیادہ تر مسائل رپورٹ کرتے ہیں ان میں سے ایک یہ غلط ہوتی ہے، اور جب آپ کور ورژن تبدیل کرتے ہیں تو یہ ری سیٹ ہو جاتی ہیں، لہٰذا کسی بھی تبدیلی کے بعد انہیں دوبارہ چیک کریں۔
| ترتیب | قدر |
|---|---|
| بورڈ | ESP32S3 Dev Module |
| ESP32 کور ورژن | 2.0.17 |
| PSRAM | OPI PSRAM |
| فلیش سائز | 16MB (128Mb) |
| پارٹیشن اسکیم | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC On Boot | Disabled |
| اپ لوڈ اسپیڈ | 921600 |
| اپ لوڈ سے پہلے تمام فلیش مٹائیں | Disabled |
| پورٹ | CH340K USB-C پورٹ |
اگر اپ لوڈ ناکام ہو: بورڈ کو دستی طور پر ڈاؤن لوڈ موڈ میں ڈالنا
زیادہ تر وقت آپ صرف Upload دباتے ہیں اور یہ کام کر جاتا ہے۔ کبھی کبھی ایسا نہیں ہوتا — IDE Connecting...... پر بیٹھا رہتا ہے اور پھر Failed to connect to ESP32-S3: No serial data received کے ساتھ ہار مان لیتا ہے۔
ایسا اس لیے ہوتا ہے کیونکہ IO0 اس بورڈ پر ایک ساتھ تین کام کرتا ہے: یہ BOOT بٹن ہے، یہ CH340K سے آٹو ری سیٹ لائن ہے، اور یہ RGB LED کے لیے ڈیٹا لائن ہے۔ جب بورڈ پر پہلے سے چل رہا اسکیچ اس LED کو چلا رہا ہوتا ہے، تو یہ آٹومیٹک ری سیٹ سے ٹکرا سکتا ہے، اس لیے چپ آپ کے پرانے اسکیچ میں دوبارہ اسٹارٹ ہوتی ہے بجائے بوٹ لوڈر کے۔
حل پانچ سیکنڈ کا ہے۔ خود بورڈ کو ڈاؤن لوڈ موڈ میں ڈالیں:
- BOOT بٹن کو دبائے رکھیں۔
- BOOT کو دبائے رکھتے ہوئے، RESET دبائیں اور RESET چھوڑ دیں۔
- اب BOOT چھوڑ دیں۔ اسکرین خالی ہو جاتی ہے — یہ بوٹ لوڈر انتظار کر رہا ہے۔
- Upload پر کلک کریں۔
- جب یہ مکمل ہو جائے، نیا اسکیچ چلانے کے لیے ایک بار RESET دبائیں۔
اگر پھر بھی کنیکٹ نہ ہو، Upload Speed کو 115200 پر کم کریں اور دوبارہ کوشش کریں۔ اور چیک کریں کہ بورڈ کا پاور سوئچ آن ہے — CH340K enumerate ہو کر COM پورٹ دیتا ہے چاہے بورڈ خود بند ہی کیوں نہ ہو، جو لوگوں کو دھوکہ دیتا ہے۔
مطلوبہ لائبریریاں
اس پروجیکٹ کو نیچے دی گئی ٹیبل کی ہر لائبریری چاہیے — نہ زیادہ، نہ کم۔ زیادہ تر Arduino IDE میں Tools → Manage Libraries سے براہ راست انسٹال ہوتی ہیں، لیکن GFX Library for Arduino کو ZIP فائل سے انسٹال کرنا ضروری ہے۔ ورژن نمبر اہم ہیں، لہٰذا براہ کرم بالکل وہی استعمال کریں جو درج ہیں۔
| لائبریری | ورژن | مصنف | کس سے انسٹال کریں |
|---|---|---|---|
| GFX Library for Arduino | 1.5.6 | moononournation | ZIP فائل - نیچے دیکھیں |
| bb_captouch | 1.3.1 | Larry Bank | لائبریری مینیجر |
| ArduinoJson | 7.x | Benoit Blanchon | لائبریری مینیجر |
| Adafruit NeoPixel | کوئی بھی حالیہ | Adafruit | لائبریری مینیجر |
GFX لائبریری کو ZIP فائل سے انسٹال کرنا
- ZIP ڈاؤن لوڈ کریں۔ یہ اس پروجیکٹ کی ڈاؤن لوڈ میں شامل ہے، یا آپ اسے Arduino_GFX ریپوزٹری سے حاصل کر سکتے ہیں - سبز Code بٹن پر کلک کریں، پھر Download ZIP پر کلک کریں۔
- اسے کہیں محفوظ کریں جہاں آپ اسے دوبارہ ڈھونڈ سکیں۔ اسے ان زپ نہ کریں۔
- Arduino IDE میں، Sketch → Include Library → Add .ZIP Library پر کلک کریں۔
- ڈاؤن لوڈ کی گئی ZIP فائل تک براؤز کریں اور Open پر کلک کریں۔
- IDE اسے انسٹال کرتا ہے اور ونڈو کے نیچے تصدیق کرتا ہے۔ اگر آپ کے پاس پہلے سے 1.6 ورژن انسٹال ہے، تو پہلے اس فولڈر کو
Documents/Arduino/librariesسے حذف کریں، ورنہ دونوں میں تصادم ہوگا۔
secrets.h ترتیب دینا
آپ کی WiFi تفصیلات اور کوئی بھی API کلید secrets.h میں جاتی ہیں، جو ڈاؤن لوڈ میں پلیس ہولڈر اقدار کے ساتھ شامل ہے۔ Arduino IDE میں اس ٹیب کو کھولیں اور انہیں اپنی اپنی معلومات سے تبدیل کریں۔
secrets.h میں استعمال کریں۔اپنی API کلید حاصل کرنا
یہ پروجیکٹ کلاؤڈ AI سروس سے بات کرتا ہے، اس لیے آپ کو اپنی کلید کی ضرورت ہے۔ اگر آپ نے پہلے کبھی ایسا نہیں کیا، تو پریشان نہ ہوں - یہ ایک پاس ورڈ کی طرح ہے جو سروس کو آپ کے اکاؤنٹ کی شناخت کراتا ہے۔ اس میں چند منٹ لگتے ہیں، صرف ایک بار۔
DeepSeek - سوچنے والا حصہ
DeepSeek وہ لینگویج ماڈل ہے جو دراصل آپ کے سوال کا جواب دیتا ہے۔ یہ سستا ہے - چند ڈالر کا کریڈٹ ہزاروں جوابات کا احاطہ کرتا ہے۔
- platform.deepseek.com پر جائیں اور اکاؤنٹ بنائیں۔
- مینو میں API keys کھولیں اور Create new API key پر کلک کریں۔
- اسے فوری کاپی کریں۔ یہ صرف ایک بار دکھائی جاتی ہے اور پھر کبھی نہیں - اگر آپ اسے کھو دیتے ہیں، تو اس کلید کو حذف کریں اور دوسری بنائیں۔
- Top up کے تحت تھوڑی سی کریڈٹ شامل کریں۔ کوئی مفت درجہ نہیں ہے، لیکن سب سے چھوٹا ٹاپ اپ اس استعمال پر بہت طویل عرصہ چلتا ہے۔
کلید کو secrets.h میں DEEPSEEK_KEY کے طور پر رکھیں۔ یہ sk- سے شروع ہوتی ہے۔
deepseek-chat اور deepseek-reasoner کو ریٹائر کر دیا گیا، اس لیے آن لائن ملنے والے زیادہ تر ٹیوٹوریلز 400 ایرر کے ساتھ ناکام ہوں گے۔ deepseek-v4-flash استعمال کریں، جو ان پروجیکٹس میں پہلے سے سیٹ ہے۔چلانے کی لاگت کیا ہے
بہت کم، لیکن یہ مفت نہیں ہے، اور آپ کو تقریباً معلوم ہونا چاہیے کہ پروجیکٹ چھوڑنے سے پہلے آپ کتنا خرچ کر رہے ہیں۔
| سروس | تقریبی لاگت |
|---|---|
| DeepSeek | فی جواب ایک سینٹ کا ایک حصہ - چند ڈالر میں ہزاروں جوابات |
قیمتیں بدلتی ہیں، اس لیے انہیں حوالہ کے بجائے رہنما کے طور پر لیں۔ ان میں سے ہر سروس کا ایک استعمال کا صفحہ ہے جہاں آپ اپنے خرچ کو دیکھ سکتے ہیں، اور سب آپ کو خرچ کی حد مقرر کرنے دیتی ہیں - جو پہلے دن کرنا قابل قدر ہے۔
مسائل کا حل
| علامت | وجہ اور حل |
|---|---|
| اسکرین سیاہ رہتی ہے | غلط GFX لائبریری ورژن (1.5.6 استعمال کریں) یا غلط بورڈ سیٹنگز۔ |
PSRAM alloc failed |
Tools → PSRAM OPI PSRAM پر سیٹ نہیں ہے۔ |
| کچھ اپ لوڈ نہیں ہوتا / کوئی COM پورٹ نہیں | غلط USB-C پورٹ، یا CH340 ڈرائیور انسٹال نہیں ہے۔ |
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ایمیزون
وسائل اور حوالہ جات
-
دستاویزاتMakerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: User's Manualwiki.makerfabs.com
-
دستاویزات
-
باہرونیMakerfabs websitemakerfabs.com
فائلیں📁
آردوینو کوڈ (.ino)
-
makerfabs_ESP32S3_Draw_AI.zip آردوینو اسکیچپن ہیڈر اور سیکریٹ ہیڈر .h فائلیں شامل ہیں
makerfabs_ESP32S3_Draw_AI.zip0.02 MB
ڈیٹا شیٹ (پی ڈی ایف)
-
انگریزی ESP32-S3 ڈیٹا شیٹ
esp32-s3_datasheet_en[1].pdf1.05 MB