前回のプログラムで前々回YMZ294をAVRで動かす(2)~さっそく動かしてみる~
より楽に音の高さを指定することができました。
ちょっと曲を打ち込んでみようと思います。
打ち込んだ曲はこれ
「こいのぼり」
こどもの落書き。デジタルは難しい。
やねよりたかいこいのぼり~ってやつ。この曲にしたのは5月だから。ちょっと時期がずれているのはプログラムを作ったのが4月終わり、現在のプログラムはもうちょっと進んでる(´・ω・`)
楽譜を見ながらプログラムをぽちぽち打ち込む。前々回より楽になったとはいえ、時間がかかる。
前回のプログラムのメイン関数に次のデータを書き込みました。
//イントロ
setTone(72,0);
setTone(48,1);
_delay_ms(250);
setTone(74,0);
_delay_ms(250);
setTone(76,0);
_delay_ms(500);
setTone(79,0);
setTone(52,1);
_delay_ms(500);
//
setTone(84,0);
setTone(53,1);
_delay_ms(500);
setTone(81,0);
_delay_ms(500);
setTone(48,1);
setTone(79,0);
_delay_ms(500);
//
setTone(76,0);
setTone(48,1);
_delay_ms(250);
setTone(76,0);
_delay_ms(250);
setTone(55,1);
setTone(74,0);
_delay_ms(500);
setTone(76,0);
_delay_ms(500);
//
setTone(72,0);
setTone(48,1);
_delay_ms(1000);
setTone(128,0);
setTone(128,1);
_delay_ms(500);
//1やねより
setTone(64,0);
setTone(48,1);
_delay_ms(250);
setTone(62,0);
_delay_ms(250);
setTone(60,0);
_delay_ms(500);
setTone(62,0);
setTone(52,1);
_delay_ms(500);
//2たかい
setTone(64,0);
setTone(48,1);
_delay_ms(500);
setTone(69,0);
_delay_ms(500);
setTone(52,1);
setTone(67,0);
_delay_ms(500);
//3こいのぼ
setTone(64,0);
setTone(48,1);
_delay_ms(250);
setTone(64,0);
_delay_ms(250);
setTone(64,0);
_delay_ms(500);
setTone(62,0);
setTone(52,1);
_delay_ms(250);
setTone(60,0);
_delay_ms(250);
//4り
setTone(62,0);
setTone(55,1);
_delay_ms(1000);
setTone(128,0);
setTone(128,1);
_delay_ms(500);
//5おおきい
setTone(60,0);
setTone(48,1);
_delay_ms(250);
setTone(62,0);
_delay_ms(250);
setTone(64,0);
_delay_ms(500);
setTone(67,0);
setTone(52,1);
_delay_ms(500);
//6まごいは
setTone(69,0);
setTone(48,1);
_delay_ms(250);
setTone(69,0);
_delay_ms(250);
setTone(67,0);
setTone(48,1);
_delay_ms(500);
setTone(64,0);
_delay_ms(500);
//7おとうさ
setTone(67,0);
setTone(48,1);
_delay_ms(250);
setTone(67,0);
_delay_ms(250);
setTone(64,0);
_delay_ms(500);
setTone(62,0);
setTone(55,1);
_delay_ms(500);
//8ん
setTone(60,0);
setTone(48,1);
_delay_ms(1000);
setTone(128,0);
setTone(128,1);
_delay_ms(500);
//9ちいさい
setTone(72,0);
setTone(52,1);
_delay_ms(250);
setTone(72,0);
_delay_ms(250);
setTone(72,0);
_delay_ms(500);
setTone(69,0);
setTone(57,1);
_delay_ms(500);
//10ひごいは
setTone(67,0);
setTone(48,1);
_delay_ms(250);
setTone(67,0);
_delay_ms(250);
setTone(67,0);
setTone(48,1);
_delay_ms(500);
setTone(64,0);
_delay_ms(500);
//11こどもた
setTone(62,0);
setTone(55,1);
_delay_ms(250);
setTone(62,0);
_delay_ms(250);
setTone(62,0);
_delay_ms(500);
setTone(60,0);
setTone(48,1);
_delay_ms(250);
setTone(64,1);
_delay_ms(250);
//12ち
setTone(67,0);
setTone(55,1);
_delay_ms(1000);
setTone(128,0);
setTone(128,1);
_delay_ms(500);
//13おもしろ
setTone(60,0);
setTone(48,1);
_delay_ms(250);
setTone(62,0);
_delay_ms(250);
setTone(64,0);
_delay_ms(500);
setTone(67,0);
setTone(52,1);
_delay_ms(500);
//14そうに
setTone(72,0);
setTone(53,1);
_delay_ms(500);
setTone(69,0);
_delay_ms(500);
setTone(48,1);
setTone(67,0);
_delay_ms(500);
//15およいで
setTone(64,0);
setTone(48,1);
_delay_ms(250);
setTone(64,0);
_delay_ms(250);
setTone(55,1);
setTone(62,0);
_delay_ms(500);
setTone(64,0);
_delay_ms(500);
//16る
setTone(60,0);
setTone(48,1);
_delay_ms(1000);
setTone(128,0);
setTone(128,1);
_delay_ms(500);
これを打ち込むと・・音が鳴りました。これで好きな曲を打ち込むことが出来ます。
ですが本題はMIDIで動かすこと。まだまだ続きます。
自動演奏している所を見れるように動画を投稿しました。
こちら↓ YMZ294で「こいのぼり」
https://www.youtube.com/watch?v=TYjxrjbEKxk&feature=youtu.be





