サウンドハウスで水が売られている件について


音楽制作者の間ではお馴染み、プロ用音響機器が安く買えると評判のサウンドハウスですが、なんとそのサウンドハウスにてなぜか水が売られています。

mizu.png

最初私はてっきり音響機器の冷却水か何かだと思ったのですが物は試しにページを開いてみると、れっきとした飲料水でした。

https://www.soundhouse.co.jp/shop/ProductDetail.asp?Item=1919^AQ500-24

water.png

ページの説明によりますと、

“Aquaville(アクアヴィル)”は、カリフォルニア生まれの最高品質のナチュラルウォーターです。
カリフォルニア州オンタリオの井戸から湧き出る美味しい水を、米国市場において45年の歴史を持つボトリング工場でパッケージしました。そのボトルを工場からダイレクトにお届けすることにより、衝撃的な価格を実現しました。

1箱 500ml×24本入り

原材料名:水(深井戸水)
内容量:500ml
採水地:カリフォルニア
硬度:1未満(軟水)
賞味期限:製造日から2年間(未開封、冷暗所保管)
原産国:アメリカ合衆国
輸入者:フィットネスハウス株式会社

とのことで、24本入りで860円。
一本当たりおよそ36円。しかも軟水ですから緑茶やカップラーメンにもよく合います。

 実は私、水道水は一切飲まず普段の飲料水はミネラルウォーターと緑茶なのですが、24本入りで860円ですからなかなかお買い得ではないでしょうか。ということで早速注文してみようと思います。

Process.Start()で起動したプロセスのメインウィンドウのハンドルが取得できない場合の対処法


 現在C#にて、以下のような仕様でプロセス間通信を行うアプリケーションを作っているのですが、プロセスAから起動したプロセスBのメインウィンドウのハンドルが取得できないという問題に遭遇しました。

  • ユーザーの操作でプロセスAがプロセスBを起動。
  • プロセスAはプロセスBのメインウィンドウにWM_COPYDATAを用いてデータを送信。
  • プロセスBはプロセスAから受けた指示に従って各種動作を行う。

 一番最初に書いたコードは、次のコードです。
このコードを実行すると、プロセスは起動できるのですがWaitForInputIdle()で起動したプロセスのメッセージループ突入まで待機しているにも関わらず、メインウィンドウのハンドルが取得できずに0が返って来ることがあります。

            //プロセスを生成する。
            Process p = new Process();
            p.StartInfo.FileName = appPath;
            p.StartInfo.Arguments = args;
            p.StartInfo.UseShellExecute = false;
 
            p.Start();
 
            //念のため待つ。
            p.WaitForInputIdle();

            // ウィンドウのハンドルを取得するのだが、
// IEや.NETアプリを立ち上げるとゼロになってしまう場合がある。
            IntPtr hMainWindow = p.MainWindowHandle;

 notepad.exeなどのシンプルなアプリケーションの場合には正しくウィンドウハンドルを取得できるのですが、Internet Explorerや自作の.NETアプリケーションの場合には0が返ってきます。

 どうやら挙動を詳しく調べてみると、一部のアプリケーションを起動した場合にはWaitForInputIdle()がきちんとWaitしてくれていないようで、メインウィンドウが生成される前にMainWindowHandleを取得してしまいゼロが取得されるようでした。

 おそらく一部のアプリケーションでは、ウィンドウ生成後メッセージループ突入という組み方がされていないためこのような現象が起こるのでは、と推測します。

 そこで、以下のようなコードを作成し再びテストを行ったところ、InternetExplorerや.NETアプリケーションを起動してもウィンドウハンドルを取得することができるようになりました。

            //プロセスを生成する。
            Process p = new Process();
            p.StartInfo.FileName = appPath;
            p.StartInfo.Arguments = args;
            p.StartInfo.UseShellExecute = false;
 
            p.Start();
 
            //念のため待つ。
            p.WaitForInputIdle();
 
            //ウィンドウハンドルが取得できるか、
//生成したプロセスが終了するまで待ってみる。
            while (p.MainWindowHandle == IntPtr.Zero && 
p.HasExited == false)
            {
                System.Threading.Thread.Sleep(1);
                p.Refresh();
            }
 
            // hMainWindow != IntPtr.Zeroの場合にはウィンドウハンドルを
//取得できたと思われる。
            IntPtr hMainWindow = p.MainWindowHandle;

 このコードでは、WaitForInputIdle();で念のためメッセージループの開始を待った後に、さらに、本当にウィンドウハンドルが取得できたかどうかをチェックし、取得できるまでループを回す、という事を行っています。

 その際に、起動したプロセスが異常終了した時の事も考慮し、プロセスが終了してしまった場合にはループを抜けるようにしています。

 今のところはこのやり方で、メインウィンドウのハンドルは取得できています。

 ただしこのコードにはタイムアウト処理が入っていません。もし起動したプロセスがなんらかの原因でウィンドウの生成に失敗した場合、起動元のプロセスがフリーズしてしまいますので、実際にはタイムアウト処理も入れた方が良いでしょう。

 さらに.NET Frameworkのドキュメントによりますと、Windows Formで生成したフォームのウィンドウハンドルはフォームの有効期間中に不変であるという保証はないそうです。(ShowInTaskbarプロパティを操作すると変わったりするようです) 従って、ウィンドウハンドルを取得しそこへウィンドウメッセージを送るという方式でプロセス間通信を実現する場合には、取得したメインウィンドウのハンドルを保持しておくのではなく、メッセージ送信前に取得しなおしておいたほうが確実かもしれません。

マザーボード修理 ~Compaq Presario 3903JP編~


はい。今回もマザーボードの修理の依頼を頂きました。

 今回はCompaq Presario 3903JPです。
Compaq Presario 3903JPは2002年製で、製造時期的に不良電解コンデンサ問題の被害を被っていそうな雰囲気です。依頼者様曰く「7年間Webサーバやメールサーバとして常時通電状態で使用していました」とのこと。

DSCF7477.jpg交換前の液漏れおよび膨張したコンデンサ。
CPU周りの10本とメモリスロット付近の1本、合計11本のコンデンサがこのように膨らんで液漏れを起こしていました。今にも破裂しそうでパンパンです!!!

DSCF7480.jpg早速コンデンサを取り外します。実はハンダ付けする作業よりも取り外す作業のほうが、スルーホールに残ったハンダをきっちりと除去しなければならない分若干手間がかかります。
DSCF7486.jpg取り外したコンデンサ。ニチコンHMシリーズ。
ムスカ「怯えることはない。こいつははじめから死んでいる。」
DSCF7490.jpgさて、こちらが新品のコンデンサになります。本当はニチコンHMを使用する予定でしたが、あいにく同規格品が品薄でしたので、依頼者様の了解を得て、超低ESRでハイグレードなHZシリーズを使用させて頂きました。ゴールドのスリーブがいかにもハイグレード品という雰囲気を醸し出しています。
DSCF7525.jpgそして、ハンダゴテで一本ずつハンダ付け。
DSCF7530.jpgめでたく修理が完了したマザーボード。
この後クロネコヤマトに持って行き、依頼者様の元へと返送されます。なお、ドットインパクトプリンターを持っていないので伝票は毎回手書きです。

DSCF7534.jpg その後依頼者様から「動作良好です」とのご報告を頂きました。
今までサーバ機として利用していたこのマシンを再びクライアント機として利用することにしたそうです。

TUBE MPの音質はコンデンサの交換を行ったことでどう変化したか


1月27日のエントリで寿命を迎えたコンデンサの交換を行いTUBE MPを格安で復活させた事をお伝えした時に、同時にノイズが減少し音質が改善されたと書いたのですが、コンデンサ交換前の音源ファイルを見つける事ができなかった為に実際の音をお聴かせすることができませんでした。

しかし先日MacのHDDを漁っていたところ運良くTUBE-MPのコンデンサ交換前の録音物を見つけることが出来ましたので、皆様の参考になればと思いこのエントリを書く事に致しました。

※コンデンサ交換前の音源は、もちろんTUBE MPが故障する前に録音された音源です。

TUBE MPの二つのノイズ

さて、TUBE MPが発するノイズには大きくわけて2種類あります。

ひとつは「サー」という常時発される真空管の熱雑音、もう一つは電源系統のノイズです。コンデンサを交換することでほとんど聞こえなくなったノイズは後者のノイズです。

私は主に、エレキベースやエレキギター、マイクなどをTUBE-MPに接続して使用しています。そして、TUBE MP購入当時から安価で手軽に音圧が上がる装置として重宝していたのですが、ひとつだけ気になる点があったのです。

それは、マイクに向かって囁いたとき、ギターやベースを軽くピッキングした時など、いわゆる微弱な信号を入力した時にその信号にまとわりつくように「ササッ、ササッ」というノイズが載るのです。

百聞は一見に、いや百読は一聴にしかずというわけで、運良くコンデンサ交換前の音源を発見できましたので、実際に聴いてみて下さい。なお、パソコンに付属のスピーカーではノイズがよく聞き取れないかもしれません。そのときはモニターヘッドフォンなどを使用してみてください。

waveform_oldcapacitors.png

 

おそらくこれはピックか指のどちらかが弦に軽く触れてしまった時の音だと思います。聴き取り易いように編集して音量を上げていますが、実際は非常に弱い信号です。短い音源ですが、ベースの音が鳴った時に「ササッ」もしくは「ザザッ」というノイズも一緒に混入している事がわかると思います。

コンプレッサを併用することでノイズはますます深刻になる

私は元々ロック系の曲を中心に制作していますので、ほとんどの場合は大きな信号ばかり入力させており、そのときには上記のようなノイズはマスキングされて消えてしまうのですが、それでも弱いピッキングや囁くようなボーカルなど弱い信号が必要になる時があります。そんな時にそのノイズが出てくるばかりではなく、TUBE MPのすぐ後ろに接続されているコンプレッサがそのノイズをより一層増幅させてしまっているのです。

そこで私は、安物故の宿命だと思ってできるだけ小さな信号を入力させないように使ってきました。

コンデンサの交換を行うことで音質は飛躍的に改善した。

しかし、コンデンサの交換を行った後に再びTUBE MPの音を聴いてみてびっくりしました。微弱な信号にまとわりつくようなノイズがまったく聞こえないのです。

これも百読は一聴にしかず、ということで、ベースの弦にピックを軽く当てて録音してみました。先ほどの音声サンプルと比較してみてください。この音源も編集によって音量を上げていますが、元々は弦にピックが触れるか触れないかという具合にピッキングしましたので、非常に微弱な信号です。さらに今回は音が減衰するまで、またフレット上で指を動かした時の微弱な音まで録音してみました。

waveform_newcapacitors.png

 

いかがでしょうか。最初から聞こえる熱雑音はしょうがないとしても同じTUBE MPとは思えないほどクリアに録音されていると思いませんか?

ただし、一つだけ録音条件が異なっている点がありまして、TUBE MPのコンデンサを交換した後にベースの弦も張り替えました。その点だけはご了承下さい。

日本のコンデンサの質の良さを改めて思い知らされた

さて、私が交換を行ったコンデンサは電源部に使われているコンデンサ3本で、オーディオ用の高級なものではなく、電源用に使われているごく一般的な物です。かかった経費も送料込みで590円だけでした。

たったこれだけの投資で音質が見違えるように変化したわけですから、元々取り付けられていたコンデンサの品質が如何に悪かったか、また日本のコンデンサの品質が如何に良いかを思い知らされました。

さらなる上を目指して

次の課題は真空管の熱雑音です。ボーカルやアコースティックギターのソロを録音する場合にこの熱雑音は非常に邪魔な存在になります。これは真空管をもっと高級な物に変えることで改善できるのではと考えています。また、電源部のコンデンサもオーディオ用の高級品に変えてみて、さらに音質がどう変化するのかこのブログで改めて書いていければ良いと思っております。

マザーボード修理 ~AOpen AX4PE Max編~


 さて、今回もマザーボードのコンデンサの交換の依頼を頂きました。

 依頼者様によると、「7年間愛用してきたPCが最近になって突然シャットダウンするようになり、マザーボードを確認したところコンデンサの頭が膨らんで液が漏れていた。愛着があるのでできれば使える間は使ってやりたい。」とのことで、こちらも俄然やる気がでてくるってものです。

 さてこちらが依頼者様より送られてきたマザーボード、”AOpen AX4PE Max”です。
2002年に発売になったこのマザーボードは不幸なことに不良電解コンデンサ問題の被害を被っていました。ごらんの通りCPU周りのコンデンサが液漏れを起こしています。
 とはいえ、今年まで問題を抱えつつも動いていたわけですから驚きを隠し得ません。

IMG_0002.jpg

問題のコンデンサ計7個を取り外したところ。
頭頂部の膨らみは僅かであり、破裂こそしていないものの電解液が漏れています。
なお、コンデンサはこうなった時点ですでに規定の性能を失っています。

DSCF7033.jpg

コンデンサが取り外されたマザーボード。
この後ハンダ吸い取り機でスルーホールに残ったハンダを除去し、新しいコンデンサを取り付ける準備を行います。

DSCF7013.jpg

そしてこちらが新品のコンデンサになります。ニチコンHMシリーズ。低ESRコンデンサで、CPU周辺などのシビアな部分に使います。なお、この手の回路にはESRが低いコンデンサを使うことが鉄則ですが、ESRが低すぎると逆にレギュレータが焼けてしまうことがありますので注意!
DSCF7147.jpg

 新品のコンデンサを半田付けしたところ。
なお、このような電源平滑用のコンデンサは「大は小を兼ねる」と思われがちですが、実際はリスクを伴います。

 実際に少し大きめの静電容量のコンデンサを取り付けると、若干の平滑性能の向上はあるのですが、あまりにも静電容量の大きなコンデンサを取り付けると、電源投入時に突入電流が流れて、周辺の回路に大きな負担をかけることになります。(充電されていないコンデンサに電圧をかけるということは、回路を一瞬ショートさせるのと同じことです。容量の大きなコンデンサは充電完了までに時間がかかりますのでその分突入電流が流れる時間も多いわけです)

DSCF7170.jpg

修理が完了し、依頼者様への返送を待つマザーボード。

DSCF7172.jpg

 その後マザーボードは無事依頼者様の元へ到着し、「心配していた突然の電源落ちもなく、さらには起動、終了がものすごく速くなりました。コンデンサを交換するだけでこんなにも変わるとは…本当に驚きです。 」との報告を頂きました。

 コンデンサを交換すると起動、終了が速くなるというのは初耳ですが、おそらくコンデンサの故障により不安定になっていた電圧の変動の影響で、CPUが正しいクロックを維持できなかったのでは?と予想していますが、詳細はわかりません。

 しかしながら、こういう報告はいつでもうれしいものです。

Windows Live Messenger 2009をWindows Server 2003にインストールする方法


今朝起きたところ「Windows Live Messengerの新しいバージョンを入れろゴルァ!」という警告が出ていて、どうやら断るとサインイン出来ない事がわかったので、なんとか私の開発マシン(Windows Server 2003)にインストールべく試行錯誤しました。

そしたらあっさりと完了。

用意する物

手順

1.Resource HackerでWindows Live 2009のインストーラ(wlsetup_all.exe)を開きます。
2.左のペインからCONFIG → CONFIG0 → 0を順に辿ります。
3.次のような画面が表示されるはず。

resourcehack1.png

4.右側のデータ部分に以下のXMLをコピペで上書きし、「スクリプトをコンパイル」ボタンをクリックした後、上書き保存。

5.大威張りでwlsetup_all.exeを開き、インストールを行います。

注意:開発元のマイクロソフトはWindows Server 2003での動作を保証していません。この方法を試して何らかの損害を被ったとしても当方では責任を負いかねますので、自己責任でお願いします。

「新世紀エヴァンゲリオン~約束の時~」のオンラインシミュレータを公開しました。


Eva3OnlineSimulator.png

 前回のデスクトップアプリケーション版のリリースに引き続き、Webアプリケーション版のシミュレータも公開しました。これで、ちょっとしたシミュレーションならわざわざデスクトップアプリケーション版をダウンロードしなくともWebブラウザから試してみることができます。

 サーバー負荷の関係から、成立役履歴の詳細表示が無い、シミュレート可能なゲーム数は10,000ゲームまで、という制限はありますが、その他の機能はデスクトップアプリケーション版と全く同じです。

 しかしながらシミュレーションの実行はサーバーに負荷がかかりますので、繰り返し何度もシミュレーションを行いたい方や、大量のシミュレーションを行いたい方はデスクトップアプリケーション版をダウンロードしてください。よろしくお願いします。

デスクトップアプリケーション版のダウンロードはこちら

エヴァンゲリオン~約束の時~のシミュレータをリリースしました。


Eva3Simulator_Screenshot.png

 以前のエントリでも少しだけお知らせしていた新作のシミュレータですが、この度ようやくリリースすることができました。

 以前のエントリに書いた「機械割が割と高く、判別要素もあり、なおかつバケを引くとガッカリする某人気機種」とは「新世紀エヴァンゲリオン~約束の時~」の事でした。

 主な特徴といたしましては、Slotware製のソフトウェアではお馴染みのデータ表示機能やスランプグラフ機能は勿論のこと、以下の機能を搭載しています。

実機を忠実に再現した42種類の抽選テーブル

flagview.png 実機を忠実に再現した7種類の抽選テーブル(通常、黄7 or 青7成立中、赤7 or REG成立中、天井、暴走、覚醒、ボーナス中)を各設定毎に6セット、合計42種類搭載しています。

 これによって、スイカやチェリーの後のリプレイの連続による「もしや入った!?」という状態もきちんとシミュレート。

 当然ボーナス中の小役確率も設定毎に異なります。
さらにグラフィカルで見やすくなったシミュレーション結果の表示

SimResult.png
 シミュレーション結果にはボーナス回数の他に、設定推測には必須である小役出現率も同時に表示します。さらにスイカとチェリーの合算、およびスイカとチェリー、ベルの3役の合算も表示します。

100ゲーム毎のレア小役およびベルのカウントおよび集計機能

koyakucounter_all.png

 さらにそれだけではありません。Eva3
Simulatorは100ゲーム毎に小役が何回出現したか、さらに累計出現回数と出現確率も表示します。実際にこの台を打つ方はこまめに小役を数えてい
ると思いますが(私も100G毎の小役回数をメモしながら打っています)、その機能もシミュレータに搭載しました。

 実際にこの機能を使って頂くとわかりますが、3000ゲーム程度でもまだ小役の出現率に大きなブレがあるということがわかると思います。

 このソフトウェアが皆様のパチスロの立ち回りに役立てる事を願っています。
ダウンロードはEva3 Simulatorのページから可能ですので、ぜひお試し下さい。

マザーボード修理 ~Dell Dimension 4500c編~


 あまり知られていない事なのですが、当方ではソフトウェアの開発の他にマザーボードやビデオカードのコンデンサの交換サービスを行っています。(くわしくはこちら

 今月8月5日の事ですが、「Dell Dimension 4500cにおいて、Windows XPの動作中に何度も再起動を繰り返す。ケーブルや電源、メモリ類の交換を試みたが改善されず、その後Windows XPの再インストールを試みるもセットアップ中に何度もフリーズ、マザーボードのコンデンサが膨らんでいる事を発見したため交換を依頼」との旨の問い合わせを頂き、何度か連絡を取り合った後、コンデンサの交換をこちらで行うことになりました。

早速マザーボードと交換用の新品のコンデンサを送って頂きこちらで交換を実施しました。

dell_dimension4500c_before.jpg
これが交換前のコンデンサになります。ご覧の通り頭が膨らんでいます。なお依頼者様はマザーボードをこちらに送ってくださる前に故障したコンデンサにマジックで印を付けて下さいましたので、スムーズに作業が進みました。

dell_dimension4500c_after.jpg
そしてこちらがコンデンサを全て交換した後のマザーボードです。その後依頼者様から「以前のような症状は全く見られず至って快調」との報告を頂き、無事修理が完了しました。

 なお、部品は依頼者様があらかじめご自身で用意されていたので、往復の送料+技術料2000円のみ負担して頂きました。

 この様に、一見高額な修理費用がかかってしまうように見えるマザーボードの故障でも実際はコンデンサの交換だけで直ってしまう場合があります。とくに現在ではWindows XPの需要がまだまだあるにもかかわらず、対応したマザーボードやビデオカードは市場から徐々に姿を消しつつあります。(最近のビデオカードはWindows XP上で2Dアクセラレーションが効きません)

 そういった古いマザーボードやビデオカードを復活させたい方は是非ご連絡ください。