2012年04月

USB 3.0 機器を導入した(with トラブル)

ヨドバシに行ったら、USB 3.0 メモリが 8GB 1,480 円で売られていた。60MB/s のスピードが出ると書いてあったので、安さもあってつい買ってしまった。PC の USB 3.0 ポートが背面にあるので、USB 3.0 ハブも同時購入。

実際の速度はどのくらいかな? とわくわくしながら USB 3.0 メモリをパソコンに挿してみたが、なんと認識しない。ポートに挿すとアクセスランプが少しの間点滅するのだが、ドライブとして認識されない。ハブ経由をやめて USB ポート直挿しにしてみても症状は改善せず。

USB 3.0 メモリを、USB 2.0 ポートに挿すと使えた。また、USB 3.0 ポート+USB 3.0 ハブに、USB 2.0 メモリを挿しても使えた。なので、USB 3.0 メモリや USB 3.0 ハブが根本的に壊れているというわけではないらしい。

PC の環境はマザボが P7P55D-E、OS は Windows 7 64 ビット。ネットを見ていると、USB 3.0 コントローラーのファームウェアをバージョンアップすると解決するという事例があったので、ASUS のサイトで「NEC USB3.0 Controller firmware updater V3.0.2.1 for Windows XP / Vista / Win7 32&64bit」をダウンロード&インストール。しかし解決せず。

マザボの BIOS がだいぶ古く、更新履歴を見てみると USB 関連の fix もあるようなので、最新の 1504 にしてみた。ASUS は BIOS アップデートが簡単で、解凍した BIOS イメージを USB メモリに入れ、BIOS セットアップメニューから BIOS アップデートツールを起動し、USB メモリの BIOS イメージを読み込めば良い。

が、ここで一大トラブル発生。なんと Windows 7 が起動不能に。BIOS の設定をデフォルトにしても、外付けの機器を外しても起動不能。自動修復も効かず。

BIOS をダウングレードして元に戻そうと、BIOS アップデートツールを起動し、別の PC でダウンロードした古い BIOS をセットしてみたところ、「BIOS のバージョンが現在よりも古い」と言われてダウングレードできない。バージョン古いのは知ってるんだってば! 古いのにしたいんだってば! ASUS さん、ダウングレードにも対応して下さい……。

セーフモード(F8 キー起動)で Windows を起動しても起動しないが、ログを眺めていると、バッファローの RAM ディスクドライバ(Windows\System32\Drivers\BFRD4G.sys)で起動が止まっている。どうやらこれが起動不能の原因らしい。Haiku OS R1/Alpha 3 を USB メモリで起動し、当該ドライバファイルを削除したところ、無事に、Windows 7 が起動。一旦、再度 RAM ディスクドライバをインストールした後、再起動せずに直ちにアンインストールすることにより、正式に RAM ディスクドライバをアンインストール。

しかし、トラブルは乗り越えても、依然として USB 3.0 メモリが使えない。

が、USB ドライバのインストールでようやく解決。Windows 曰く、USB ドライバは最新とのことだったので、ASUS のサイトのドライバを入れてもダメだろうな、と思っていたが、「NEC Electronics Corporation USB3.0 Controller Driver V1.0.19.0 for Windows 32/64bit XP & 32/64bit Vista & 32/64bit Windows 7.(WHQL)」をインストールすることにより、USB 3.0 メモリを認識できるようになった。

やれやれ。

RUF3早速、USB 3.0 ポートに USB 3.0 ハブと USB 3.0 メモリ(バッファロー RUF3-C8G)を挿して、USB 3.0 メモリの速度を測ってみた。

すると、なんと 91MB/s の速度を達成! 公称は 60MB/s なので、実に 1.5 倍の速度が出ている。

シーケンシャルリードは HDD の速度に近く、ランダムリードは HDD を遙かに超えてどちらかというと SSD の領域。ライトは遅いけれども。

RUF3-2同じ USB 3.0 メモリを、USB 2.0 のポートに挿して速度を測ってみた。

当然ながらスピードはがくっと落ちる。やはり USB 3.0 は速い。

Delphi 用 RS-232C コンポーネントを C++Builder XE で使う

Delphi(および C++Builder の旧バージョン)で手軽に RS-232C(COM ポート)を使うためのコンポーネントに ComPort Library(TComPort)がある。C++Builder XE でも何とか動作したので、やり方を整理しておく。

【実行時パッケージの作成】

  • すべてのプロジェクトを閉じた状態で、[ファイル→プロジェクトを開く]メニューにて、ComPort Library の Source フォルダにある CPortLibCB6.bpk(C++Builder 6 用)を開く。
  • 自動的にプロジェクトが C++Builder XE 用に変換される。
  • ビルド構成を Release にする(右側のプロジェクトマネージャーペインで選択)。
  • メイクすると、CPortLibCB6.bpl ができあがる。


【設計時パッケージの作成】

  • [ファイル→プロジェクトを開く]メニューにて、DsgnCPortCB6.bpk を開く。
  • 実行時パッケージと同様にメイクし、DsgnCPortCB6.bpl を得る。

【パッケージのインストール】

  • CPortLibCB6.bpl を Windows のシステムライブラリフォルダ(Windows 7 64bit なら C:\Windows\SysWOW64)にコピーする。
  • [コンポーネント→パッケージのインストール]メニューにて、追加ボタンをクリックして DsgnCPortCB6.bpl を追加する。デフォルトにチェックを入れると毎回設定しなくて良いだろう。

【ComPort Library を利用するアプリケーションのメイク】

  • ツールパレットペインに「CPortLib」タブが増えていて、その中の TComPort をフォームに貼り付ければ RS-232C にアクセスできるようになる。
  • [プロジェクト→オプション]メニューで、ディレクトリと条件定義→ライブラリパスに、CPortLibCB6.bpl/DsgnCPortCB6.bpl のパスを追加する。
  • [プロジェクト→オプション]メニューで、ディレクトリと条件定義→条件定義に DONT_USE_WINSPOOL_SETPORTA を追加する。
  • winspool.h(include\windows\sdk 等にある)を開き、SetPortA/SetPortW を宣言している箇所を、#ifndef DONT_USE_WINSPOOL_SETPORTA~#endif で挟む
  • CPort.hpp をインクルードする。
  • CPort.hpp を開き、inline じゃない方の EComPort() の宣言 2 つをコメントアウトする。

以上でビルドができる。



≪参考≫

GPS ロガーと Portmon for Windows

GPS ロガー(GT-730FL-S)のデータを自力で取ってこれたら面白いかも、と思ったのだが、どういうコマンドを出せば良いのかが分からない。

GT-730FL-S のデータシート PDF を見ると、「See Binary Message Protocol User’s Guide for detailed descriptions」と書いてあって、それを見ればプロトコルが分かりそうなのだが、User's Guide を見つけることができなかった。

仕方がないのでデータの流れをモニターしてみようかと思ったら、ツールを動かすまでにすでに一苦労。最終的には動いたが……。

COM ポート(シリアルポート)に流れるデータをモニター(キャプチャー/スニファ/スパイ)する Portmon for Windows というツールを Microsoft が配布している(フリーのツール)。

Portmon_AfterLaunch現時点での Portmon のバージョンは 3.03。起動すると、管理者権限を要求された後にウィンドウが開く。

Microsoft のサイトには、「実行すると、すぐに Portmon でデバッグの出力のキャプチャが開始されます」と書いてあるが、起動しても、タイトルバーに「Not Connected」と表示されてキャプチャされる気配が無い。「Capture Events」メニューもグレーアウトされているし、ポートも選択できない。

Windows 7/64 bit に対応していないのかもしれない(少なくとも旧バージョンは対応していない)と思って、VMWare の Windows XP で動かしてみたけど、結果は同じ。

他のサイトの説明だと、まず「Computer」メニューでローカルマシンに接続する必要があると書いてあるのだが、そもそも Computer メニューが無い。バージョンアップして無くなったのだろう。しかししそれでは、一体どうやってローカルマシンに接続するのか……。

というわけで、Ver 3.03 の使い方をご存じの方は教えて下さい……。

Ver 3.03 は諦め、ここに置いてあった Ver 3.02 を動かしてみた。

今度はちゃんと「Computer」メニューがあるが、Windows 7/64bit だと、「Connect Local」しようとすると「Error 6」と表示されて接続できない。

そこで、VMWare の Windows XP 上で Portmon を使うことにする。

  1. VMWare の仮想マシンメニューの取り外し可能デバイスで、「Prolific usb-serial controller d」を接続する→仮想マシンで USB ブリッジ COM ポートが使えるようになる
  2. デバイスマネージャーで USB ブリッジ COM ポート(Prolific USB-to-Serial Comm Port)の通信速度を 38400 にする
  3. Portmon 3.02 を起動する。
  4. [Capture→Ports→(Prolific ポート)]で USB ブリッジ COM ポートのチェックを入れてキャプチャ対象にする
  5. [Capture→Capture Events]でキャプチャを開始する
  6. GT-730FL-S の電源を入れて、物理マシンの USB ポートに挿す
  7. GPS Photo Tagger で GT-730FL-S にアクセスすると、Portmon に通信内容が溜まっていく
Portmon_XPようやく準備ができた……。

ちなみに、XP には PL-2303 ドライバは入れなくても大丈夫なのではないかと思う(試行錯誤の中で入れてしまったが)。



SD カード速度比較

※更新しました。こちらをご覧ください。

手持ちの SD カードファミリーの、読み込み&書き込み速度を CrystalDiskMark で測定してみた。

SD カード型番Seq/RSeq/W4K/R4K/WCDM
ADATA microSD Class4 (4GB)AUSDH4GCL4-RA120.48 (-)
5.291 (-)
3.6561.0463.0 x64
Kingston microSD Class10 (16GB)SDC10/16GB19.28 (-)
16.74 (-)
2.6380.0193.0 x64
東芝 SD (2GB)SD-M02G19.0110.853.0260.0273.0 x64
Transcend microSD Class10 (8GB)TS8GUSDHC1019.85 (20)
20.03 (-)
2.7560.0123.0 x64

  • Seq/R……シーケンシャルリード [MB/s]。括弧内は公称値。
  • Seq/W……シーケンシャルライト [MB/s]。括弧内は公称値。
  • 4K/R……ランダムリード 4KB [MB/s]。
  • 4K/W……ランダムライト 4KB [MB/s]。
  • CDM……CrystalDiskMark のバージョン。

測定サイズは 100MB。測定はミヨシ製カードリーダーライター USR-MLT/WH にて、アダプタ経由で実施。Kingston の SDC10/16GB のみ、アダプタ無しでも測定してみてアダプタ経由と比較してみたが、結果は変わらなかった。

シーケンシャル読み込みはどれもほとんど変わらないが、シーケンシャルライトは Class10 組が勝っている。

ちなみに、SDHC カードの Class 表記は、「書き込み」を行う際の MB/s 単位での速度。例えば、Class10 なら 10MB/s 以上の速度で書き込みできることを保証する。

※USB メモリの速度比較はこちら

うたりす Ver 4.1 SP をリリース

うたりす256歌唱 WAVE のピッチ情報・音量情報を取り出し、UTAU 調教に反映させるプラグイン、「うたりす」の最新バージョンを公開します。

今回のバージョンアップにより、以下のような画期的な機能が搭載されました。

≪進化点 その 1≫ キネクトと連携

これまでのうたりすは、歌唱 WAVE から表情を抽出していましたが、今回のバージョンアップで、「人間の動き」からも表情を抽出できるようになりました。

キネクト(Kinect)をパソコンに繋いでアクションすると、UTAU の調教に反映されます。

例)
  • 怒りを込めてパンチ……力強い調整になります。歌い上げたい箇所では、パンチを連打しましょう。秒間 16 連打に達すると新たな領域が開けます。
  • 優しさを込めて愛撫……まろやかな調整になります。とろ~り甘い雰囲気も良いですね。

≪進化点 その 2≫ 仮想キネクトデバイスを内蔵


キネクト持ってない!

そんなあなたも心配無用です。うたりすは仮想キネクトデバイスを内蔵しているので、キネクトが無くても使えます。


≪進化点 その 3≫ 動物の鳴き声対応


ペットを飼っているあなたに朗報です。動物の鳴き声を歌唱 WAVE として与えることにより、うたりすが表情を読み取り、UTAU に反映させます。

にゃん! にゃお~ん、んにゃん、微妙な違いをくみ取ります。

ペットを飼っていない方は、狩ってきて下さい。


※動作確認は、りすの鳴き声のみで行っています。


≪進化点 その 4≫ 多種多様な音声フォーマットに対応


これまでのうたりすは WAVE ファイルしか読み込めませんでしたが、サポートする音声ファイルのフォーマットを大幅に増やしました。

  • MP3 ファイル……説明不要の定番フォーマットですね。
  • SPC ファイル……スーパーファミコンの音声ファイルです。あの名作の BGM を、UTAU に取り込みましょう!
  • STR/XA ファイル……PlayStation の音声ファイルです。あの名作(ry
  • MDX ファイル……X68000 の音声ファイルです。あの名作(ry


【ダウンロードはこちらから】


アーカイブ内の UTALis.exe を起動して下さい。

※重音テトでサンプルボイス入れてあるけど、Windows XP だと音声が再生されないかも…… ^^;


月別アーカイブ
記事検索
最新コメント
  • ライブドアブログ