「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



週末、ノートに書き出していたメモを元にFM音源の
プログラムを書き進めました。

だいぶいい感じになってきました。まぁ、まだ全部は
書き終わってないのですが、モジュレータとキャリア
のsin関数出力の計算式部分を書き終わりました。

この部分が一番大変なところ。つまり産みの苦しみは
殆ど終了。アセンブラでsin関数扱おうって言う方が
ちょっと無理があるんですけどね。


といっても、まだ「ド」の音1個分だけしか出来てません。
まぁ、ここまでできればあとの3つの音もコピペするだけ。
残りは簡単に片付くかと。

ちなみに、現在組み込済み/未済の機能は

・単音のみ(和音は不可…キャリアが1個しかない)
・モジュレータは1個だけ(変調のアルゴリズムが選択不可)
・周波数比はプロコンで変更可能
・モジュレータの変調度合いはプロコンで256段階で設定可能
・エンベロープパターンは未登載
・モジュレータのフィードバックは未登載

と、FM音源を謳っている割にはまだまだ未熟です。
でも、これだけでも単なる矩形波よりはずっと
豊かな音が出るはず。

音が出るまで、あとちょっとだけだな…。


そういえば昔、8ビットパソコンで音声出力
しちゃってた凄いゲームがあった記憶が…。
アレは凄かったなぁ。パラディンだったかな?
 「ついにパソコンが喋った!」
と。もう20年以上前のお話ですが…。

AVRでもいつか音声合成でサンプリング
の音声を出力したいな。




コメント ( 0 )




arduinoとXBeeを使った作例がなにか無いかなって思って、
YouTubeを探ってみたんですが、まだそれほど見つかり
ませんでした。

ただ、arduinoを登載したロボットをリモートで動かす
もの(平たく言うとラジコンね)はありました。

赤外線等と違って、エラー訂正なども含めたネットワーク
プロトコルだから、ラジコン的につかうと便利だな。

そういえば、ラジコンのプロポといえば昔はAMや
FMだったのが、PCMを使ったのが出てきて
(といっても凄く昔の話)、その辺りまでは
「ラジコン技術」誌の広告でなんとか知ってましたが、
最近の技術動向としてはどうなっているんだろうと
思って、ちょこっと検索してみました。

Futabaのサイトで最新のプロポを眺めてみると…

やっぱり少ないチャンネルのプロポはAMやFMで、
ある程度チャンネル数が増えるとPCMになって
いたり…と、この辺りは昔と変わってないみたい…

って思っていたら、世界はもうちょっと進んで
いるようです。2.4G帯の無線を使って、
混線が一切起らないのを売り物にしたプロポも
出てきてるんですねぇ。

この周波数帯って、ZigBeeと一緒。
ってことは、これらのプロポも使っているプロトコル
はIEEE 802.15.4を使っているのか、もしくは一部互換
なのか、それとももっと違うプロトコルを登載して
いるのか?残念ながら私の頭では良くわかりません。

IEEE 802.15.4は短距離用っていうお話だったと
思いますが、ちなみに2.4Ghzをラジコン用の
プロポに使うとすると、通信距離はどの程度に
なるんだろう?

ラジコン飛行機やヘリコプターみたいに空飛ぶもの
の場合、電波の混線の心配が無いのはありがたいこと
だろうと思いますが、周波数が高くなればその分
通信距離は短くなるだろうし、その辺のバランスは
どうなんでしょう?

Futabaのサイトには、何メーター飛ぶとか書かれて
いないんですよね。なんとなくちょっと知りたい…



コメント ( 0 )




私が愛用しているarduinoの互換ボード、
マイクロファンの「reduino-nano」、
今月いっぱい価格割引で2940円に
なっているようです。

ブートローダも最初から入っているので、
買ってくればすぐ使るし、サイズ的に
ブレッドボードに挿しても邪魔にならない
ので、かなり便利かと。

まぁ、reduino-nanoじゃなくてもいいのですが、
こういう細身タイプ(arduino-nano的な)の
場合、ブレッドボードで色んなものを簡単に
接続できるので、1個有ると便利ですね。
(シールドを使わなければ、という条件付きですが)

秋月とかで、センサーとか出力素子とか買って来た
直後に、ちょっとスケッチ書いて動かしてみたい
ってときにかなり便利。



コメント ( 0 )




Freescaleのプレスリリースを見てみたんだけど、
やっぱりよくわかんない。
http://www.freescale.co.jp/pressrelease/article.php?id=423

「プロトコルの一般提供を開始」って、なんだ?

IEEE802.15.4のサブセットがSynkroってこと?
SynkroのサブセットがIEEE802.15.4ってこと?
それとも両者のプロトコルで一致する部分を公開ってこと?

うーん。
XBeeシールドがあれば、全部とは言わなくても
ある程度は遊べるってことなんだろうか。

現地価格は39ユーロね。
ユーロ安になってからの仕入れ分が出回ったら
手を出しても良いんだけどな。

一番の問題は、XBeeシールド買っても、接続
するための相手が無いって事。
XBee間で通信したいんじゃなくて、家電を
動かすリモコンとして使いたいので。



コメント ( 0 )




AVRでFM音源を作ってしまおうというお話の
続きです。

800で割った余りの計算をするのにちょっと
メゲたので、スペックダウンをすることにしました。
(出来なくは無いんですが、処理時間が…)

SIN波1波形あたり256ステップのデータとし、
2のべき乗に揃えることで計算を楽にしてみます。
(というより下位1バイトだけ取り出せばOKに)

出力される音声データの精度が少し粗くなるのですが、
まぁ、まずは音が出ることを最優先にすることとします。


そうそう。アセンブラで掛け算と割り算の話。

atmelのアプリケーションノートの
http://www.atmel.com/dyn/products/app_notes.asp?family_id=607
ここにあるAVR200: Multiply and Divide Routines
http://www.atmel.com/dyn/resources/prod_documents/doc0936.pdf
を見ると、ハードウェア乗算命令を応用した
16ビット対16ビットの乗除算の処理方法
が載ってました。

符号有り、符号無し、両方とも載ってました。

ちゃんとアプリケーションノート、見ないと
いけませんね…。


ま、ひとまずスペックダウンによって処理方法が
簡単になったはずなので、とにかく音を出すこと
を急ぎたいと思います。



コメント ( 0 )



« 前ページ 次ページ »