先日からのイベントログを表示するプログラム、大体完成。
Releaseだと上手く動かないのは、一つにはメモリ管理が異なっていて、ポインタがらみの処理が上手く通らなかったケース(元からコードにバグがあった)と、実行タイミングが違うのかDebugだと上手く開くレジストリがリトライさせないと開かないという症状によるものだった。適当にリトライのルーチンを入れて大体思うように動くように出来た♪
気がついたら、参考にしたプログラムとはもう完全に別物になってしまった(バグ多すぎ!)
それにしてもVCは早いと今更ながらに驚く、結構ベタな(人に見せれないような)コード書いてるにも関わらず、VBとかじゃ考えられない速度でサクサク動いている。ちょっと嬉しい。
もう少し手を入れて、便利に使えるように出来たら良いなぁ。(そもそもそれを目的に始めたのだが)
****************************
続いて、もう一つの自宅プロジェクト X-Portで・・・
先週末は、オペアンプでLPFとオーディオ帯域の増幅器を作っていたのだが、いまひとつ期待した動作が得られない、後で計算したらLPFに使うコンデンサが1桁大きい、そりゃ増幅度足りないですわ。
最終的にはマイクを繋ぎたいのだが、増幅度を弄ることが困難な状況では、ゲインの調整が困難、AGCを搭載するかソフトで調整すれば何とかなりそうだが、前者は回路が面倒だし、後者はAD変換を考えると分解能の点から考えたくは無い。悩んでいてふと思い出した、「マイクコンプレッサー」無線などで平均電力を上げるために常用される物なのだがこれが使えそう。超高速のAGCだったりある種の歪発生器だったりするそうだが、まぁ音声信号をターゲットにするなら役には立つはず。
このあたりを調査しながら、オペアンプは一時保留
デジタル部分の動作試験をしてみた。1ChipマイコンのAD変換を利用して、AD入力を高速にシリアル値として出力するモジュールを2・3週間前にすでに作成していたのだが、こちらの動作試験をアナログ入力を使って行ってみた。本来はアンプが欲しいものの、とりあえずスピーカー出力か何かでレベルがあわせれば使えるだろう?と言う強引な発想。手元の携帯で音楽を再生させた出力を計ると800mVp-p程度、少し足りないが充分実用にはなりそう。と言う事でテスト続行
PCのシリアルポートでバイナリデータを受診する、最初は事務所でお勧めされた、つ○たーむと言うソフトを使ってみるが、このデータを再生しようとすると、ピーーーーと言う発信音 おぃおぃ 失敗作? 懲りずにソフトを変えていつも利用しているTeraTermでテスト、こちらだと上手く動いた。思った以上にちゃんとした音楽として聞こえてくる。
小指の先に乗るような、2・300円のワンチップマイコンでココまで出来るとは有る意味感動物?テクノロジの進歩って凄い!15年ぐらい前は、PC-98に搭載するAD変換ボードを作りたくて、千円以上も出してADコンバーターのチップを買ってきたっけ?高いうえに、大きいし、変換も遅くてとてもオーディオ信号を読み取れる速度は無かったと思う。
と言う訳で、また暇と気力を見ながらプロジェクト続行!
コメント