تولید
ملودی موسیقی با AVR
برای تولید نت موسیقی، ابتدا باید بر این نکته اساسی واقف بود
که نسبت فرکانس هر دو نت متوالی در دستگاه
موسیقی بین المللی (فاصله نیم پرده) برابر است با عدد 1.059463 که
این عدد در واقع ریشه دوازدهم عدد دو می باشد. در توضیح بیشتر این
مسئله می توان به سازهایی مانند پیانو اشاره کرد که 12 نت با نام
های مستقل روی آنها تعریف می شود و فاصله فرکانس بین هر دو نت
متوالی با هم برابر است. با توجه به دو برابر شدن فرکانس در دو نت
همنام ( مثلا دو Mi
متوالی) و وجود 12 نت در این فاصله، بنابراین فاصله فرکانسی هر دو
نت مجاور برابر ریشه دوازدهم عدد 2 خواهد بود. حال اگر یک نت را به
عنوان نقطه مبنا در نظر بگیریم، فرکانس نت بعدی 1.059463 برابر نت
فعلی و فرکانس نت قبلی هم همین فرکانس تقسیم بر 1.059463 خواهد
بود. با توجه به تدوین قراردادی مبنی بر قرار دادن یکی از نت های
Do برابر با 440 هرتز، می توانیم همین عدد
440 هرتز را به عنوان مبنا در نظر بگیریم و فرکانس نت های بعدی و
قبلی را با ضرب یا تقسیم متوالی بر آن بدست بیاوریم.
بر همین اساس در دو پروژه که لینک آن در ادامه
قرار داده می شود، ملودی نوای "ای ایران" ساخته زنده یاد روح الله
خالقی روی خروجی PB0
بصورت یکسری پالس ایجاد می شود که با اتصال این خروجی به تقویت
کننده مناسب می توان ملودی مذکور را از طریق بلندگو پخش کرد. این
برنامه ها برای ATmega32
نوشته شده و قبلا در سایت ECA.ir
قرار داده شده اند.
دانلود پروژه کدویژن
دانلود
پروژه بسکام