SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|

2017-06-22(Thu) ようやくS+昇格

  本格的にスプラトゥーンを初めて、1年半弱。ようやくウデマエS+に到達した。ウデマエSになったのが昨年の5月。1年以上もかかった。

  画像の説明

  得物はほぼ一貫してハイドラントカスタム。当初はヒト速特化型から、途中、攻撃力、インク回復、ヒト速バランス型に変更した。

  ずっと、毎晩2時間くらいプレイしていたのだが、ここ1ヶ月くらい、ちょっとテンションが下がってきて、ややあきらめかけていたところなので、昇格できたのが不思議なくらいだった。

  画像の説明

  今晩のステージは、ショッツルとモンガラのエリア。ショッツルはかなり得意なステージ。S78からスタートして、5k3d勝で82、4k2d勝で86、10k5d負で80ときた。味方全員ひどいキルレで、10k5dなのに負けかよ、と、初めて食らった-6を苦く受け止め……このパターンは、ヘボ味方を押し付けられる流れかも……と思ってヤメようかと思いつつも、もう少し続けたところ、9k3d勝で84、4k4d勝で88ときた。おぉ?

  3連勝したら昇格だが、そうそうウマくいくわけがないしな、と引き気味の気持ちで、9k4d勝で92、3k3d勝で96ときた。え? マジ? しかし、昇格戦には鬼が潜むというし……えぇい、やってまえ!!

  今晩はモンガラは1度だけで、昇格戦もショッツル。あ、あれ? 味方ムチャ強い。後ろから牽制するくらいしか、仕事がない……これ、何もしなくてもイケるのでは? ……時間を余らせてノックアウト……あ、上がってしまった……1k1d勝で……こんなにあっけなく?

  画像の説明

  今晩は終了。総プレイ時間は800時間弱。といっても、3回くらいサブアカ作って少し遊んでいたこともあり、実質的には800時間は超えているかも。800時間か。間違いなく、これまでのゲームの中でダントツのプレイ時間だが、この時間は、有意義だったのか、無駄だったのか?

  まぁ、有意義ではないだろうが、いろいろな「気付き」が得られたことに違いはない。

  まず、自分が決して上手いプレイヤではないということ。マルチプレイヤのゲームは、ひとりで遊ぶゲームとは違い、容易に酔わせてくれない。ネットを見ていると、S+昇格に800時間もかかっている人は、あまり見ない。歳を取って、反射神経が落ちているのも多分にあるだろうけど。

  確率は偏るのが普通ということ。意図的な要素がゼロではないだろうが、苦手なステージばかり続いたり、ヘボ味方ばかり続いたり、チャージャーばかり集まったり。んが、考えれば、8人でマッチングしているのだから、自分だけマークされているワケもなく、偶然の要素が強いのだろうと思う。そして、これは、実際の人生にも起きうると気付けたことは、有意義だった。

  4人の場合、1人がヘボだと、ほぼ勝てない。5000試合以上していて、4対3で勝ったことは、数回しかなかった。これも、実際の人生にも起きうることで、1人のヘボをフォローするには、3人ではぜんぜん足りないということだ。これも有意義な気付きといえよう。

  そして、似たような作業でも、ひたすら繰り返せば、徐々にでも腕前は上がっていくということ。明らかなことは言えないし、その自覚もないが、間違いなく、今回の結果はそれを示しているのだと思える。これもかなり有意義な気付きといえよう。

  さて、800時間もかけて得た気付きとしては、有意義だったとは言えないかもしれないが、他に何をして得られる気付きということを事前に知ることもできないわけなので、それでなんとなく納得しておこう。

  スプラトゥーン2発売まで1ヶ月を切っての昇格で、喜ばしくもあるが、S+の道のりはまだ続いている。しかし、何となく、甲子園出場を果たして、夢を叶えてしまった球児のような気分になってしまったのも確かだ。

  うーむ、感慨深い……。


2017-06-14(Wed) 世にも奇妙なmicroSD

  先日、某サイトから、安価な16GBのmicroSDカードを購入した。さほど、厳格に用途を決めていたわけではないし、とりあえず工作中のmp3プレイヤにでも使ってみようと、Windows10マシンでFAT32フォーマットし、Linuxマシンからmp3ファイル、flacファイルを書き込み、mp3プレイヤに挿し込んだ。

  ……あれ? いきなり1曲目の途中から再生された……ような……早送りすると、2曲目以降は普通だが……あれ? 十数曲目以降が、1曲目の途中からの再生ばかりになってしまう。……なんだこれ?

  mp3プレイヤの側も工作中なこともあり、どっちが異常なのかわからない。とりあえず、microSDを抜いて、Linuxマシンに挿し込むと……スーパーブロックが壊れているって? ……なんだこれ?

  LinuxマシンでFATを扱ったことがマズいのかしらん? と、思い、ファイルの書き込みまでWindows10マシンで完結させても、やっぱりおかしな症状が出る。いろいろと試してみると、microSDカードを挿して、書いて、抜いて、挿すと、もう、書いた内容がおかしくなっている。これ、microSDカードがおかしいんやないか?

  以前に「抜くと元に戻るSDカード」を経験して以来「ここ一番にはSanDisk」を励行してきたのだが、それを外した途端にトラブるもんかねぇ。

  購入元に連絡したところ、即座に代品を送ってくれ、翌日には代品が手元に届くという素晴らしい対応だった。んが、不良品を返送する前に、再テストしてみたところ、なんと、代品にも同じ現象が出てしまった。どうも、ある程度の容量を書き込むと、microSDを抜き差しせずとも、先頭部分がブッ壊れるっぽい。

  と、ここでピンときた。以前に、見た目はxxGBなのに、実際にはxxGBの容量を持たない詐欺的なSDカードがあると聞いたことがある。改めて考えれば、一定の場所でループ構造にしている、つまり、上位ビットを捨てることで実現している、と考えるのが妥当なわけで、そうであれば今回の事象に合致する。

  というわけで、こんなプログラムを書いてみた。デバイスの先頭からシーケンシャル番号で領域を書きツブしながら、先頭部分の変化を監視する、というものだ。

 #!/usr/bin/env ruby
 
 # SD カードチェッカ
 
 class Integer
     def to_h
         sprintf('%d', self).to_s.reverse.scan(/.{1,3}/).join(',').reverse
     end
 end
 
 dev = ARGV[0]
 check_max = 8 * 1024 * 1024 * 1024                              # 8Gbytes
 puts('device = %s, check_max = %16s' % [dev, check_max.to_h])
 
 adr = 0; open(dev, 'w') {|fh|
 
     last_md5 = nil; while(adr < check_max)
         puts('%16s .. ' % adr.to_h)
 
         chunk = ''; (1024 * 1024 / 8).times {                   # 1Mbytes
             chunk << [adr >> 32, adr & 0xFFFFFFFF].pack('N*'); adr += 8
         }
         fh.write(chunk)
         fh.fsync
 
         system('dd if=%s of=/tmp/_sdcard_checker_ bs=4096 count=1 iflag=direct >/dev/null 2>&1' % dev)
         md5 = `md5sum /tmp/_sdcard_checker_`.split(/\s/)[0]
         puts('  %s %s' % [md5, last_md5])
         last_md5 and last_md5 != md5 and raise('Unmatch!')
         last_md5 = md5
     end
 }
 
 puts('%16s finished.' % adr.to_h)
 
 __END__

  イザ、実行ッ!

# sdcard_checker /dev/sdb
device = /dev/sdb, check_max =    8,589,934,592
               0 .. 
  fa9971f35ad33faaaf100800b4b85b8c 
       1,048,576 .. 
  fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       2,097,152 .. 
  fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       3,145,728 .. 
  fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       4,194,304 .. 
  fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
    :
    :
    :
   1,609,564,160 .. 
  fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
   1,610,612,736 .. 
  fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
    :
    :
    :

  ……んが、1.5GBくらい書いても先頭部分に異常が出ない。そんなバカな。もしかして、よく読まれる部分を避けるとか、そんな高度な詐欺行為を働いている?

  それならばと、プログラムを変更してみた。今度は、同じようにデバイスの先頭からシーケンシャル番号で領域を書きツブしながらも、先頭部分だけでなく、書きツブした部分をトビトビに監視する、というものだ。イザ、実行ッ!

 #!/usr/bin/env ruby
 
 # SD カードチェッカ 2
 
 class Integer
     def to_h
         sprintf('%d', self).to_s.reverse.scan(/.{1,3}/).join(',').reverse
     end
 end
 
 dev = ARGV[0]
 check_max = 8 * 1024 * 1024 * 1024                              # 8Gbytes
 #check_step = 128 * 1024 * 1024                                 # 128Mbytes
 check_step = 63 * 1024 * 1024                                   # 63Mbytes
 puts('device = %s, check_max = %16s' % [dev, check_max.to_h])
 
 adr = 0; open(dev, 'w') {|fh|
 
     check_md5s = {}; while(adr < check_max)
         puts('%16s .. ' % adr.to_h)
 
         chunk = ''; (1024 * 1024 / 8).times {                   # 1Mbytes
             chunk << [adr >> 32, adr & 0xFFFFFFFF].pack('N*'); adr += 8
         }
         fh.write(chunk)
         fh.fsync
 
         check_adr = 0; while(check_adr < adr)
             system('dd if=%s of=/tmp/_sdcard_checker_ bs=4096 count=1 skip=%d iflag=direct >/dev/null 2>&1' % [dev, check_adr >> 12])
             md5 = `md5sum /tmp/_sdcard_checker_`.split(/\s/)[0]
             check_md5s[check_adr] ||= md5
             puts('%16s %16s %s %s' % [check_adr.to_h, check_adr >> 12, md5, check_md5s[check_adr]])
             check_md5s[check_adr] != md5 and raise('Unmatch!')
             check_adr += check_step
         end
     end
 }
 
 puts('%16s finished.' % adr.to_h)
 
 __END__

  出た。128MBトビトビに監視していたら、256MBを書いた直後、書いたばかりの部分がブッ壊れる症状が出た。

# sdcard_checker2 /dev/sdb
device = /dev/sdb, check_max =    8,589,934,592
               0 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       1,048,576 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       2,097,152 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       3,145,728 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       4,194,304 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
    :
    :
    :
     267,386,880 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
     134,217,728            32768 01517d88da540a8eb5d44af02f122649 01517d88da540a8eb5d44af02f122649
     268,435,456 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
     134,217,728            32768 01517d88da540a8eb5d44af02f122649 01517d88da540a8eb5d44af02f122649
     268,435,456            65536 ba2930882b4da3d3ddd5b8697fc127d5 ba2930882b4da3d3ddd5b8697fc127d5
     269,484,032 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
     134,217,728            32768 01517d88da540a8eb5d44af02f122649 01517d88da540a8eb5d44af02f122649
     268,435,456            65536 5aa7b9d34285ac27f76b54f5ff4560fc ba2930882b4da3d3ddd5b8697fc127d5
/home/mitsu/develop/petit_tools/sdcard_checker:33:in `block in <main>': Unmatch! (RuntimeError)
	from /home/mitsu/develop/petit_tools/sdcard_checker:17:in `open'
	from /home/mitsu/develop/petit_tools/sdcard_checker:17:in `<main>'

  試しに。中途半端に63MBトビトビに監視してみても、256MBチョイを書いた直後、書いたばかりの部分がブッ壊れる症状が出た。

# sdcard_checker2 /dev/sdb
device = /dev/sdb, check_max =    8,589,934,592
               0 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       1,048,576 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       2,097,152 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       3,145,728 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
       4,194,304 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
    :
    :
    :
     329,252,864 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
      66,060,288            16128 2ed7a89c5a42bb4040bff4894be82bdb 2ed7a89c5a42bb4040bff4894be82bdb
     132,120,576            32256 919cfe23e7079f9077e4360ad127f628 919cfe23e7079f9077e4360ad127f628
     198,180,864            48384 c5d3ae3f1ac1b256bb20b044cc491719 c5d3ae3f1ac1b256bb20b044cc491719
     264,241,152            64512 dc83f09e6ee934dcc90677af587a629d dc83f09e6ee934dcc90677af587a629d
     330,301,440 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
      66,060,288            16128 2ed7a89c5a42bb4040bff4894be82bdb 2ed7a89c5a42bb4040bff4894be82bdb
     132,120,576            32256 919cfe23e7079f9077e4360ad127f628 919cfe23e7079f9077e4360ad127f628
     198,180,864            48384 c5d3ae3f1ac1b256bb20b044cc491719 c5d3ae3f1ac1b256bb20b044cc491719
     264,241,152            64512 dc83f09e6ee934dcc90677af587a629d dc83f09e6ee934dcc90677af587a629d
     330,301,440            80640 f005f81d5ee41aa397fc39db563060fe f005f81d5ee41aa397fc39db563060fe
     331,350,016 .. 
               0                0 fa9971f35ad33faaaf100800b4b85b8c fa9971f35ad33faaaf100800b4b85b8c
      66,060,288            16128 2ed7a89c5a42bb4040bff4894be82bdb 2ed7a89c5a42bb4040bff4894be82bdb
     132,120,576            32256 919cfe23e7079f9077e4360ad127f628 919cfe23e7079f9077e4360ad127f628
     198,180,864            48384 c5d3ae3f1ac1b256bb20b044cc491719 c5d3ae3f1ac1b256bb20b044cc491719
     264,241,152            64512 dc83f09e6ee934dcc90677af587a629d dc83f09e6ee934dcc90677af587a629d
     330,301,440            80640 d207d5474108dac6a8961a17d6f73fa2 f005f81d5ee41aa397fc39db563060fe
/home/mitsu/develop/petit_tools/sdcard_checker:33:in `block in <main>': Unmatch! (RuntimeError)
	from /home/mitsu/develop/petit_tools/sdcard_checker:17:in `open'
	from /home/mitsu/develop/petit_tools/sdcard_checker:17:in `<main>'

  この症状は、代品もまったく同じで、これはもう仕組まれたものと考えて間違いないだろう。要するに「容量偽装」というわけだ。まぁ、ウェアレベリングの仕組みに意図しない不具合があった、という見方もできなくはないけれど。無理に、先頭部分のみパーティションを確保して使う方法もあろうが、さすがに256MBじゃ、いまどき使い物にならんわな。

  しかし、悪意だと仮定して、ここまでしてクソ製品を売ることにどれほどの意義があるんだろう。これをカメラに挿して旅行に出かけた人がどれほど悲しいことになるか、考えたことはあるんだろうか。販売店にも迷惑がかかるし、そもそも貴重な資源をクソの山にすることに罪悪感はないのだろうか。いったい誰が得をするっていうんだ。

  ったく、時間の無駄だったぜッ!! などと悪態をつきながらも、ここ数日、心のどこかで、やや楽しみながらこういう試行をして記事にしてしまったオイラは、やや得をしたのかもしれんけど……。


2017-06-10(Sat) 高機動高火力スピーカユニット「デンドロビウム」ロールアウト

  先日、既成のブックシェルフスピーカをモバイル仕様に改造したのだが、目指す完成形は、ほぼスピーカ単機での楽曲再生能力、および、Bluetoothスピーカとしての任務をも果たすことなのであった。

  画像の説明 画像の説明

  というわけで、かなり前にアリエクに発注し、既に届いていたmp3/flac/Bluetoothオーディオアンプモジュールを、アレコレと当てがい、最適な実装の形を模索しつつ、最終的には秋月から購入した透明なプラスチックケースの中に、aitendoの3.7V/850mAhリチウムポリマ充電池と共にパッケージングしたのであった。

  画像の説明 画像の説明

  実は、アリエク以前に、同じ用途のためにコレも入手していたのだが、IRのパターンにセンサをつないでも、既存の赤外線リモコンに反応しないようなので、赤外線リモコン付属で安価なアイテム2点(もう1点)を手配していたのであった。

  結果、リモコンの信号は、いずれも既存のものと同じで、手元に同じリモコンが3つ存在することになってしまった。まぁ、別にいいんだけど。

  動作のテスト中、microSDカード関係でひと悶着あったが、特に問題なく動作した。このモジュールは、ちゃんとflac形式も再生でき、曲の再生中に電源を切ると、次に電源を投入した場合には、その曲の頭から再生する仕様である。残念なことに音量は記憶してくれないが、とんでもなくデカい音で起動するわけではないので、まぁ、問題ない。動作モードの読み上げも、中国語でなく、英語音声だ。

  動作が確認できたので、モジュールを装着する。場所は、左スピーカの側面だ。つまり、見た目、線のつながっていないピュアスピーカなのにガンガンと音が鳴っている、というアイテムのできあがりなのである。リモコン一発でBluetoothスピーカにも変化。右スピーカの付け外しもサクッとできる。これは使い勝手がいい。

  画像の説明

  まさに、システムの中核をなす極小のユニットと、それに比較して巨大なスピーカとで構成されるスタイルは、某「サウンドフォース」というレベルを超越し、もはや某「デンドロビウム」なのであった。

  ちなみに、電源を切った状態にすると、上部のピンフレームがイネーブルになり、そこからリチウムポリマ充電池に充電することができる。充電器は以前に作ったもので、充電風景はこんな感じ。コンセントの近くにスピーカごと移動する必要があるが、ハンドル付きなので機動力抜群であり、何の問題もないのであった。

  画像の説明

  うむ、ほぼ思い描いた通りのオーディオ機器に仕上がったといえよう。バージョン2、完成!


2017-06-02(Fri) 本格的結石の製作

  5月23日の火曜の夕方、仕事中に、右脇腹下方に違和感。すぐにピンと来る。こ、これは、尿路結石では?

  6年弱前、結石の製作を体験したので、その後は対策としてカルシウム補給のため、毎晩100ml、しっかりと牛乳(乳糖不耐症向け)を飲んできた。しかし、半年強前に、同レベルの結石を排出してしまい、ガッカリした記憶がある。しかし、今回は「体験版」って感じじゃないぞ、これは……ぐもももも。

  帰宅途中に激痛になってきて、自宅を目前に歩行困難なレベルに。結石については先輩のスーパークリエイタであるオヤジに相談の電話をするが、酔っていてヘラヘラしており、あまり役に立たない。どうにかこうにか家に転がり込んでウンウン唸る。しかし、しばらくすると痛みが引いてきた……抜けたか!?

  ……が、小便しても出ない。しばらくすると、また痛みが。なんやこれ、周期的に来るのか? 鎮痛剤のイブプロフェンを飲むが、効いている気がしない。気がつくと、気絶するかのように寝入っていた。

  翌日の水曜日の朝、痛みが出ていない隙に泌尿器科に行くと、やはり結石とのこと。レントゲンから直径3mmくらいとわかる。前回の倍の大きさだ。ここまでくると、体験版のレベルでなく、キッチリと製品版といったところか。しかし、位置はまだ上流の方とのこと。結石を排出しやすくする薬と、鎮痛剤のロキソニンをもらって帰宅。しかし、夕方からまた激痛。鎮痛剤なんて効きやしねぇ。

  翌日の木曜日は、終日なんでもなかったものの、その次の日からは、日に数回の激痛。ガキの運動会と法事というイベントを棒に振り、結局、悶絶の一週間を過ごした。

  寝ている時にも痛みを感じているためか、妙な夢を見る。車で自宅に帰る段になって、カーナビで帰宅ルートを検索すると、狭い道を山の向こうへ抜けるルートしかないと出るが、その途中、居酒屋の中を通り抜けるので注意とある。実際に向かってみると「居酒屋 TURU HALL」という暖簾を掛けた店が道を塞いでおり、そこを車に乗ったまま通り抜けることに。慎重に進むが、あまりの狭さに客の足を踏んでしまい「イテェ!」と怒られる……これ、どう考えても尿路結石のイメージそのままではないか。しかも「THRU HALL」て、我ながらシャレがキツい……。

  痛みは月曜まで続いたが、その後は違和感のみで、激痛はなし。水を飲むと良いというので、がんばって飲むが、そもそも、ガブガブ飲むのは小便が近くなるので好きじゃないんだよな。

  一応、石が出たら確保しようと、トイレではちょっと気をつけていたのだが、一向に出る気配がない。いつの間にか出てしまったのではないかと、ほぼ、あきらめていた金曜の夕方……ポロッと。おぉ!

  運良く小便器の上に乗ったが、ちょうど隣に人が居て、拾うのがためらわれる状況。こういう時に限って、隣の小便が長いのだ……終わった! サッと拾って、ジャっと洗って確保成功。なるほど、結構、デカい。コイツのためにエラい目にあったぞ、まったく。真ん中のデカいのが今回の。左の2つは前回、前々回の。

  画像の説明

  しかし、製品版の結石は、クリアに優に一週間以上もかかるのかよ……いろいろと予防する方法を調べたが、どれもあまり有効そうじゃないんだよなぁ。とほほほ……。


2017-05-21(Sun) 既成のブックシェルフスピーカをモバイル仕様に

  タッパーで自作したお風呂スピーカを痛く気に入り、ホームプロジェクタのスピーカにも使い始め気がつけば常に部屋の中を持ち歩いているほど使い倒しているのだが、流石に大きな音を出した場合のビビりが気になり始めた。リビングにはもう少しマトモなスピーカが欲しい。

  自作も考えたが、この際、改造を前提に既成品を買ったほうが早いだろうということで、ONKYOのD-NFR9というスピーカをチョイスした。1万円弱だ。絶対的な条件は、キラキラした音を味わいたいので2ウェイであることと、フロントバスレフであること。以前にツイータの効果について体感しているのと、個人的に、低音とはいえ、後ろから出るのは許しがたいのだ。屁でもあるまいし。

  画像の説明

  実は、このD-NFR9というスピーカ、後継にD-NFR9TXというスピーカが出ているせいか、在庫のないショップが増えている。個人的に、ハイレゾは詐欺商法だと思っているので、倍近くも出してD-NFR9TXを買うことはありえず、いったんは、もうひとつグレードが上のD-55EXを注文したのだが、その手配中にD-NFR9を在庫しているショップを見つけ、D-55EXをキャンセルし、無事D-NFR9を入手することができた。で、届いたのが16日。

  やはり、筐体が一回り大きく、ウーファの径も+3cm、最低周波数も60Hzに対して45Hzと、いままでにない低音を聴けることに期待なのである。D-NFR9が入手できて本当によかった。

  で、早速、改造なのであるが、自分はオーディオマニアではなく、自分の耳の範囲でしか評価をしない人なので、音質のための改造ではなく、ハンドリング性向上のための改造を行うのであった。ハンドリング性向上とは、そのまんまの意味で、スピーカの上面に持ち運び用のハンドル(取っ手)を付けてしまうのである。

  これにより、据え置き前提のブックシェルフ(本棚)スピーカでなく、家の中なら好きな場所に持っていけるモバイルスピーカにクラスチェンジするのである。

  実は、以前から、市販のBluetoothスピーカがミクロすぎることに不満だったのである。本格的なスピーカにBluetooth機能があって、取っ手が付いていれば、とっても便利なのに。

  というわけで、近所のホームセンタでチョイスしたのがセレクトハンドルアルマイト100mmという引き出し用の取っ手。ひとつ648円と、意外に値が張ったのでちょっと躊躇したが、安っぽい取っ手を付けたら、せっかくのスピーカの雰囲気まで安っぽくなってしまうので、ちょっとガンバってみた。

  そして、ちょっとビクビクしながら、ほぼ新品のスピーカをバラし始める。ウーファ、ツイータ、背面の端子、いずれも、タッピングビス4本で止まっており、バラすのは容易。んが、ドライバの先を滑らして、コーン紙を突き破ったり、化粧板にキズを付けないように注意する。

  画像の説明 画像の説明

  まぁ、単品のスピーカといえども、もともとD-NFR9はローエンド製品であるから、中は意外と安っぽい。吸音材はたっぷり入っているが、普通の化学繊維(ポリエステルウール?)で、グラスウールでもニードルフェルトでもない。スピーカの接続はファストン端子なので取り外すのは容易。しかし、電子工作野郎のオイラにはハンダ付けしていないのが不思議なのだ。オーディオマニアはケーブルには凝って大金かけるクセに、接続がファストン端子でも気にならないところが、心底よくわからんところだ。

  画像の説明 画像の説明

  いわゆる、スピーカネットワークもシンプル。ウーファはコイルを使うのが常道のようだが、並列コンデンサ一発。表示は101、つまり、100pF。手持ちの容量計で計測したら150pFと妥当な値。ツイータは直列コンデンサ一発。表示がないので、手持ちの容量計で計測したら2.30uF。以前に自分がチョイスしたのが2.2uFだったから、ちょうど同じってことだな。

  ついでなのでスピーカもチェック。13cmのウーファは想像以上の迫力だし、ツイータもかなりの重量で、イカにもイイ音がしそう。んが、気になったのはその表記。5.5Ω+4Ωで2.3Ωだし、25W+25Wで50Wなので、スペックの4Ω、70Wとの開きが大きい。定格インピーダンスの方は、スピーカネットワークがあるとはいえ、4Ωってことはないだろうし、最大入力70Wってのもおかしいような。まぁ、フルパワーなんて出さないからいいけど。

  画像の説明

  天板に慎重にドリルで穴を穿けるのと並行して、2階の窓枠から園芸用のネットを垂らすための引っ掛け棒を製作。2本の棒を蝶番でつなぎ、3箇所にヒートンを取り付ける。今年は、綿花と瓢箪(ひょうたん)を植える予定。既に10株くらい芽が出ている。

  スピーカの工作に戻り、無事、ハンドルを取り付けるのに成功する。外した吸音材を元に戻し、背面の端子、ツイータ、ウーファを元通りに取り付ける。おぉ、持ちやすい! 片側4kg近くもあるが、このハンドルさえあれば、容易にスピーカを振り回せる。まさに、オーディオ振って歩けるッ! これだ、オイラの目指していた「アクティブ」スピーカは。

  画像の説明 画像の説明

  さて、サッと2階に持って上がって聴いてみるところだが、普通のセンタユニットをつないだんじゃ意味がない。ここは、お風呂スピーカの内蔵スピーカをオフにし、両チャンネルを外部スピーカにつなげるようにして、センタユニット化するのが適切だ。直結だった内蔵スピーカをコネクタ接続化し、右チャンネルだけでなく、左チャンネルも外部接続できる仕様にする。

  うーむ、遜色ない。3.7V850mAのリチウムポリマ充電池一発で、ここまで普通に聴けるのか。低音も豊かで、聴き応えがある。バージョン1、完成!


2017-05-06(Sat) 自作パソコン完成、そして、パーツを自作

  1日にパーツが届き、ケースに電源を取り付け。2日にCPUとメモリをマザーボードに取り付け、ケースに取り付け。3日にHDDとDVDを取り付けて完成。Windows 10 Home Creators Updateをインストール。事細かに指示するものの、ほとんどの作業はガキが実施し、過程をデジカメで撮影させた。ちょっと早いが、夏休みの自由研究に使うことも視野に入れつつ。

  初めて電源を投入し、ウンともスンともいわないのでアセったが、8ピンのCPU補助電源コネクタの接続を忘れていたのが原因だった。昔のPCは1系統だったので気づかなかった。

  さっそく、マインクラフトをインストールして遊ぶ。ついでにアスファルト8というレースゲームを入れたら、これまた割と面白い。

  4日に3DMarkを試したら、2FPSという驚愕の結果に。まぁ、Pentiumにオンボードビデオで何を期待してんだって話だが。

  ふと、ケースにビープ用のスピーカが備わっていないのに気づく。一応、起動時にピッと鳴ったほうがいいので、手持ちの部品でデッチ上げることにする。ちょうど、すぐ下に電源LEDがもう一系統あるので、レインボーLEDでも点灯してみることに。どちらも、部品を直結しただけだが、ちゃんと目的の動作をした。

  5日にCortanaという音声入力可能なアシスタント機能が存在していることに気づいて、マイクを手配したくなる。が、これも手持ちの部品でデッチ上げることにする。結線を調べると、3.5mmジャックの先端が音声入力、根本がグランド、中間がパワーらしい。ステレオプラグにコンデンサマイクを直結したものを自作する。先端と中間は短絡してコンデンサマイクの+側、根本を-側につないだら、ちゃんと目的の動作をした。

  画像の説明 画像の説明

  6日にケース内部でゴチャゴチャしている内部配線をやりなおした。ケースには<かきかけ>

  画像の説明


2017-05-04(Thu) リチウムポリマ充電器作成

  先日、ブレッドボード上に試作した回路を元に、実用可能なようにパッケージングすることにする。回路をデザインし、基板を最小サイズにカット、USBコネクタ直付のスタイルで使用できるようにした。リチウムポリマ電池との接続はピンヘッダ。

  画像の説明 画像の説明

  下部のピンヘッダは、PROGの抵抗値の変更用で、ショートピンを取り外せば、最大充電電流は40mA、右側に取り付ければ100mA、真ん中で180mA(後から気づいたが、回路のミスで、これは動作しない……)、左側で450mAと、充電対象の電池容量に合わせて設定できるようになっている。今回の電池容量は110mAhなので、右側に取り付け、最大充電電流100mAとし、1Cである110mAを超えないように設定する。

  右側のピンヘッダは、上2本が電池電圧、下2本が充電電流量のモニタリング用。充電電流量のモニタリングが不要な場合は、下2本にショートピンを挿しておく。

  LEDは充電状態、充電完了の確認用のつもりだったが、微妙にミスったのか両方が常時点灯する動作となってしまった。まぁ、そのうち修正できればどうにかしたいところ。

  なかなかいい感じにパッケージングできたので、充電のテストのため、お風呂スピーカで電池を放電させてみたが、110mAhという容量は、mp3を2時間くらい鳴らす程度で終わってしまうようだ。次は、もう少し容量の大きな電池でも買ってみるかな。


2017-05-01(Mon) お風呂BluetoothスピーカV2とリチウムポリマ充電池対応

  お風呂スピーカの稼働率が高くなるにつれ、電池の交換が面倒くさくなってきた。そんな時は充電池……なのだが、イマドキならば、リチウムポリマ充電池なわけで、でも、それはひとつ間違うと爆弾なわけで。

  そんな気分でAitendoを見ると、ひと通り揃っているんですな、これが。リチウムポリマ電池(3.7V/110mAh)[SX-3.7V-110MAH]と、充電用IC[MCP73831T-2ACI]と、ピッチ変換基板[SOT23-B]。ついでにBluetoothオーディオレシーバ基板[BK3254P9]まで買ってしまう。

  Bluetoothスピーカ化は既に済ませているのだが、USBメモリ形状のものを無理にくっつけているのがイマイチ。たまたま既存の極小MP3モジュール[M2801002]とピンアサインが似ているので、似たような形状に合わせることにした。同じようにチョンチョンと空中配線で2.54mmのピンヘッダにハンダ付けしてモジュール化する。

  画像の説明

  ……が、なんだこれ。電源入れると中国語らしきボイスが流れるんですが……ペアリングにちょっと時間がかかるものの、特に何の操作をしなくてもペアリングされるのはいいが、その時にも中国語らしきボイスが流れる。まぁ、使用には問題がないからいいんだが、ちょっと微妙だ。

  さて、本題はリチウムポリマの方。米粒のようなICをピッチ変換基板に載せる。手配してから気づいたが、充電電流によっては結構発熱するので、できるだけ放熱しやすいピッチ変換基板をチョイスしたほうがいいみたいだ。今回の充電対象は110mAhの容量なので、1Cで100mA程度の電流量であり、たぶん問題なさそうだが。

  ハンダをドバっと乗せてから、はんだ吸い取り線で吸い取る形でハンダ付け完了。ブレッドボード上に周辺回路を組む。たまたま、USBのmicroBの変換基板を買ってあったので、それを経由して充電することに。PCのディスプレイ横のUSB端子から、USB電流モニタを介して、ドキドキしながら充電を開始!

  画像の説明

  PROG端子には、10KΩをつないだので、1時間強で充電完了予定だ。テスタで電池電圧を計測しながら、USB電流モニタを眺めつつ、防爆用(!)のドーム型ルーペを横に、充電状況を見守る。

  基本的な充電戦略は、4.2Vに達するまでは一定電流(今回は100mA)で。4.2Vに達したら、それを超えないよう電流量を減らしていくように電圧を微妙に上下するようだ。実際に計測した充電の経緯は以下。

時刻電池電圧充電電流累計充電量
14:203.90V0.11A0mAh
14:323.95V0.09A24mAh
14:434.00V0.08A40mAh
14:524.04V0.08A53mAh
15:014.08V0.07A66mAh
15:104.13V0.07A76mAh
15:194.19V0.07A88mAh
15:234.19V0.00A92mAh電流値が0に(測定器の問題)
15:304.19V0.00A96mAh
15:434.19V0.00A96mAh
15:484.17V0.00A96mAhLEDが消灯

  ほぼ思った通りの挙動を経て、無事、充電が完了した。

  試しにお風呂スピーカの電源端子につないでみたら、問題なく音が鳴った。単三x3本をこのサイズに置き換えられるのかぁ。これは、ちょっと危険とはいえ、使い倒したくなってくるねぇ。


2017-04-29(Sat) 久しぶりにパソコンの自作を開始する

  そのうち必要になるだろうし、なんとなくウチのガキにパソコンを与えてみることにした。オイラが本格的にパソコンを始めたのも、小学6年生の春だ。で、どうせなら、一緒に自作してみるのも楽しいかと思い、自作用のパーツセットを手配すべく「パソコン 自作」と検索してみる。すると、ドスパラの自作セットがひっかかった。

  思い返せば、前回、本格的に自作したのはPentiumIIIマシンで、それ以後には、ちょっとベアボーンを組んだくらい。様相は全く変わっている。で、アレコレするならフルサイズのATXが無難として、マインクラフトが遊べる程度と考えると「ドスパラ自作セットA-101」ということになるのだが、Corei5-6500って妥当か? サーバじゃないんだから2コア4スレッド程度で十分で、むしろ少しでもシングルスレッド性能が高い方がいいんじゃないの? ……とか、考え始めてしまい、結局、一部のパーツを入れ替える形で、すべてバラで購入することにした。

  とりあえず、ゲーム用途も視野に入れ、ソコソコのディスプレイを先行して手配し、22日に到着済み。そして、満を持して、ガキと一緒に車で大須のドスパラに向かうのであった。

  んが、パーツを厳選したのに、店の在庫はそれほどには揃っていない。店員に聞くと、それならここで通販手配したら? と勧められた。まぁ、妥協するのもつまらないので、通販手配することにし、とりあえずケースだけは、ガキの好みのものを選んで持って帰ることにした。

  で、割とスコンと「これカッコイイ!」と選んだのがコレ。

  画像の説明

  ちょっとガキっぽいデザインだが、実際にチョイスしたのがガキなんだから別に不思議もない。安価でソコソコっぽいのでそのまま購入。帰宅して、とりあえずケースだけでワクワクして、残りのパーツが届くのを心待ちにするのであった。

  選定したパーツは以下。ディスプレイとウィンドウズはAmazon。それ以外はドスパラ。

  CPUは、PentiumながらKabyLakeの3.6GHzをチョイス。Corei5-6500(Skylake 3.2GHz 4C4T 21,897円)の半額以下だが、クロックは高い。電源も、450Wながら、なんとなく品質重視の評判の良さそうなものをチョイス。

  OSはLinuxと行きたいところだが、ガキがゲームに使うだろうから、泣く泣くWindows。Amazonなら、さして値段が変わらないのでDSP版でないものを、シリアルコードで購入。

  しかし、ウチのガキはイマひとつクールだ。ダンボールからケースを出してちょっと眺めたら、すぐにヨーヨーに戻ってしまった。そのうち熱中することもあるのかしらん。


2017-04-28(Fri) 3Dプログラミングフライデー

  画像の説明

  とりあえず、パッケージを置いておく。