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



ふと、これまで何かと使ってきたWM-61Aは、ブレッド
ボードだと何かと不便なので、ノートPC用とかの
ECM(エレクトレットコンデンサマイク)を実験用と
して買っちまえばいいんじゃね?と。で、物色。



480円なり。多分、値段相応の代物。

まぁ、実験用としては、充分だろうと。っていうか、
このくらいのモノ、作っちまえよと言われかねない
んだけど、やっぱ、フレキシブルネックとか、
3.5mm端子とか、全部ひっくるめて工作するのは
面倒なので。


で、例によってあのページ
http://www.epanorama.net/circuits/microphone_powering.html
に載ってる回路図を参考にして、コイツの後続に
クリッピング回路を繋いだ回路に、このECMを
組み込んでみる。

電源は、スイッチングACアダプタだといかんとも
しがたいので、この間買った高精度レギュレータ
つかって、全部繋いで、ウクレレ用クロマチック
チューナーとして動かしてみた。



左下のやつが、今回投入したマイクで、そのすぐ上
が高精度レギュレータ。ご覧の通り、グチャグチャ。


イヤフォンで、拾った音声を確認しつつ、オシロでも
確認しつつ、Arduinoのanalog0から音声を拾って、
音程をシリアルモニタで表示させてみる。


…期待したほどのノイズ低減とはいえないものの、
チョビットのホワイトノイズって感じで、一応期待
した感じで動いてくれている。

シリアルモニタには、ウクレレの弦が発している
であろう音程を、ほぼ間違えなく拾っているみたい。

ただ、まだカットオフ(どのくらいまで音量が減ったら
判定を止めるか)の定数設定をしていないので、
弦が減衰しきっても、なんらかの音程を表示し続ける
状態。


とりあえず、動作自体は悪くない感じなので、
この回路の定数のまま、ユニバーサル基板に
組み込んで、シールド化してしまった方が
ヨサゲだな。

っていうか、ブレッドボードだと、ちょっと触った
だけで「プーーーー」とか言い出すし、どこから
ノイズが載ってるのか全然わからん。退治のしようも…


ただなぁ…。出力の振幅が思ったより小さいん
だよな。ADCのフルスイング5Vppが出るといい
んだけど、マイクをポコポコ叩いても、2Vpp
くらいしか出てないし、間近で弦を弾いても、
弾いた直後で1.5Vppくらいしかでてない感じ。

もうちょっとゲインを大きくしたいんだけど、
ノイズとの兼ね合いもあるんだよな。

電源回路どうしよう。そこが一番悩ましい。



http://www.youtube.com/watch?v=Gj0QMx17MRQ
淡々とした動画なんだけど、ついじっくり最後まで
見てしまった。

この人の、別の動画の、
http://www.youtube.com/watch?v=PICl6UWYIU4
このバスをさばいて食うっていうのも面白かった。
臭みを取るには、どうすればいいのか解説。

バスは食ったことないけど、シーバスは旨いよな。


http://www.jiji.com/jc/c?g=int_30&k=2014012500151
うーーーん。これはやっぱ、波動防壁使って…
やつなのか?



コメント ( 0 )




けっこう長いこと、OpenOfficeを使ってるんだけど、
バージョン4になってから、かなりバギーなところが
あったり、4.0.1になってから修正が進まなかったり
してて、どうしたものやら…と思ってたところ。


ふと、ubuntuでドキュメントの修正をしてから、
Windows7で同じドキュメントを弄ろうと思ったら、
ubuntuではうまく編集できるのに、Windows7では
なぜかうまくいかない…

何でだろうと思って、よく考えたら、ubuntuに
プリインストールされてるのって、OpenOffice
じゃなく、LibreOfficeなんだなぁ。


色々調べてみると、OpenOfficeは、現在あれがアレ
らしく、しばらく改修は進みそうに無い感じなので、
Windows7にもLibreOfficeを入れてみた。


ある程度触ってみて、思ったんだけど、こっちの方
がはるかに安定して動いてる感。パーフェクトとは
いえないかも知れないけど、だいたいイイカンジ。


まぁ、ソフトとして別物なので、U/Iとかは結構
違ってる。
なにかやりたいって時に、操作方法をいちいち
調べないと、やりたいことの操作がワカラナイって
こともあるんだけど、慣れの問題。

それにしても、慣れてきてしまえば、こっちの方が
色々しっくりくる感じも。結構良くできてる。


もうちょっと使い込んでみよう。calcのマクロが
バリバリ使えるようになったら、結構なツールと
して使えるんだろうけどな。

表計算でマクロといえば、excelばかり使ってきた
から、アタマの切り替えが出来るかどうかなんだ
よな。

文法的にはあまり変わらないらしいんだけど、
Helpファイルとかリファレンスとかの充実っぷり
がポイントなんだよな。



ナニが届いたので、弄り回したいところなんだけど、
アレコレとアレなんだな。サボったつけかな。




コメント ( 0 )




http://hackaday.com/2014/01/23/avr-barn-door-tracker-for-astrophotography/

AVR搭載の蝶番式赤道儀。かなり大味な感じがある
けど、稼動部分の様子を眺めると、単なるタンジェント
スクリュー式っぽくはないなぁ。これはオイラ謹製の
ネコの目式赤道儀と同じ方式かな。

光学式極望が付いてるのがうらやましいな。こういうの、
簡単に手に入るといいんだけどな。でも、もうちょっと
小口径のがいいな。

http://hackaday.com/2013/08/08/building-a-barn-door-tracker-for-astronomical-photography/
試作段階の、ブレッドボードを実機に貼り付けて
動かすって言うのも、大味で目をひくなぁ。
そういえば、この試作段階のやつ、見た記憶が
あるなぁ。

この赤道儀で使ってるような、ネジマウント部分の
パーツ、簡単に手に入らないモノかなぁ…


http://www.switch-science.com/catalog/1596/
スイッチサイエンスで、512KBのSRAM搭載シールド。
ほう。

SPIだから遅いみたい。メモリが無尽蔵に近いくらい
使えるのはナカナカなんだけど、この手のSRAM増設
の問題は、高級言語で変数をこの領域に配置する
ことが難しいってことかな。

無理ではないだろうけど、たとえばArduinoのfloat型
の巨大配列をここに置いたりするのは、きっと難しい
だろうな。


http://www.nicovideo.jp/watch/sm2655110
最近の作業BGM。っていうか、作業妨害BGM。
やっぱ、耳にのこっちゃうんだよな。


都知事選って、なんでいつも出し殻ばかりなんだろう。
あれかな。
自治体としては破格の大規模(ちょっとした国レベル
の経済規模)だけに、影響力もあるから、各政党は
国政にへたに口を出されないように、度しやすい
適当な候補だけに「公認してやんよ」、って感じ?

それにしても、いつの間に都知事選の争点に原発が
挙がってきたの?
http://agora-web.jp/archives/1577249.html

東京とは東電の大口株主じゃぁないんだろうから、
口出したって意味ないじゃん。
http://www.tepco.co.jp/ir/kabushiki/jyokyo-j.html


「近未来に間違えなくやってくる、世界史上最大級の
 超高齢化巨大都市のデザインをどうするのか」
とか
「きっとやってくる大地震にどう備えるのか」

といった課題の方が大事じゃないの?と思うんだけど。

あぁ、これと言った害のなさそうな候補に入れるか、
無効票にするか…

そういうことに全然触れない候補ばかりだなぁ。
…わざと争点をズレズレにして、興味をそそらない
様に操作してるのかな。

無党派層は寝
…おっと、こんな夜更けに誰かな?




コメント ( 0 )




散々オイラを悩ませてきたバグがようやく見つかった。

見つかっちゃえば大した事じゃなかったんだけど、
思い込みが災いしてるから、アタマで考えてもこれは
見つからないよな…


何かというと、演算子の演算順位の勘違い。

long型(正確にはunsigned long型)の、4バイトの
うち上位2バイトを整数部、下位2バイトを小数部と
仮定して、四捨五入をするんだけど、その前の按分
計算とからめて、整数部だけの按分、小数部だけの
按分を計算した後で、小数部からの繰上げ処理を
if文で行ってて、桁あふれが有る場合には
 
  16ビット右シフトして、1を足す

という処理を書いたつもりなのに、実際は

  16+1ビット右シフトする

という処理になってたというお話。


割り算をライブラリ処理に任せると遅いから、
当然65536で割ると言えば、右16ビットシフト
となるわけだけど、頭の中では「割り算」でも、
実際の計算は「ビットシフト」。

んで、ビットシフトは加減算よりも優先順位が
低いから、先に16+1が行われちゃう…。
すると計算結果が半分になっちゃうと。


探してみたら、
http://www.6809.net/tenk/html/cgokai/enzanjun.htm
↑ここにも、そういうお話が書いてあった。


言語によっても演算子の優先順位って異なるだろうし、
そういう意味で、オイラいつもこの手の計算はカッコ
をつけて明示する癖をつけてるはずなんだけど、
頭の中で「割り算」って思いこんでると、つい、
足し算より割り算の方が先って信じちゃうんだな。
駄目だな。


んで、プログラムをサクッと修正し、あらためて実行
しなおしてみる。

まず、修正前の実行結果から数値をダンプしてみたもの。



これだけ見てもなんのこっちゃって感じだけど、
色付いたセルがアッチコッチに乱雑になってる
ってところが見れればok。

コイツが、バグ修正後には、



こんな風に、緑色の薄い矢印マークの様に、半音の
なかで「S字」を描いているところがポイント。

ちなみに、この表の見方。

一番上が440Hz、一番下が260Hzで、1Hzごと。色が
変わるごとに半音ずつ低くなっていくというイメージ。

横方向はそれぞれ、-32cent、-16cent、-8cent、-4cent、
-2cent、-1cent、0cent、1cent、2cent、4cent、8cent、
16cent、32centに割りあたってて、各周波数の音を
半音単位の音階に振り分けたときに、その音階からの
ズレ量をAMDFで計算した値。一番小さい値になる
ところが、求めるcent値。

これが各半音単位の中で、綺麗なS字を描いてくれる
のが当初の想定。バッチリ。


音源に使ったDDSファンクションジェネレータが、
1Hz単位でしか発声できないので、どうしても中心
付近が飛び飛びになっちゃうんだけど、仕方ない。
(1centあたり、およそ1/4Hzとかだから)


このあたりをもう少しわかりやすくグラフ化すると、



こんな。

左上から右下に向かって、階段状の濃い青い線は
ラ(440Hz)からド(262Hz)までの各音階。
薄い水色は、入力された周波数が、それらの各音階
から何centズレているかの値。つまり、さっきの
S字を描いている部分。

思ったとおりのグラフが出てきてなにより。


とりあえず、コア処理部分は動くようになった。
まだコードを眺めると、汚いところとか、無駄な
ところとか、さらにはテスト用コードがいっぱい
残ってたりするので、その辺の整理だな。

それにしても、浮動小数を排除したのに、処理速度
は全然期待値以下だなぁ。周波数精度はともかく、
速度だけならFFTの方が速く計算できちゃうんだよ
なぁ、現状は。


まぁ、とりあえず処理が一通り動くようになってきた
ので、改めてArduinoのハード云々でアレコレを
再調査。

調べてみて愕然の事実発覚。

Arduino Uno(R1~R3まで全部)で使われている発振子
は、クリスタルじゃなくてセラロックだった…。

http://search.murata.co.jp/Ceramy/CatalogAction.do?sHinnm=?%C2%A0&sNHinnm=CSTCE16M0V53-R0&sNhin_key=CSTCE16M0V53-R0&sLang=ja

誤差0.5%だって…。

これまでテストで使ってきたのは、秋月製基板を使った
オイラ謹製Arduino互換ボードだから誤差は50ppm程度に
収まってるはずなんだけど、0.5%って…計算してみると
5000ppmくらい。精度が二桁違うな。

ちなみに0.5%って、8centくらい?駄目ジャン。


Duemilanove以前のやつとか、
http://www.switch-science.com/catalog/980/
Seeeduino V3.0みたいな互換基板なら、クリスタル
が搭載されてる。Seeeduinoの互換基板、結構良いな。



http://jp.techcrunch.com/2014/01/22/20140121smartwatch-keyboard-video-minuum/
スマホとかの日本語入力。「Minuum」って、以前
耳にした気がするんだけど、こういう風に動画で
入力風景を見てみると、こんなに小さい画面でも、
かなり良い出来だな。

ただ、オイラはスマホとかのタッチパネルで文字を
入力するのがどうしても嫌いなんだよな。理由は
一つ。予測変換を大前提にしたこの手の入力は、
画面をずっと注視することを強制するから。

ガラケーなら、親指の感覚でほぼタッチタイプが
出来るから、画面見ずに入力できるメリット。
(ちなみに、オイラは予測変換オフで使う派)



http://icon.jp/archives/6545
女子大生チップチューナー、TORIENAさん。

ゲームボーイ音源って、てっきり本体からチップを
抜き出して、別のハードで鳴らすものとばかり
思っていたけど、

http://dic.nicovideo.jp/a/little%20sound%20dj

「LSDj」なんていうソフトがあったのか。知らなかった。
おいらにとってゲームボーイは「テトリス」と「魚探」
の専用機だったからなぁ…。

ページに貼ってある音楽再生窓から、早速聴いてみた。
うん。良いテイスト。こんな曲作れるのか。へぇ。

それにしても、美人だし、良いテイストの曲だし、
このインタビュー記事を読むと「のめりこみ具合」
とか、ベース技術の厚みとか、熱さとか伝わって
くる。なにより美人だ。大事なことなので2(略)

http://www.nicovideo.jp/watch/sm3244040
LSDjって、こんな感じなんだな。オイラのころには、
弄れる音源って、MMLくらいしかなかったんだよな。



三菱銀行を名乗る詐欺メールが、オイラのところにも
届いた。どう見ても日本人が書いた文章じゃない
んだよな。お客に向かって「貴様」呼ばわりはねーよ。
一発でバレバレ。もうすこしがんばりましょう。
ちなみに、送信元メールとか、送信先メールとか、
アドレスがメチャメチャアヤシイ。バレバレ。



コメント ( 0 )




あいもかわらず、Arduinoのクロマチックチューナー
のバグ取り。


入力周波数を変えながら、計算途中の内部変数を
片っ端からシリアルモニタにダンプしてみる。

グラフ化しておいた図と比較しながら、波形が反転
しているところが、ちゃんと出てるところと比べて
どう違うのか眺めてみた。

どうやら、シフト処理を行う「シフト量」が、ほぼ
半分の値になっているっぽい。

うん。丁度半分なら、確かに位相が反転するのは
間違えないだろうな。しかも、ことごとくそういう
値になっている所を見ると、原因は全部同じと思って
よさそう。

というわけで、なんで意図せずに半分になっちゃう
のか、その原因がわかればよさそうだな。原因となる
部分がだいぶ絞れてきた。

それにしても、ICDとかデバッガないのは厳しいな。
シリアルデバッグは昔から嫌いなのだ。



http://nekomemo.com/archives/36552372.html
オイラもこういう猫又に会いたいな。



http://social.technet.microsoft.com/Forums/ja-JP/fa457851-a64b-4d64-8227-5bc29f799f7b
相変わらず、オイラのwindows7はこういう症状が
出ちゃう。もう、勘弁してくれ。って言うか、
要らない機能全部削って、windows2000と同じ機能
のエクスプローラにしてくれ。

マイクロソフトのエンジニアが自販機でジュース買う
時に、毎回毎回、丁度一人前の赤の他人が「当たりくじ」
で当たりが出ますように。



コメント ( 0 )



« 前ページ 次ページ »