耳慣らし
旧式携帯の電池交換で電話屋へ行ったら、i電話5はいかがですかって勧められたよ。 そこですかさず、10年は使いたいんですけど、簡単に電池交換出来ますかっていじわるな 質問したよ。そしたら、電池交換の代わりに、i電話5、6、7、...と交換してくん ですって。
未来のi電話6とかは、 こちらで確認出来ます。まあ、アプルの奴隷になって どんどんと貢げって事だな。そのうちに、i電話50ぐらいになって、そうなると、背中に背負うか 、腰に差すかだな。中には、アプルとアンドロドロイドの二刀流が至りして。。。
i電話5は、先月の発売だったけど、これ毎年同じ日にしたらどうだろうね。ボジョレーヌーボー みたいに、毎年11月15日は、新i電話の解禁日ですとかね。奴隷はその日に備えて、ちゃんと 購入費用を用意できるんで、殿様もとりっぱぐれが無くていいと思うよ。
まあ、みんな頑張ってお祭りしててね。なんたって、収穫祭ですから。
お祭りと言えば、屋台が出ててみんなそれ相当に儲けているみたいなんだけど、猫も杓子も 儲け方の指南本に手を出しているな。本屋へ行けば、PC系の本は肩身が狭く脇に追いやられ よくわかるiPhoneアプリ開発の教科書【iOS 5&Xcode 4.2対応版】 この手の本が幅を利かせていますよ。これって、昔々のInside MAC本じゃないですか。
おいらは、Inside MACで落第点を取ってから、GUI系はトラウマになっとります。まあ、せいぜい 小遣いを稼いでください。アプルとドロイドの提灯持ちの方々。
モールス信号聞き取り
要らなくなったCQ誌を捨てようと思って、パラパラ見てたら、モールス信号はヘッドコピー しましょうという記事が出てた。
今までは、酷試が有ったので、モールスを聞いてそれを紙に書き出すという方法が主流みたい なんだけど、もうそんなのは時代遅れ。(ああ、自衛隊の通信兵になろうって人は別ですが) 聞いた信号を直接頭の中で理解しましょうってのが、いわゆるヘッドコピーなんだな。
おいらは、昔風に書き取りをやってたんで、全部頭の中で処理するってのにめっぽう弱い。 ヘッドコピーの練習してみっか。でも、机の前に座って、受信機なりWebでSDRを聞くのも ちょいと癪。散歩の時にでも聞けばよかろう。 おっと、CQ出版とGHDがコラボした、CWトレーナー なんてのも有るのね。(と、横目でチラチラ)
うぶ(Debian)の HAM RADIOカテゴリーにMORSEってのが有ったんで、入れてみたけど、電文を 音ファイルにしてくれる機能は無かった。しょうがない、Windowsのアプリ、A1A Breakerで 音ファイルを作るか。
そうすると、電文は暗号(ランダムな5文字列)よりも、英単語の方がいいな。FreeBSDの単語帖 から抜き出そう。
#!/usr/local/bin/ruby sf = '/usr/share/dict/words' wl = 5 p = [] IO.foreach(sf) do |w| w.strip! p << w if w.size == wl end c = 0 while( p.size > 0) do x = rand(p.size) printf("%s ", p[x].upcase) p.delete_at(x) c = c + 1 break if c == 500 puts '' if c % 5 == 0 end puts ''
5文字の単語を拾い出して配列に格納。後は、ランダムにインデックスを選んで、5単語ずつ 行に並べる。10000を超える単語が出てきたんで、こりゃ多すぎるって事で、500単語で打ち切りに したよ。
こやつの出力をファイルに落とし、A1A Breakerに喰わせたら、wavファイルが出来上がった。 けど、携帯プレーヤーは、mp3しか受け付けてくれない。はて、どうすべ?
3秒考えて、soxを思い出した。有名なアプリなんでWindows用も有るだろうと思って落としてきたよ。 でも、素のsoxはライセンスの関係でmp3のエンコーダーは同梱されていない。
README.win32.txtを見たら、自分で用意しろとな。
Appendix - MP3 Support ---------------------- SoX contains support for reading and writing MP3 files but does not ship with the DLL's that perform decoding and encoding of MP3 data because of patent restrictions. MP3 support can be enabled by placing Lame encoding DLL and/or MAD decoding DLL into the same directory as SOX.EXE. These can be compiled yourself, they may turn up on searches of the internet or may be included with other MP3 applications already installed on your system. For encoding/writing, try searching for lame-enc.dll, libmp3lame-0.dll, libmp3lame.dll, or cygmp3lame-0.dll. For decoding/reading, try searching for libmad-0.dll, libmad.dll or cygmad-0.dll. Instructions are included here for using MSYS to create the DLL's. It is assumed you already have MSYS installed on your system with a working gcc compiler. The commands are ran from MSYS bash shell. Obtain the latest Lame and MAD source code from approprate locations. Lame MP3 encoder http://lame.sourceforge.net MAD MP3 decoder http://www.underbit.com/products/mad cd lame-398-2 ./configure --disabled-static --enable-shared make cp libmp3lame/.libs/libmp3lame-0.dll /path/to/sox MAD libraries up to 0.15.1b have a bug in configure that will not allow building DLL under mingw. This can be resolved by adding LDFLAGS to configure and editing the generated Makefile to remove an invalid option. cd libmad-0.15.1b ./configure --enable-shared --disable-static LDFLAGS="-no-undefined" [edit Makefile, search for "-fforce-mem" and delete it.] make cp libmad-0.dll /path/to/sox/
Windowsではいいかげんコンパイルする事も無いんでメニューからMSYSとかは消していたけど 本体は残ってたんで有効利用したよ。
wavからmp3に変換するには結構時間がかかるんで、バッチいファイル、もとえ、bashスクリプトも 書いておいたよ。
sakae@NIL /c/app/CW/sox-14.4.0 $ cat make-mp3 #!/bin/sh sox a.wav a.mp3 echo convd a.wav sox b.wav b.mp3 echo convd b.wav echo Done
変換したのを視聴。playってのは、soxの別名ね。
$ play a.mp3 a.mp3: File Size: 11.1M Bit Rate: 64.0k Encoding: MPEG audio Channels: 1 @ 16-bit Samplerate: 44100Hz Replaygain: off Duration: 00:23:04.78 In:7.45% 00:01:43.10 [00:21:21.68] Out:4.55M [!=====|=====!] Hd:0.3 Clip:0
こうして作った音を散歩の時に聞いてみたけど、いきなりの5文字単語はちと荷が重い。最初は 3単語ぐらいが適当かな。だったら同じ要領で作ればいいんだろうけど、、、
実戦に即して
QSO中に出て来る単語の方がより戦力になるだろう。まずは、 基本英単語、 Q符号、 CW略符号 を題材にしよう。
まずは、3文字単語をなぞってコピーし、それを入力モードにしたvimに貼り付ける。
:%s/ /^V^M/g
全てのスペースを改行に変換
:g/^$/d
空行が出来るので、それを除去。これで、一行一単語にファイルになったんで、適当な名前を 付けてセーブ。
Q符号はWebの表になってるんで、表をなぞってコピーし、適当なファイルに落とす。
awk '{print $1}' Q3.txt
頭(Q符号)の部分を抽出。ごみが残っているので、vim上で除去。
最後のCW略符号は、世界標準のEXCELファイルなんで、そのまま落としてきてからCSVにして FreeBSDに持ち込み。上の要領で、一行一単語に変換。
こうして出来たファイルをcatで繋げてから、上のrubyスクリプトをプチ変形したものに喰わせる。 そうすると、A1A用の原稿が出来上がりますだ。
CUL SWL TRX WRK SEE NCS XYL HVY QSZ QSB QSL FER GOT DIE GLD AND TTS SON BTU ADD CLD QSK HAD LVG MSG QCM OFF NOT QBT CNT DID QRQ SAW BTR OUR THE QSD TXT QLZ TWO QSU ANI URS ANY WAY LID QTH CSE ONE VVV SHE VFB AIR BUG GUD LNG YOU NOR PWR RNG CMG QSN ASK ABT RED WHO QRP BCK SRI USE END TMW BTW ITS WUD SET BTH QRI STN QSY GET CAR GND BCI QRY QTA PUT CLR ARE SAY QSV TFC QSP WAS ANS TOO HER WAR LTR SAT CAN TRE QRW LOW QRA ANT QRH CRD SUN PSE MAN ACT GVG SND BUT QSX MGR QRK WTS CUT NIL QRO TVI MOM QRX VFO OUT MAY QRS QOD NOW QRZ HOW QRN BOY AGN QLF CBA YTD FAR GOD BIG HRS QSA HPE LSN HRD AGE BCL QSO LAW LET QSM FOR MRS UFB SIR OLD EYE CRY MEN DSW WID QRG CFM NEW ILL SVC WKD HNY PAY CUD RIG QSG MNI QRU TRY QRL YES EYE CKT RST QSW FEW HVG QRV CLG OWN WKG LIE SED YET SUM QIF ALL HAS RUN ARM QTC SEA HIM QTR CUZ HIS WPM WHY TEN QRT AGO
hstのスピードも凄いけど、 こちらの方はキー捌き、半田こて捌きが抜群。
RufzXPこちらでは、世界記録(?)が公開されています。
Web以外のruby
最近のruby界隈はWeb用の道具に成り下がっている寒がする。(こう思うのはおいらだけ?) 最近はSDとか読まないのでChefとか知らんがな。 まあ、chefもWeb屋さんの道具ちゃ道具だけんね。(だから、折角のるびま記事も見落としていたって訳、 と、いい訳しときましょ)
soxをコンパイルした勢いで、Windows7にもrubyを突っ込んでみたけど(自前でコンパイルしたよ)、ちょいと学術的な 事をしたいぞ。そんなんで、探してきたのが、
いい香りがします。香り高さは、きっとコーヒースクリプトの上を行くでしょう。所詮、 あちらは、インスタントコーヒーですから。あっ、インスタントが好きな人も居るから 差別発現になっちまったな。
マグネチックループアンテナを計算する なんてのを紹介しますんで、許してちょ。
Win版ならIronRubyって言う手も有ったな。