FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MMLを1byte配列に変換

今晩は!
ついに30度超えてきてあついあつい。

前回のMMLを変換する話で、方向性が決まったので報告です。

マイコンでメロディを流すとなると、一番気になるのはメモリです。
昔は列挙型でメロディ配列なるものを使っていましたが、実は列挙型は4byteも食う恐ろしい型だったことを知って驚きました。
話それますが最近メモリの節約にハマってて、いっちょ前にアライメントとか気にしてます。

話戻って、今回は1byte配列でメロディを管理したいと思います。

とりあえず仕様書がこちら

工夫点としてはオクターブの変化と同時に音程情報を乗せられる場合を作ったことで、
例えばラとその上のオクターブのドが繰り返されるなんて状況に強い。
探した限りでは1byte配列で管理してる例はないからちょっと自慢だったり。

恒例の目が痛くなるやつ↓07171.png

こんな感じで出力されたのをコピーして、
unsigned char merody[]{
--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,
--,--,--,--,--,--,--,--,--,--,--,--,--,--,--,--
}

てすれば、MML→マイコンで読めるように変換 の課程は完了
次パートはマイコンが配列を読み込んで音を出すところです。

今回使ったプログラムがこれ
コード汚いのはごめんなさい。
使い方はMIDIをMMLに変換してdata.txtの名前で保存→ファイル読み込みで変換

相方の読み込んで音出すプログラムが完成したらまた更新します~
ではでは ^^) _旦~~
スポンサーサイト
時計
カテゴリ
最新記事
12月14日開始
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。