2007/05/23(水)RADEON系デュアルディスプレイ

2007/05/23 7:40 PC(全般)
インターフェースが分かりづらかったのでメモ。

RADEON+WinXPのデフォルトでは、

http://homepage3.nifty.com/amachi/md/guide/desktop.html

にあるような拡張(マルチ)デスクトップになる。
これをビッグやクローンにするときのやり方が分からなくて悩んでいたのだがやっとやり方が分かった。

Catalyst Control Centerのディスプレイマネージャからデスクトップ2のモニタ部分を「右クリック」することでクローンやビッグ(水平方向の拡張)に出来るらしい。止めてくれ右クリックしかインターフェース。

さてどれが使い易いか考えてみたが、拡張デスクトップだとオーバーレイを切れない動画で問題が出る。しかし、ビッグだと全画面表示が2画面一杯になってしまってこれはこれでめげる。まあ今の我が家の構成(ディスプレイのサイズが違う)ではとりあえず拡張かな。

その他、ソフト=maxivista(http://www.vector.co.jp/magazine/softnews/040904/n0409043.html)やUSB経由でデュアルディスプレイを構築出来たり=サインはVGA(http://plusd.itmedia.co.jp/pcupdate/articles/0406/22/news100.html)と今は色々できんだねえ。

2007/05/18(金)ACDIRあれこれ

2007/05/17 24:06 PC(全般)
全壊の設定ではいくつかエラーが出るときがあるので再考。

調べてみると文字化けがらみが原因らしい。

エンコードファイル名が化けるのは大した問題ではないのだが、エンコードできていないことがあるのがまずかった。ということで、エンコードで失敗する事例を中心に解決法を確定。原因は!,<などのWindows不正文字が使われているトラック名からファイル名を算出しているパターンと、ジャンルがID3v1の規定リストになかったのが原因らしい。

[文字化け問題]

SJISでは毎度のことだがACDIRでは「ソ」や「ポ」を含むファイル・ディレクトリ名で問題が出る。またcueシート上の名前からファイル名を算出する場合、",!等の不正文字問題が出る。
不正文字対策はACDIRの変数につける~を上手く使う。

文字化けは、EACでも同じだし気にしないのがベスト。タグが正確なら、Super Tag Editorとかで一括して修正した方がよい。出来うる限りRubyで処理すれば軽減することは出来るが、やりすぎるとcueシートを解析するソフトを自作する羽目になる。本末転倒もいいところ。

[ID3タグに関して]

これはlameの問題だが、lameでエンコードする際にコマンドラインオプションでジャンルを指定すると、オプションに関わらず(ID3v2タグのみを付けるようにしても)ID3v1のナンバリング形式で命名しようとする。
結果、Id3v1のジャンルリストにないジャンル名を入れようとすると(freedbとかにたくさんある)、



Unknown genre: 'Japanese Pop'. Specify genre name or number



となってエンコードされない。

結局lameではジャンルを貼らないのが正解のようだ。

http://anonymousriver.hp.infoseek.co.jp/CD-rippers.html
ここの説明にあるように、id3.exeを使う。当然lameではID3v2タグを付けてやらなければいけないから、--add-id3v2 --pad-id3v2は入れておく。

2007/05/15(火)mp3エンコードあれこれ

2007/05/14 27:18 PC(全般)
[エンコードtool]
CD->mp3 : Exact Audio Copy
CD->cue+wav, cue+ape : Exact Audio Copy
cue+wav, cue+ape->mp3 : acdir
エンコードエンジン : lame

でとりあえず良し。ただし、EACは時間がかかる(高速読みも出来るがそちらを基本設定とすべきでない)ので単にぱっとmp3にしたいだけならCDex+午後とか。

[EAC設定]
EACはV0.95b2を使う。現在入手可能な最新版V0.95b4は日本語入力すると二重化する問題有り。
とりあえずBenq DW1640を所有しているのでこれを読みドライブにする(CD-R実験室を信じるなら超優秀)。

http://homepage2.nifty.com/yss/eac/eac3.htm
http://musicpc.fc2web.com/eacoption.htm
を参考に、

・Error Recovery Quality : High
・Read sample offset correction : +588
・Write samples offset : +96
・Overread into Lead-In and Lead-Outのチェックを外す
くらいで調整すれば良し。あとはオプション項目でだいたい分かる。

APEにするときはMonkey's Audioをあらかじめインストールしておく。

cue+wav化はIMGアイコンを。
mp3化はMP3アイコンを。

cue+ape化はアクション -> イメージをコピーしCUEシートを作成 -> 圧縮。

[ACDIR]
cue+wav, cue+apeをmp3化するときはACDIRを使う。EACでも何でも手順を踏めば出来るのだが、ACDIRを使うのが一番簡単(?)。
http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html
上記サイトからダウンロード。簡易チュートリアルしかないが、コマンドラインヘルプでだいたいわかる。acdir自身にcue+ape, cue+wavを読む力があるので、あとは出力の設定とlameに渡すオプションをbatなんかに書いてやるだけ。

自分の腕ではbatだけでやるのが苦しかったので今回はRubyを使った。エクスプローラ+D&Dでやらせたかったので、まずはRuby Script FileがD&Dを受け付けられるようにする。

http://homepage3.nifty.com/yamakox/DropOnScript/index.html
上記サイトのDrop on Scriptを使えば良し。何をやっているかは、

http://devadjust.exblog.jp/4673772/
に書いてある。

で、Rubyで以下のように書いた。
ENV['PATH'] = 'c:\online\lame;c:\online\acdir;' + ENV['PATH']

dir_name = File.dirname(ARGV[0]) + "\" + File.basename(ARGV[0], ".*")

`acdir.exe --output "#&#123;dir_name&#125;\$n.$t.mp3" --pipe "lame -b 256 --replaygain-accurate --clipdetect -T --tt $#t --ta $#a --tl $#T --tn $#n --tg $#r&#123;GENRE&#125; --ty $#r&#123;DATE&#125; $x - $#o" "#&#123;ARGV&#125;"

print "\a\a"
Rubyを使ってる理由はファイル名から書き出しディレクトリを作りたかったから。

lameとacdirにPATHを通す必要がある。Ruby上で環境変数をいじるなら、ENVオブジェクトを使えば良し。

最後のダブルBEEPはおまけ。なんか怪しいけどとりあえずこれでいいや。

最後にcueをD&Dしてmp3化することを確認。なおACDIRはcue+apeから直接wavの単曲切りも出来る。eacで解体した物と当然バイナリは一緒。やりたいことに合わせてbatなりrbなり作っておくも良し、簡易GUIを作るも良し。

[lameオプション]
オプションの機能は、

http://www001.upp.so-net.ne.jp/yama-k/codec/lame3.95option.html

ここら辺を参照。
3.97でいくつかオプションの挙動を知りたく調べてみた。

某所の推奨設定が、
 --clipdetect : LAMEタグに音量ピーク値を保存する。メッセージ表示。

 --replaygain-accurate : より正確にリプレイゲイン情報を計算する

 -T : lameタグを強制的に書き込む。
をつけることになっている。

さて調査結果。

CBR(-b 256)とVBR(-V 2)どちらでも結果が同じで、
・--clipdetectだけの場合

・--replaygain-accurateだけの場合

・--clipdetect, --replaygain-accurate両方つけた場合
の3パターンではバイナリが同一。

どちらもつけない場合のみ、lameタグと思われる部分に5バイト分相違あり

(最大音量が記録されてない?)。
 --clipdetect をつけると、このソースではエンコード後にこんな感じのメッセージが出た。
WARNING: clipping occurs at the current gain. Set your decoder to decrease
the gain by at least 0.8dB or encode again using --scale 0.91
or less (the value under --scale is approximate).
 -T の有無にかかわらず常にlameタグは書き込まれた。

ということで結論としては、ここら辺のオプションは全てlameタグにのみ影響を与えるような物であり、あってもなくても大して変わらないらしい。とりあえずつけておいて損はないし大きな問題もないようだが、調べている途中でこんなのを見つけた。

http://www.faireal.net/articles/9/18/#d51109
mp3作って動画と合成する場合は、-tをつけてlameタグを付加しないようにしないと音ズレが拡大する可能性があるという話。うわ知らなかった。

ところで個人的にはだが、lameはCBRのほうが間違いがないと思っている。自分で使うなら当面CBR 192kかCBR 256kの2択?

最近のlameは高めのbitrateだとpsytuneとかsafejointをデフォルトで入れてくるようだ(K5 MP3 lametag viewerで確認)。いちいちキラーソースを探すのも面倒だし、ここら辺はもうオフィシャル設定を信用するしかない。

2007/05/13(日)foobar2000でエンコードが出来ない問題

2007/05/13 21:27 PC(全般)
foobar2000からLameを使ってConvertする際に、
Error flushing file (Unsupported format or corrupted file) : ファイル名
というエラーが出るので困っていた。原因はlameのバージョン違いで一応解決。

最初はパラメータが怪しいのだと考えて、色々試してみたのだが上手くいかない。

parameters指定を入力ファイルと出力ファイルだけの、
%s %d
としても上記エラー。ということで、どうもパラメータが原因ではないらしい。

結局Lameが余りに古すぎたのがいけなかったようだ。
stable最新の3.97に入れ替えたら成功。

ちなみに失敗していたバージョンは、3.88 MMX (beta1 Mar 27, 2001)。
せいぜい受け入れられるオプションが変わる程度かと思っていたが、コンパイル方法が違うのか、はたまたfoobar2000が変なことをやっているのか(勝手に3.97でしかとおらないオプションを付加してる?)。

解決したけど釈然としない。

2007/03/16(金)スキャナビボタンに任意のアプリケーションを割り付ける→失敗

2007/03/16 23:51 PC(全般)
EPSONのGT-8300UFを手に入れたことは以前に書いた。

このスキャナはスキャナビボタンという物が4つついている。スキャナ側からの操作で任意のアプリケーションを起動し、ボタンごとに設定を変えておいたり、勝手に取り込んだりできたら便利なのではないかと考えた。

結論から言うと失敗したので誰の役に立つという情報でもないのだが、一応作業メモを残しておく。

さてスキャナビボタンで起動できるのはStillImage対応として登録されたソフトに限られるようだ(ドライバの制約)。レジストリは以下の場所にある。
HKEY_LOCAL_MACHINE\SYSTEM\使っているコントロールセット\Control\StillImage\Events\STIProxyEvent
登録したいアプリにGUIDがあれば、それを使いキーを作成。なければ、VisualStudioなり、Rubyのuuidtoolsなりで適当にGUIDをでっちあげればいい。

キーの中身は以下のようになる。
[HKEY_LOCAL_MACHINE\SYSTEM\使っているコントロールセット\Control\StillImage\Events\STIProxyEvent\{アプリのGUID}]
"CmdLine"="アプリケーションのパス" /StiDevice:%1 /StiEvent:%2"
"Name"="名前"
"Desc"="名前でいいと思う"
"Icon"="sti.dll,0"

場合によっては反映に再起動の必要があるかも。

この方法でBTScanを登録してみた。すると確かにスキャナビボタンの起動アプリとしてBTScanが表示された。やったと思ったのだが、/StiDeviceって何? と、BTScanから怒られる。

得心。

/StiDeviceとか/StiEventってのはまさしくコマンドラインのオプション指定に過ぎない。要するにstillimageってのはMSがインターフェースだけ決めて、実装するかどうかはアプリ任せっていうことだ。

オブジェクトや、テンポラリファイルがわたせるのではないかというイメージがあったため、思わず突っ走ってしまったがまるで無駄だった。結局アプリ側でTWAINを立ち上げるとかいうことなんだなあ。

ただこの方法で特定のスキャナビボタンに任意のコマンドを割り付けることは出来そうだ。たとえばuwscのスクリプトや、特定のショートカットボタンを各スキャナビボタンに割り当てるということは出来るだろう(もちろんその場合は/Sti****は不要)。

でも結局TWAIN経由になるなら、スキャナビボタンにショートカットを割り当てたところで手順の簡略化にはつながらない気もする。キーボードをスキャナの所まで引っ張ってくるのがめんどくさいということであれば、ジョイパッド+JoyToKeyをつかうとか、マウスにショートカット割り当てるとかその程度でいいかな。

2006/12/30(土)スキャナ買い換え

2006/12/30 4:20 PC(全般)
フラットベッドスキャナが遅いので何とかしたい。現在使っているスキャナはGT-8700。あ、用途は紙原稿ね。

USB1.1世代のスキャナだし、最近のはきっと速いはず。入れ替えを考えた。
http://bbs.kakaku.com/bbs/00401010142/SortID=4590740/
http://bbs.kakaku.com/bbs/00400510146/SortID=5202764/
http://bbs.kakaku.com/bbs/00401010144/SortID=4676628/

これら書き込み等を参考にあちこち調べていたが、結論として最新機種だからといって速くなるわけではない。
常用する解像度によるようだけど、300dpiくらいまでだったら、Canon 8400Fあたり、EPSON GT-8300UF/9700F辺りの世代が一番早いようだ。300dpi以下では、モアレ除去を切ってもGT-Xxxx系のスキャン速度は8300UFに及ばないような気配である。

ただここら辺はカタログスペックからだとホント分からない。なぜならline/sが書かれている解像度がそれぞれ機種で違うから。そしてヘッドが戻る時間や、キャノン機種にある「調光中」で30秒近く停止する問題など実際に使ってみないと分からないことが多い。挙げ句最近はフィルムスキャナ推しなので、紙原稿は取り込み時間を具体的に書かない上に比較記事もない。海外の記事が参考になるかと思ったらラインナップが全然違ってやんの。機種名からして違うのは何か制限がかかってるのだろうか……

さて、結局オークションでGT-8300UFを入手した。型番上は下がっているが、300dpiまでなら爆速だと評判のスキャナである。廉価機種なので安いものの、電源ボタンがなかったりもする。Epson Scanが対応していないのでモアレ除去機能もこの機種にはない(とはいえ所詮ソフトウェア処理だからレジストリいじってやればいけるんじゃ???)。

閑話休題。で、GT-8700と比較計測。

測定時間は原稿台全面を対象に、「ボタン押してからスキャナから音がしなくなるまで」。全てオーバーヘッド分の時間も含んだ時間を書いている。計測は所詮ストップウォッチなので、精神的バイアスも含めた測定誤差あり。

原稿種:原稿台

フルカラー・ドライバ色補正無し・アンシャープマスク無し。
※なお、ヘッドの戻りはEPSONでは「キャリッジリターン」とも呼称。

[ GT-8700(USB1.1) ]
・preview: 12sec
・イメージタイプ:カラー写真
150dpi: 21sec
300dpi: 35sec
600dpi: 125sec

・イメージタイプ:白黒写真
150dpi: 19sec
300dpi: 28sec
600dpi: 64sec

・オーバーヘッド:
ヘッド動きだしまで:3sec
ヘッド戻り:4sec(取り込みは終了している))

[ GT-8300UF(USB2.0) ]
・preview: 8sec
・イメージタイプ:カラー写真
150dpi: 12sec
300dpi: 15sec
600dpi: 42sec

・イメージタイプ:白黒写真
150dpi: 12sec
300dpi: 14sec
400dpi(おまけ): 16sec
600dpi: 39sec

・オーバーヘッド:
ヘッド動きだしまで:2.5sec
ヘッド戻り:2sec(取り込みは終了している))

だいたい倍という所。感覚的にはヘッドが戻っている間に操作ができるのでもっと早くなった印象。確かに8300UFは速い。もちろんGT-8700は多分SCSIで繋いだ方が早いので若干損はしているだろうけど。スキャナメーカーはもう速度競争をしていないので、この辺りの世代で2倍はなかなか嬉しい。

ほかに速い機種は…… 書き込みを見る限りは、canoscan 8400Fのほうが速かったかもね。300dpiまではほぼ互角かというところだろう。ただCANONには「調光中」問題がある。どの機種でどの頻度発生するのか分からないので、どうもキャノンを敬遠したくなる。

600dpi以上を使うなら別の上位機種の方が早そう。8400Fはもちろん、600dpiだとEPSONでもGT-9400UFのほうがカタログスペックでは速い(600dpiはカタログ上表記されていることが多い)。

まとめ。速度を求めるなら、4k未満で手に入る機種なのでGT-8300UFのコストパフォーマンスは高いと思う。突き詰めたわけではないのでもっと早い機種はあるかもしれないけど、300dpi以下ではこれより格段に速い機種は現行無いだろう。なぜならこのあとの世代(EPSON)が300dpiでは速度面においてはむしろ退化していると思われるからだ。Canonはわからない。8300UFより速いとすれば8400F/8400FVだろう。600dpiに関しては、常用するなら最新機種を含め別のものを検討した方が良いかもしれない。

2006/12/29(金)Aviutlを自動化する

2006/12/29 21:49 PC(全般)
AviutlはCUIで使うことを前提にしていないので、全自動化が面倒くさい。例えばエンコード設定をファイルごとに変えずに、全ディレクトリのMPEG2をAVIに変換したいときなんかに。もちろんバッチ処理をかければいいのだが、1ファイルごとに何手順か操作する必要はあるのだった。

今ままではjobsファイルを書くRubyスクリプトを作ってVirtualDubMod(本家と違ってMPEG2が読める)に投げてやらせていたのだが、jobsファイルのちゃんとした仕様が分かってなかった所為かどうも変なaviを作ってしまうことがあった。そしてインターレース解除がやっぱり変だ。ボケボケだし。どうにかしたい。

調べているときにuwscなるソフトを発見。マウス、キーボードの操作や、メニュー操作、ボタンクリックもスクリプトで書けるようだ。これはいい。

ということで、uwscで下のようなスクリプトを書いた。これをRuby+Apolloで作った簡易GUIでループ部分をファイルごとに書いて回すことにする。上手いこと失敗した状態をトラップできるようになればもうちょっと固くなりそう。少し楽になったかな。

※まるものMPEG-2 VIDEO VFAPI Plug-Inを最新のに更新したら、旧VFAPIで発生していた壊れ気味のMPEG2に当たるとエンコードが大破綻する問題が大きく解消されていた。PC-MV5DX/PCIで録画中に負荷かけたりすると、そういうファイルが出来るんだよね。で、フレームがぐちゃぐちゃ、音が全く合ってないファイルが出来ちゃったりしてたんだけど。足を向けて眠れません。あとは是非AC-3対応に(ry
ReadFile = "F:\みんなのうた_02281654.MPG"
OutPutFile = "F:\test.avi"
ID = Exec("c:\online\aviutl\aviutl.exe")

//バッチのクリア
ClkItem(ID, "ファイル\バッチ出力")
ClkItem(GetID("バッチ出力"), "すべて削除")
if GetID("OK") then ClkItem(GetID("AviUtl"), "OK")

ClkItem(GetID("バッチ出力"), "閉じる")

////////ここからループ
//読み込み
ClkItem(ID, "ファイル\開く (Ctrl+O)")
SendStr(GetID("ファイルを開く"), ReadFile, 1, TRUE)
ClkItem(GetID("ファイルを開く"), "開く")

while ClkItem(ID, "ファイル\AVI出力 (Ctrl+S)") <> TRUE
	Sleep(1)
wend

SendStr(GetID("名前を付けて保存"), OutPutFile, 1, TRUE)
ClkItem(GetID("名前を付けて保存"), "バッチ登録")

//同名のファイルが存在したら強制上書き
if GetID("はい") then ClkItem(GetID("名前を付けて保存"), "はい")
////////ここまでループ

ClkItem(ID, "ファイル\バッチ出力")
ClkItem(GetID("バッチ出力"), "開始")

Sleep(1)

while GetID("バッチ出力") <> -1
	Sleep(1)
wend

Sleep(1)

ClkItem(ID, "終了")

2006/07/09(日)Excelのショートカット追加

2006/07/09 21:21 PC(全般)
Excelが使いづらいのは、ショートカットが登録できない所為だ!

と延々文句を言っていたら、起動時に自動でマクロを読み込むことで対応できるということを知った。

http://park11.wakwak.com/~miko/Excel_Note/14-01_macro.htm#14-01-11
の方法で、personal.xlsを作って、

http://www.excel7.com/personal/personal2.htm
のスクリプトを登録。

特に「セルの結合」が便利。

Excelの起動は遅くなったけど仕方ない。

2006/06/01(木)gigabit LAN

2006/06/01 4:48 PC(全般)
玄人のGBE-PCIを2枚買ってあってなんとか作業マシンとバックアップマシンを高速接続できたらいいと思っていた。

しかし、以前はMTUを色々いじったりしたのだが全く速度が出ず(88Mbpsくらい?)結局諦めてしまっていたのだった。

今回改めて再チャレンジ。構成は2台だけなので直結設定。最近はNIC直結ですらクロス・ストレートを考えなくて良いので楽だね。

さて結論から言ってしまえば

(1)ドライバをアップデートして(1.29 -> 1.44)

(2)ドライバプロパティでJUMBOFRAMEだけONにし、

(3)MTUの設定を飛ばしたら

速度がアップした! ドライバかあ……
今のところWindows間のファイル転送で827MBが36秒で転送できるようになったので、193Mbps相当出ている計算になる。gigabitはどうしても200~300Mbpsに壁があり(というかデバイスやバスの転送域を超える)あんまり躍起になって詰めるのもバカバカしい。これなら精神的には十分(100Mbpsの3倍程度)なので今回はここで終了。MTUは設定値次第で遅くなるということも実体験したし、最適設定は難しそうだ。

そうそうVIAにはgigacheckなるケーブル品質を測定できるソフトがある。これはなかなか面白いかも知れない。

あとはハブの消費電力とNICの消費電力を考慮して、gigaHUBを導入するかどうか。鯖がどうせ100Mbpsで必要十分なので当面gigaデバイスが増えない気がするんだよな……

ヤフオクでCG-SW08GTV2が安値で出ててジュルジュル。あー相場より3k安い。迷う。

2006/05/23(火)スキャナ

2006/05/22 25:17 PC(全般)
久々にスキャナについて調べた。

こちらが知りたいのはなんといってもスキャン速度なのだが、最近のは複合機かフィルムスキャンかどちらかにシフトしてしまっていて、EPSONのカタログなんかプレビュー時間さえ書いてない。

おそらく今一番早いのは、canoscan 8400FV。

プレビューで2秒、多分全般今使ってるGT-8700よりも2倍強速そうだ。

まあ20kもするので、調べただけで終了。

あとA3で、Mustek ScanExpress A3ってのが30k弱で買えるらしい。まあ安いなりにトラップがあって、カラーで解像度を上げるととんでもない時間がかかって、使い物にならないらしいけどね……

http://www.canon-sales.co.jp/canoscan/lineup/8400fv/spec.html

http://www.j-deal.com/wts/goods_html/D0430.html
OK キャンセル 確認 その他