メモリを交換したわけですが、3GBもあります。
ぶっちゃけ無駄すぎますね。というわけで贅沢すぎて試す気にならなかったRAMDiskを試してみた。
一般的には、32bit版OSにも関わらず4GB以上のメモリを取り付けて、
OSの管理できない領域のメモリをRAMDiskに転用するという、
贅沢な技術です。
最近ではこういうことをする人も多いから情報も多いと。
なのでせっかくだからやってみた。
なんでこんな考えが出てきたかというと、foobar2000のWMA変換のためです。
foobar2000は非常にいろんな形式を開くことができます。
プラグインのおかげですね。
しかし、変換は本質的にはWAVE、AIFF、AUなど無圧縮の形式しか使えない。
逆に言えば聴けるものはなんでもWAVEなどに変換できると言うことです。
それで、MP3への変換ですが、LAMEと組み合わせて簡単にできます。
lame.exeはRareWareのLAME Bundlesよりダウンロードして、適当な場所に配置。
それでfoobar2000のPreferencesのToolsのConverterでAdd Newとする。
Customを選択し、Encoderに配置したlame.exe、Extensionにmp3、
Parametarsに、-b 128 – %d などと書く。128はビットレート。
他にもいろいろあるけど大切なのは最後に-と%dと書くこと。
-は入力は標準入力より行うこと、%dは出力ファイルをあてはめてくれるということ。
これで、適当な名前を定めて、トラックで、右クリックしてConvertのConvert toで、
さっき選んだものを使うと。これで変換できます。
foobar2000は無圧縮のデータをパイプでlame.exeに渡して、lame.exeは結果をMP3とすると。
パイプというのはメモリ上でデータの受け渡しをすること。
そのため比較的安定して使えます。
それでWMAへの変換なのですが、これはWindows Media Encoderの機能を使います。
EncoderはC:\Program Files\Windows Media Components\Encoder\wmcmd.vbsのようなもの。
Windows Media Encoderの変換スクリプトを使うんですね。
Extensionはwmaで、Parametarsが -input %s -output %d -a_setting 96_44_2 であると。
96_44_2はビットレート96kbps、サンプリング周波数44kHz、2ch、すなわちステレオの意味。
実はWMAへの変換は無圧縮のデータをパイプで渡せません。
そのため一時ファイルが必要であると、これを%sとしてあてはめるとなってるわけです。
WMAへの変換はfoobar2000が無圧縮のWAVEを一時ファイルとして作成し、
これを変換するようにスクリプトを動作させ、終了後これを削除すると。
まぁそのためHDDがやたらガリガリ鳴ります。
それで作業時間がかなり不安定であると。ディスクの読み書き速度に左右されるから。
この一時ファイルをRAMDiskに置けばよいのではと思ったと。
そのためには出力フォルダをRAMDiskにすればいいんです。
さて、RAMDiskの作成ですが、いいツールがあります。
Gavotte Ramdisk まとめWIKIにおいて説明されているわけですが、
Gavotte RAMDiskというものです。
ダウンロードして展開して、ram4g.regを実行。これでインストール(?)完了。
それで、ramdisk.exeを起動して設定。Install Ramdiskをクリックすれば設定できる。
Disk Sizeですが、僕は256MBにしました。適当な容量を定められると。
ただしOSが管理できない領域よりも小さな容量を設定した場合、管理できない領域の容量となる。
まぁ僕の場合は全部管理できてるから自分で容量を定めればOKです。
これで再起動すればRAMDiskが作られています。
性能ですが、多少よくなりました。
16曲変換したときの結果ですが、
HDDに一時ファイル・出力ファイルを置いた場合は4分57秒かかりました。
RAMDiskに一時ファイル・出力ファイルを置いた場合は4分19秒かかりました。
この結果によれば13%の時間の節約になっていると。
HDDの場合、CPUの使用率が著しく下がる時があるんですよ。
RAMDiskの場合、そうなることはなかったように思います。
まぁ結構安定していると言うことです。
裏で変換させることが多いので結構いいかもしれません。
なお、LAMEを使ったMP3の変換は出力ファイルの場所を変えても大差なかった。
こちらは圧縮されたデータのみ書き出すから、かなり読み書きが少ない。
だからWMAの変換ほど大きな差は出ないと。
まぁこちらはメモリ上で無圧縮のデータを受け渡すというのをすでに実践してますからね。
他にRAMDiskの有効な使い方なんて思い浮かばないけどね。
Photoshopの一時ファイルとかあるけど、メモリ不足にならなければ意味ないし、
それもRAMDiskの容量が256MBと小さいから使い物にならないかなと。
特に高速で動作させたいプログラムがあるわけでもないしね。
とりあえず256MBのRAMDiskで、高速な音楽変換をいろいろやってみようと思う。