Bincika Lambar

AI ya rubuta waƙa kuma wannan ESP32 yana koya maka ka kunna ta

AI ya rubuta waƙa kuma wannan ESP32 yana koya maka ka kunna ta

Tambayi AI ya rubuta waƙa, ji ana kunna ta, sannan ka bar allo ya koya maka kunna ta

Zaɓi yanayi, danna WRITE, kuma AI ya tsara ɗan waƙa. Allon ya kunna ta, yana haskaka kowace maɓallin yayin da take tafiya. Sannan danna LEARN kuma ya zama malami: yana haskaka maɓalli ɗaya a lokaci guda kuma yana jira ka danna shi, bayanin bayanin, har sai ka kunna dukan waƙar da kanka.

922-Wannan Labarin AI Music ne (labarin na yanzu)

923-Piano aikin yana nan.

Har yanzu cikakken piano mai maɓalli 21 ne a kowane lokaci - kawai ka kunna shi.

AI Music Composer da Teacher suna aiki akan allo na MaTouch AI ESP32-S3
AI Music Composer da Teacher suna aiki akan allo na MaTouch AI ESP32-S3

Allon

Babban allon AI Music akan MaTouch AI ESP32-S3, yana nuna maɓallai shida
Babban allon AI Music akan MaTouch AI ESP32-S3, yana nuna maɓallai shida

Maɓallai shida a saman, sannan keyboard mai maɓalli 21 - layuka uku na bakwai, C3 zuwa B5. Ba kamar aikin piano ba babu shimfidar baki da fari a nan, domin an ƙuntata AI ga bayanan halitta bakwai kuma grid shine abin da waɗannan bayanan suke kama.

Maɓalli Abin da yake yi
STYLE Yana jujjuya yanayi: HAPPY, SAD, SPOOKY, FOLK, LULLABY. Wannan shine abin da ake aika wa AI.
WRITE Yana tambayar AI don waƙa a wannan yanayin. Yana nuna WAIT yayin da yake tunani, sannan yana kunna abin da ya dawo.
PLAY Yana sake kunna waƙar da ke ciki a yanzu. Danna sake don tsayarwa.
LEARN Yanayin koyarwa - yana haskaka maɓalli ɗaya kuma yana jira ka.
WAVE Launin sauti: SOFT, ORGAN ko BRIGHT.
VOL Danna don matsawa ƙarar 1 zuwa 5. Alamar tana nuna matakin.

Ƙarar da allo ke farawa da ita an saita ta da #define VOLUME kusa da saman sketch, don haka za ka iya haɗa matakin da kake so kuma har yanzu canza shi kai tsaye.

Abin da AI ke haifarwa a zahiri

Wannan shine ɓangaren da ya cancanci a fayyace shi, domin yana da sauƙi a wuce gona da iri. AI ba ya haifar da audio. Samar da ainihin igiyar sauti yana buƙatar babban samfurin da katin zane; babu microcontroller da ke yin hakan, kuma duk wanda ya ce akasin haka yana kunna fayil ɗin da aka yi a wani wuri.

Abin da yake haifarwa shine jerin bayanan, a matsayin rubutu na yau da kullun:

[{"n":"C4","ms":300},{"n":"E4","ms":300},{"n":"G4","ms":600}]

Allon yana nazarin wannan da ArduinoJson kuma yana kunna shi ta amfani da wannan synthesiser kamar aikin piano. Ɗan buƙatar rubutu mai gajere yana kashe ɗan ƙaramin kaso na cent, kuma da zarar waƙa ta zo za a iya sake kunna ta har abada ba tare da intanet ba.

makerfabs_ESP32S3_cam_music_screen-10-

Dalilin da yasa prompt ɗin ke ƙuntata AI

Buƙatar tana gaya wa samfurin cewa yana iya amfani da bayanan 21 kawai waɗanda suke a zahiri akan wannan keyboard - halitta daga C3 zuwa B5, babu sharps ko flats. Wannan ba iyaka ce ta synthesiser ba, wanda zai iya kunna kowane mitar. Yana nan don dalilai biyu masu kyau:

  • kowace bayanin da ya rubuta ita ce LEARN zai iya koya maka a zahiri, domin akwai maɓalli don ita
  • zama a cikin maɓalli ɗaya yana nufin sakamakon koyaushe yana jin daɗin kiɗa, ko da samfurin yana da ranar rashin ilhami

Nazarin amsa daga samfurin harshe

Samfura suna son zama masu taimako, wanda a nan yana nufin nannade amsar a cikin shingen markdown da ƙara jimla mai abokantaka game da abin da suka rubuta. Sketch ɗin yana buƙatar ƙarfi don JSON marar kayan ado sannan kuma yana ɗaukar komai tsakanin farkon [ da ƙarshen ] a matsayin kariya. Duk bayanin da ba zai iya sanyawa akan keyboard ba ana tsallake shi, kuma ana karɓar sakamakon kawai idan aƙalla bayanai huɗu masu amfani suka tsira. Yin haƙuri da fitarwa marar cikakkiya shine mafi yawan aiki a kowane aikin da ke nazarin rubutun AI.

Amsar marar komai, da yadda za a guje mata

Abu ɗaya zai kama ka idan ka canza samfurin ko umarnin. DeepSeek yana tunani kafin ya amsa, kuma wannan tunanin ana biyansa daga wannan kasafin max_tokens ɗin da ake amfani da shi don amsar. Ka tambaye shi wani abu mai wahala kuma zai iya kashe dukan kasafin yana tunani, sannan ya dawo da amsa marar komai - buƙatar da ta yi nasara amma ba ta ƙunshe da kome ba.

A wannan aikin, wannan ya bayyana yayin da yanayin da suka fi wahala suka kasa yin aiki yayin da masu sauƙi suka yi aiki. SPOOKY da LULLABY suna son maɓallin ƙarami, wanda ke da wahala sosai lokacin da aka hana kowane ƙararrawa da ƙasa, don haka samfurin ya yi tunani - kuma ya ƙare. HAPPY a cikin C major ya amsa nan take.

Akwai gyare-gyare biyu kuma wannan zanen yana amfani da duka biyun. Buƙatar tana aika "thinking": {"type": "disabled"}, wanda ke kashe tunanin gaba ɗaya don haka dukan kasafin ya tafi ga amsar kuma amsar ta dawo da sauri. Kuma umarnin yanzu yana gaya wa samfurin yadda za a yi sautin ƙarami ba tare da ƙararrawa ba - a tsakiyar waƙar a kan A ko E, wanda ke amfani da irin waɗannan bayanan.

Yanayin koyarwa

Ka danna LEARN kuma maɓalli ɗaya ya zama kore. Ka danna shi kuma allo ya ci gaba zuwa bayanin na gaba. Ka danna maɓallin da ba daidai ba kuma har yanzu yana yin sauti - piano ne, bayan haka - amma ba ya ci gaba. Sandar matsayi tana ƙidaya ci gabanka, kuma idan ka kai ƙarshe, tana gaya maka haka.

Babu matsin lokaci ko maki. Yana jira ka muddin kake buƙata, wanda shine abin da ya sa ya zama mai amfani da gaske don koyan jumla maimakon kawai sabon abu.

Yanayin LEARN akan MaTouch AI ESP32-S3 - maɓalli ɗaya ya haskaka, yana jiran a danna shi
Yanayin LEARN akan MaTouch AI ESP32-S3 - maɓalli ɗaya ya haskaka, yana jiran a danna shi

Yana aiki ba tare da WiFi ba kuma

An gina waƙa a cikin zanen, don haka PLAY da LEARN suna aiki ba tare da hanyar sadarwa ba kwata-kwata. WRITE ne kawai ke buƙatar intanet - kuma yana buƙatar maɓallin DeepSeek kawai. Babu asusun Azure ko OpenAI da ake buƙata don wannan aikin.

Lokacin da kake gwadawa, danna PLAY da farko: wannan yana tabbatar da hanyar sauti da madannai kafin a shiga hanyar sadarwa, don haka idan WRITE ya kasa daga baya, ka riga ka san inda za ka duba.

Sake kunna waƙa tare da kashe router - tana kan allo yanzu
Sake kunna waƙa tare da kashe router - tana kan allo yanzu

Ra'ayoyi don ci gaba

  • Nemi waƙa "a salon waƙar teku" ta hanyar gyara jerin salon.
  • Ka sa ta rubuta jumla ta biyu da ke amsa ta farko.
  • Ajiye waƙoƙin a katin SD don allo ya gina littafin waƙa a tsawon lokaci.
  • Ƙara makirufonin daga aikin mataimakin murya don ka iya magana da buƙatar maimakon danna zaɓi da aka riga aka saita.

Game da allo na MaTouch AI ESP32-S3 2.8"

Kowane aiki a wannan shafin yana gudana akan MaTouch AI ESP32-S3 2.8" TFT ST7789V daga Makerfabs. Allo ne mai haɗa komai: allon taɓawa mai launi, kyamara mai megapixel 3, makirufoni biyu da kuma amplifier na hakika na lasifika, duk ana sarrafa su ta ESP32-S3 tare da PSRAM 8 MB. Wannan haɗin shine abin da ke sa waɗannan ayyukan AI su yiwu akan allo ɗaya ba tare da wani abu da aka haɗa ba.

PSRAM 8 MB ɗin yana da muhimmanci fiye da kowane lamba a nan. Shi ne abin da ke ba allo damar riƙe hoton kyamara, ƴan daƙiƙan rikodin sauti, ko hoton da aka ɓoye a cikin base64 a ƙwaƙwalwa a lokaci guda - babu ɗayansu da ya dace a cikin RAM ɗin ESP32 na yau da kullun.

Takardun masana'anta: Shafin wiki na Makerfabs.

Kowane aiki na wannan allo - kyamara, tantance fuska ba tare da layi ba, mataimakin murya na AI, hangen nesa na AI da aikin zane - yana da nasa koyarwar. Hanyoyin haɗi zuwa dukansu suna ƙasa da wannan labarin.

Muhimman ƙayyadaddun bayanai

  • Processor: ESP32-S3, dual core 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
  • Ƙwaƙwalwa: Flash 16 MB, PSRAM 8 MB (wanda kusan kowane aiki a nan ke buƙata)
  • Nuni: IPS 2.8", 320×240, direban ST7789V, SPI
  • Taɓawa: GT911 capacitive, yana bin yatsu 5 a lokaci ɗaya
  • Kyamara: OV3660, megapixel 3, har zuwa 2048×1536
  • Makirufoni: INMP441 I2S dijital biyu (nau'in sitiriyo na hakika)
  • Lasifika: MAX98357A class-D amplifier, 3.2 W a cikin 4 Ω
  • Adana bayanai: Ramin katin microSD (yanayin SPI)
  • Wutar lantarki: USB-C, haɗin baturi JST, caja TP4056, maɓallin wuta
  • Har ila yau a kan allo: WS2812B RGB LED, agogon lokaci na hakika PCF8563T mai baturi, da ma'aunin man fetur na baturi MAX17048 wanda ba a jera shi a cikin ƙayyadaddun bayanai na hukuma ba

Kuna kunna shi da baturi? An yi cikakken bayani game da kofofin USB-C guda biyu, cajar TP4056 da maɓallin wuta, tare da zanen tsarin, a cikin labarin gwajin allo — gami da wace kofa take caji da kuma ko maɓallin ya kamata a kunna ko a kashe.

Saitunan Arduino IDE

Waɗannan saitunan suna da mahimmanci. Yawancin matsalolin da mutane ke fuskanta da wannan allo ɗaya ne daga cikin waɗannan da ba daidai ba, kuma suna sake saitawa lokacin da kuka canza sigar core, don haka sake duba su bayan kowane canji.

Saiti Ƙima
Allo ESP32S3 Dev Module
Sigar core ESP32 2.0.17
PSRAM OPI PSRAM
Girman Flash 16MB (128Mb)
Tsarin Rarraba 16M Flash (3MB APP/9.9MB FATFS)
USB CDC On Boot Disabled
Saurin Lodawa 921600
Share Duk Flash Kafin Lodawa Disabled
Tasha tashar CH340K USB-C

Idan lodawa ta gaza: sanya allo cikin yanayin saukewa da hannu

Yawancin lokaci kawai ku danna Upload kuma yana aiki. Wani lokaci ba ya aiki - IDE yana zaune a Connecting...... sannan ya daina da Failed to connect to ESP32-S3: No serial data received.

Wannan yana faruwa saboda IO0 yana yin ayyuka uku a wannan allo lokaci ɗaya: shine maɓallin BOOT, shine layin sake kunnawa daga CH340K, kuma shine layin bayanan RGB LED. Lokacin da sketch da ke gudana akan allo ke tuka wannan LED, yana iya yaƙi da sake kunnawa ta atomatik, don haka chip ɗin zai sake farawa cikin tsohon sketch ɗinku maimakon bootloader.

Maganin yana ɗaukar daƙiƙa biyar. Sanya shi cikin yanayin saukewa da kanku:

  1. Danna kuma rike maɓallin BOOT.
  2. Yayin da kuke riƙe BOOT, danna RESET kuma ku saki RESET.
  3. Yanzu ku saki BOOT. Allon ya zama fanko - wannan shine bootloader yana jira.
  4. Danna Upload.
  5. Lokacin da ya gama, danna RESET sau ɗaya don kunna sabon sketch.

Idan har yanzu ba zai haɗu ba, rage Upload Speed zuwa 115200 kuma ku sake gwadawa. Kuma ku duba maɓallin wutar allo yana kunne - CH340K yana ƙidaya kuma yana ba ku tashar COM ko da allon kansa an kashe shi, wanda ke yaudarar mutane.

Libraries da ake buƙata

Wannan aikin yana buƙatar kowane library a cikin teburin da ke ƙasa - babu wani abu ƙari, babu wani abu kaɗan. Yawancin suna shigar kai tsaye daga Tools → Manage Libraries a cikin Arduino IDE, amma GFX Library for Arduino dole ne a shigar daga fayil ɗin ZIP. Lambobin sigar suna da mahimmanci, don haka da fatan za ku yi amfani da ainihin waɗanda aka jera.

Library Sigar Marubuci Shigar daga
GFX Library for Arduino 1.5.6 moononournation Fayil ɗin ZIP - duba ƙasa
bb_captouch 1.3.1 Larry Bank Library Manager
ArduinoJson 7.x Benoit Blanchon Library Manager
Adafruit NeoPixel kowanne na kwanan nan Adafruit Library Manager

Shigar da GFX library daga fayil ɗin ZIP

  1. Sauke ZIP ɗin. Yana cikin wannan aikin’s download, ko kuma za ka iya samunsa daga Arduino_GFX repository - danna koren Code button, sannan Download ZIP.
  2. Ajiye shi a inda za ka iya sake samunsa. Kada ka buɗe shi (unzip).
  3. A cikin Arduino IDE, danna SketchInclude LibraryAdd .ZIP Library.
  4. Nemo ZIP file ɗin da ka sauke sannan danna Open.
  5. IDE ɗin zai shigar da shi kuma ya tabbatar a ƙasan taga. Idan kana da sigar 1.6 da aka shigar, share wannan folder ɗin daga Documents/Arduino/libraries tukuna, in ba haka ba su biyun za su yi rikici.

Saita secrets.h

Bayanan WiFi ɗinka da duk wani API keys za su shiga cikin secrets.h, wanda ke cikin download ɗin tare da ƙimar da ba a cika ba. Buɗe wannan tab ɗin a cikin Arduino IDE sannan ka maye gurbinsu da naka.

Samun API keys ɗinka

Wannan aikin yana magana da sabis ɗin AI na cloud, don haka kana buƙatar naka key ɗin. Idan ba ka taɓa yin wannan ba, kada ka damu - yana da irin ra'ayin kalmar sirri da ke gano asusunka ga sabis ɗin. Yana ɗaukar ƴan mintuna, sau ɗaya.

DeepSeek - ɓangaren tunani

DeepSeek shine samfurin harshe wanda ke amsa tambayarka a zahiri. Ba shi da tsada - ƴan daloli na kuɗi suna ɗaukar dubban amsoshi.

  1. Je zuwa platform.deepseek.com sannan ka ƙirƙiri asusu.
  2. Buɗe API keys a cikin menu ɗin sannan danna Create new API key.
  3. Kwafi shi nan take. Ana nuna shi sau ɗaya kawai kuma ba za a sake shi ba - idan ka rasa shi, share wannan key ɗin sannan ka yi wani.
  4. Ƙara ɗan ƙaramin kuɗi a ƙarƙashin Top up. Babu free tier, amma mafi ƙarancin top-up yana daɗe sosai a wannan amfani.

Saka key ɗin a cikin secrets.h a matsayin DEEPSEEK_KEY. Yana farawa da sk-.

Menene kuɗin gudanarwa

Kaɗan ne, amma ba kyauta ba ne, kuma ya kamata ka san kusan abin da kake kashewa kafin ka bar aiki yana gudana.

Sabis Kimanin kuɗi
DeepSeek ɗan ƙaramin kaso na cent ɗaya a kowace amsa - dubban amsoshi don ƴan daloli

Farashin yana canzawa, don haka ɗauki waɗannan a matsayin jagora maimakon ƙididdiga. Kowane ɗayan waɗannan sabis ɗin yana da shafin amfani inda za ka iya kallon abin da ka kashe, kuma dukansu suna ba ka damar saita iyakar kashewa - wanda ya cancanci yi a rana ta farko.

Magance matsaloli

Alamar Dalili da magani
Allon ya kasance baƙi Ba daidai ba GFX library version (yi amfani da 1.5.6) ko kuma ba daidai ba saitunan board.
PSRAM alloc failed Tools → PSRAM ba a saita shi zuwa OPI PSRAM ba.
Babu abin da ke upload / babu COM port Ba daidai ba USB-C port, ko kuma ba a shigar da CH340 driver ɗin ba.

Hotuna

makerfabs_ESP32S3_cam_music_screen-1-
makerfabs_ESP32S3_cam_music_screen-1-
makerfabs_ESP32S3_cam_music_screen-4-
makerfabs_ESP32S3_cam_music_screen-4-
makerfabs_ESP32S3_cam_music_screen-10-
makerfabs_ESP32S3_cam_music_screen-10-
Babu lambar da aka haɗa.

Albarkatun da kuma shafukan da za a duba

Fayiloli📁

Lambar Arduino (.ino)

Takardar bayanai (pdf)