آموزش آردوینو

ساخت ملودی با آردوینو و هوش مصنوعی ChatGPT

سلام بر مهندسان دوستدار موسیقی!

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

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

پروژه همکاری هوش مصنوعی پخش ملودی با آردوینو

مدار پخش ملودی با آردوینو

کد پخش ملودی با آردوینو

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

ابتدا، آزمایش خواهیم کرد که آیا ChatGPT می تواند کد پروژه ما را درک کند یا خیر. پس از تأیید، ما از آن درخواست خواهیم کرد تا کدهایی را برای آهنگ های دیگر ایجاد کند و دامنه ملودی هایی را که می توانیم ایجاد کنیم، گسترش میدهیم.

کافی هست یک نمونه کد آردوینو برای آن ارسال کنید و بپرسید آیا میتوانی این کد را درک کنی؟

و مشاهده میکنید که پاسخ شما را میدهد، میگوید بله و توضیحات کد را به شما ارائه میکند.

عالی! ChatGPT توانایی خود را در درک کد، فوق العاده خوب ثابت کرده است. اکنون، ما مشتاقیم که استعدادهای آن را آزمایش کنیم و از آن بخواهیم که کد آهنگ کلاسیک “Happy Birthday” را تولید کند.

به این شکل از او درخواست میکنیم:

hbd song arduino chatgpt

و هوش مصنوعی کد ملودی زیر را به ما میدهد.

#ifndef PITCHES_H
#define PITCHES_H
int HappyBirthday_note[] = {
  NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4,
  NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4,
  NOTE_C4, NOTE_C5, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_AS4,
  NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4
};
int HappyBirthday_duration[] = {
  4, 4, 4, 4, 4, 2,
  4, 4, 4, 4, 4, 2,
  4, 4, 4, 4, 4, 4, 4, 4,
  4, 4, 4, 4, 2
};
#endif

اکنون، کد را آپلود می کنیم و ChatGPT را آزمایش می کنیم تا ببینیم چقدر مهارت دارد. آردوینو به راحتی ملودی تولدت مبارک را پخش میکند!

در یک امتحان دیگر از هوش مصنوعی میخواهیم ملودی Jingle Bells را به ما بدهد و کد زیر را برای ما ارسال میکند.

#ifndef PITCHES_H
#define PITCHES_H
int JingleBells_note[] = {
  NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4,
  NOTE_E4, NOTE_E4, NOTE_E4, NOTE_G4,
  NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4,
  NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
  NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4
};
int JingleBells_duration[] = {
  200, 200, 400, 200,
  200, 400, 200, 200,
  200, 200, 200, 200,
  200, 400, 200, 200,
  200, 200, 200, 200
};
#endif

بیایید همین کار را برای یک آهنگ کلاسیک دیگر به نام “Twinkle Twinkle Little Star” امتحان کنیم.

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید
#ifndef PITCHES_H
#define PITCHES_H
int TwinkleStar_note[] = {
  NOTE_C4, NOTE_C4, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_A4, NOTE_G4,
  NOTE_F4, NOTE_F4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_C4
};
int TwinkleStar_duration[] = {
  4, 4, 4, 4, 4, 4, 2,
  4, 4, 4, 4, 4, 4, 2
};
#endif

هنگامی که تأیید کردیم که ChatGPT کد پروژه ما را درک می کند، از آن کدهایی برای پخش آهنگ های معروف بیشتری درخواست می کنیم. حتی میتوانیم از او بخواهیم کد را برای آهنگ سخت Bloody Mary در سریال ونزدی بنویسد!

#ifndef PITCHES_H
#define PITCHES_H
int BloodyMary_note[] = {
  NOTE_D5, NOTE_FS5, NOTE_A5, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6,
  NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_A6, NOTE_G6, NOTE_D6,
  NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6,
  NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_A6, NOTE_G6, NOTE_D6,
  NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6,
  NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_A6, NOTE_G6, NOTE_D6,
  NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6,
  NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_A6, NOTE_G6, NOTE_D6,
  NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6,
  NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_D6, NOTE_FS6, NOTE_A6, NOTE_G6, NOTE_D6
};
int BloodyMary_duration[] = {
  8, 8, 4, 4, 8, 8, 8,
  8, 8, 4, 4, 8, 8, 4, 8, 4,
  8, 8, 4, 4, 8, 8, 8, 8, 4,
  8, 8, 4, 4, 8, 8, 4, 8, 4,
  8, 8, 4, 4, 8, 8, 8, 8, 4,
  8, 8, 4, 4, 8, 8, 4, 8, 4,
  8, 8, 4, 4, 8, 8, 8, 8, 4,
  8, 8, 4, 4, 8, 8, 4, 8, 4,
  8, 8, 4, 4, 8, 8, 8, 8, 4,
  8, 8, 4, 4, 8, 8, 4, 8, 4
};
#endif

هرچند زیاد شباهتی به این آهنگ سخت ندارد اما باید به محدودیت های هوش مصنوعی و نوپا بودن آن توجه کنیم. اگر چه این آهنگ واقعا سخت و پیچیده است!

در واقع تکیه کردن به کدهای تولید شده توسط هوش مصنوعی میتواند خطرناک باشد. زیرا ممکن هست نتایج نادرست و ناخواسته هم بدهد اما برای طیف زیادی از پروژه های ساده میتواند واقعا مفید واقع شود و کار شما را جلو بیاندازد.

بررسی ما در ترکیب ChatGPT با تابع tone() برد آردوینو برای آهنگسازی یک سفر هیجان انگیز بوده است. ما مشاهده کردیم که این هوش مصنوعی چطور میتواند کد های آردوینو را تشخیص دهد و بسازد.

5 (1 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

2 نظر

    1. سلام عزیز
      چه اروری دریافت میکنید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *