تجربیات یک مهندس برق
صفحات وبلاگ
کلمات کلیدی مطالب
ساختن موسیقی با میکروکنترلر
ساعت ٧:٤٥ ‎ب.ظ روز ۱۳۸٥/۳/۸  کلمات کلیدی:

قبل از شروع این بحث بهتر است آشنایی مختصری با تئوری موسیقی پیدا کنید.اجزای یک ملودی نتها هستند.هر نت در واقع یک فرکانس یا یک باند فرکانسی است.مثلا طبق استاندارد جهانی نت لا ازپایینترین اکتاو (Octave)، با فرکانس 440HZ نواخته می شود .


در شکل زیر کلیدهای یک پیانو رسم شده است.

همانطور که مشاهده می شود،نتها در اکتاوها متوالیا تکرار می شوند.اما فرق یک نت در یک اکتاوتا اکتاودیگر چیست؟تفاوت دربمی وزیری صداست.درواقــــع صدای نتهـــــای واقع در اکتــاوهای بالاتر، زیرترمی شود.

فرکانس نتهای موسیقی را می توان طبق رابطه زیر به دست آورد.

fx=fbase * 2 ^(n/12)

  در رابطه بالا fbase فرکانس یک نت معلوم است.مثلا نت لا که قبلا گفته شد وn فاصله کلید مجهول از کلید معلوم رو به بالاست.مثلا فرکانس نت سی از همان اکتاو،طبق زیر به دست می آید.

fsi=440*2^(2/12)=494HZ

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

 برای شروع کار می توانید مثال زیر را دانلود کنید.

Download : AVR-Music.zip

 


 
نویسندگان وبلاگ:
کدهای اضافی کاربر :