2008/01/31(木)CPUがひとつふたつたくさん

某絵師様のPCの組み立てを半ば強引に手伝わされました(パーツは買ってあったため組み立てのみ)。ディアルメモリチャンネルなのにディアル動作させるためのメモリの差し方知らなかったり、SATA規格知らなかったりで、よくそれでパーツ単体発注でPC組み立てられたなーと不思議がたくさん。

とか思って、眺めていたら……。

core2q.jpg
core2q2.jpg
core2q3.jpg

うわーーーQuad Coreですよー。キャッシュ8MBとかアホなこと言ってますよ。Windows使う限り2つも4つも体感速度全く違わないんじゃないのか、というたくさんの疑問を余所にゲームに使うらしいです。

VMwareユーザーのえらいひと(違)が泣きますね(苦笑)。とはいえ自分も、Quad CoreにLinux入れてVMware Server入れたいです。*1

*1 : Xenでも可

電流駆動アンプは積分フィルタ?

はてブ数 2008/01/29電子::アンプ

概要

ことの発端は、電流駆動アンプの記事にraspyさんから面白いコメントが付いたことでした。raspyさんが編み出したfoovbar用の音質改善積分フィルタ(スピーカーが入力電圧の微分値を音として出力することに由来する問題を解決するためのソフトウェアフィルタ)は、電流駆動アンプと実質的に同じものではないかというものでした。

というわけで、raspyさん公開のプラグインと解説はこちら

電流駆動アンプについて

一時期ハマっていた電流駆動アンプですが、結局F通のPC用スピーカーを改造しただけで終わっています。回路上はシンプルで最高なのですが、

  • スピーカーが電圧駆動として設計されているため、高い音ほど目立って聞こえてしまう(イコライザで高域をもち上げた音が再生されてしまう)。
  • 低域共振の問題。スピーカーの低域における固有振動を再生したとき、その音を外部から制動できない(スピーカーのダンパーに頼るしかない)。

という問題があって、最近は諦めていました。最近メインのヘッドホンアンプは電圧駆動でいかに立ち上がりを良くするかに重点が置かれています。

音の立ち上がりというのは、ストリングやピアノなどの音の生々しさ(リアルさ)に大きく影響します。電流駆動アンプは非常に生っぽ音を再生します。

積分フィルタの感想

raspyさんの積分フィルタを試してみました。Pen3機にプラグイン入れてfoobar2000ごと落ちたり、最新版はXPでないと動作しなかったりと色々大変でしたが、なんとか試すことができました。

夜中にスピーカー出すと苦情くるのでヘッドホンでしたが(笑)。

  • 音の広がりがよくなる。
  • ピアノやストリングの音がぐっリアルになる。電流駆動アンプのそれと全く同じ現象。

基本的に電流駆動アンプのそれでした(高域ばかり目立つものは-6dB/octフィルタで補正されてますけど)。同じものと言って間違えないですね。ものは試しで、PCスピーカー@電流駆動アンプにつないだら「なんとなく変な音」になりました。電流駆動アンプには生の電圧信号を与えた方がよいようです(笑)

しかしこのフィルタで聴いたあとに、フィルタオフにすると「一枚ベールを被った音にきこえるなぁー」(苦笑) ただ、それとは別に若干音が変わったような気もしなくもないですが(条件が違うため真偽不明)。

なお以下の事情でカップリングコンデンサがなぜか付いてないようなまともな再生装置で試せなかったので、その他要因との切り分けは完全にできませんが、少なくともオンボードサウンドやDirectSound謎の音質劣化カーネルフィルタの改善効果は大きいものでした。

要望

  • 44.1kHzで動かないかなー = 軽くならないかなー。
  • Pen3でfoobar2000ごと落ちる謎。

ツッコミとか

ちょっと時間取れず、きちんと伝達関数とか解析とかできなくて申しわけないのですが、電流駆動アンプの解析記事にあるとおり、電流駆動をするためには、負荷(駆動対象)のL成分が関連してきます。Lによって両端電圧の挙動は変わります。

つまり、電流駆動アンプを再現する場合は、負荷に合わせた積分フィルタ係数C(コンデンサ容量に相当)の設定が必要になるかもしれません(まだきちんと解析計算してないので推定です。とんでもない見当外れかもしれません)。

出力電圧に限界があることを考えると、積分フィルタの出力を、出力電圧に換算するフィルタが必要になるかもしれません。例えば最大3Vしか出せないところに、「5V, 1V, 1V」であったら「3V, 3V, 2V」と変換した方がいいのかもしれません。これまたきちんと計算してないので、わからないですが(要するにデルタシグマみたいなもんです)。

それよりも

「-6dB/oct」フィルタ付きの電流駆動アンプを作りたくなりました。そのうち作ります。*1

さらにアイデア

回路的に「積分フィルタ」→「電流駆動アンプ」構成にすれば、周波数特性がうまく逆特性になって(合わせてフラットになって)すべて丸く解決かもしれません。*2

*1 : 実は作ったはいいけど高域ばかり出てしまうため腐っている電流駆動アンプがry

*2 : 低域共振以外ね……(^^;

追記 2008/01/30

簡単な数式をこね回していたのですが、

状況伝達関数概要
スピーカー制御時の電圧→電流変換\frac{1}{R+Ls}1次遅れ
スピーカの電流→音変換As純微分要素?
RCフィルタ\frac{1}{1+RCS}1次遅れ
CRフィルタ(DCカット)\frac{CS}{1+RCS}1次遅れ*時間遅れ
積分\frac{1}{CS}純積分要素

となりました。積分フィルタはRCフィルタか純積分要素のどちらかだと思いますが、電流駆動アンプとは直接的には関係なさそうですね。

  • 電流駆動アンプは「電圧→電流変換」における1次遅れを解消するフィルタである
  • 積分フィルタは「スピーカーの電流→音変換」における微分作用を無視するため(微分作用の結果しとて信号を音として再生するため)のフィルタである。

と言えるのかも知れません。原理上、どちらも音の立ち上がりは改善してくれますけどね……難しいところ。結論としては違うものでいいような気はします。

試聴実験報告 2008/02/03

44.1kHzのWAVE音源をリサンプリングせずraspyさん作の位相フィルタをかました音をWAVとして保存します。保存したWAVEファイルをノーマライズ(線形に音量を変えただけ)し、オリジナルとほぼ音圧を揃えます。

この状態でまともな再生機器(Prodigy192VE)を用いて再生を行い、音量(アナログボリューム、デジタルボリューム等すべて)を固定した状態で聞き比べを行いましたが残念なことに音の差は余り感じられませんでした(フルレンジスピーカー+改造Sansuiアンプ/ヘッドホンの2つで確認)*3

  • わずかに音の広がり(奥行き?)がよくなる
  • 低音の音量が増える(これはフィルタのせい?)
  • 言葉では難しいけど、音の鳴り方が少し違う(悪いという意味ではない)

といった印象でした。なんとも難しいところになってしまいました。88.2kHzなりにリサンプルしないと真価を発揮しないのかなー。

*3 : 一部の曲ではどんどん0V位置から遠ざかりテストになりませんでした。なぜかDC直結DACのOnkyoでの再生は危険に……。

2008/01/29(火)計量ばかりは本当に正確か?

仮にも技術屋をしていると、よく「正確な長さ」や「正確な温度」はたまた正確な時刻正確な電圧正確な周波数というものを得ることがいかに難しいかということを思い知らされます。

例えばGPSでは電波の到達時刻(時間差)から位置を特定しているわけですが、それを実現するためには、衛星の時計が超正確である必要があって、CDプレイヤーやパソコン等で使われる水晶クロックの1億倍以上も正確である必要があります。もし仮に水晶クロックを使っていたら、GPSの精度は100kmとか1000kmとかのレベルになってしまうんですね。

デジタルばね計り

話が大分それましたが、何かに使うために郵便物の重さをグラム単位で正確に計る道具が必要になりました。*1

hakari01.jpg
hakari02.jpg

1gまで計れる! 高精度! とかいいながら誤差±2gって……。一応タニタ製なので大丈夫だと思いますが、ものすごく検証心がくすぐられます(笑)

残念ながら上皿天秤ばかり*2とか持ってないので、家のキッチンに転がっている別メーカー製ばね計りと相対誤差を取ってみました。

hakari03.jpg
hakari04.jpg

メーカーテープリモコンACアダプタ電工ナイフ電池何か(笑
タニタ30g78g130g114g58g257g
貝印30g77g130g114g58g257g

リモコン以外では誤差が出ませんでした。両方のメーカーが共に狂っているという可能性は低いでしょうから、おそらく共に1g未満の差だろうと思います。一応安心して使えますね。*3

ところで郵便局のばね計りは本当に正確なんでしょうか、ちょっと気になってきました。誰か上皿天秤ばかりで50.0gと50.1gに調整した郵便物を持って行って試してくれませんか?(笑)

*1 : 25g、50g、100gで郵便料金が変わるのですが、重さがわからないと郵便物を出すためにイチイチ郵便局に行かねばなりません。

*2 : こういう経験をすると、ばねばかりではなく上皿天秤ばかりがいかに重要かよく分かりますね。

*3 : 温度による絶対誤差があるでしょうから、難しいところですけどね。

2008/01/28(月)FirefoxのSageは危ない

脆弱性情報の公表に関する疑問によると

最後に、Sageユーザーの方が現時点で取り得る対策方法について記しておきたいと思います。

  • Sageの使用を直ちに中止する (強く推奨)

だそうです。とりあえずSage++に入れ替えた(このままSage使うよりはマシ良いので)。

そういやSageが危ないって話は前からありましたよね……。というより、実際自分でもadiary開発中に何度も確認してるし。Sageは数え切れない欠陥がありまして*1、実行時の場所が

file:///C:/Documents%20and%20Settings/~/chrome/sage.html

ですから、XSS使うと簡単に同一ドメインでローカルファイルがry

それにしてもJPCERT/CCって害毒だなー(笑)

*1 : 内部特殊変数をRSSに書くと置き換えてくれたり、エスケープコードを2重に評価したり。この2重評価はひどくて、blogシステム上で第3者によるXSS対策をしてもRSSを読むことで、blogシステムの防衛機能を乗り越えてクライアントPCでXSSできるという。実証はしてないけど、たぶんできる。