Multi thread Media Encoder Frontend(マルチスレッド対応 マルチフロントエンド(もどき))をリリース。
マルチスレッド対応 lameフロントエンド (もどき)より、
高性能で安定性も高い…と思う。
GUIも付いたので、マウスだけでも操作できます。
http://mtmef.g.hachune.net/
ようやくいろんなレポートが片付いてきたので、lameをマルチスレッドで実行するプログラム v1.2を修正・改良してみた。
今回は、ログの作成機能を主に追加してみた。
特徴
- lameのエンコード処理を並列して行うことができ、Corei7などのマルチコア・マルチスレッドCPUも有効に使える。
- ディレクトリごとに一気にエンコードが可能。
- 一度設定するだけで2回目以降の設定は不要。
- wav→mp3変換とmp3→mp3変換に対応。
- Rubyがインストールしてあれば、Windows、Unix、Linux、MacOSXなどの、どんなOSでも使用することができる。
- プロセスを多重起動しているだけなので、音質に影響するということがない。
- 大量のファイルを登録しても、登録エラーなどが発生しない(ハズ)
- エンコードのログを残せる。
- エンコードにかかった時間を計測できるようにしたので、ファイルやlameバイナリを統一すればベンチマークとして使える…かもしれない。
1.2からの変更点
- ログを残せるようにした。
- エンコードにかかった時間を計測できるようにした。
- エンコードに失敗した場合、通知するようにした。
- 同じファイルを2回以上エンコードしてしまうかもしれない問題を修正。
- その他、様々な問題を修正。
解決していない問題
- Unix系OSでの拡張子の大文字・小文字問題(.WAV、.wAv等が処理できない)
- mp3ファイルの再エンコードが終了しないとwavファイルのエンコードを開始できない。
- mp3の再エンコードのみを行うことができない。
- ディレクトリ名を打ち込むのが果てしなく面倒くさい。 … v1.4で解決する予定。
1スレッド: 158秒
2スレッド並列: 72秒
3スレッド並列: 45秒
4スレッド並列: 33秒
5スレッド並列: 31秒
6スレッド並列: 31秒
7スレッド並列: 35秒
8スレッド並列: 35秒
バックグラウンドで仮想マシンやら何やら、大量に動いている状態で実験したので、ベンチマークの結果としては微妙だが、 クアッドコアの性能が十分に生かされている………と思う。
しかし、その過程で、「鏡音レンの暴走.wav」がエンコードできないという問題が発生。 …lameのshift-jis ダメ文字問題のことをすっかり忘れていた…
今回も、Windowsでは全てOne-Click Ruby Installerを使用。 One-Click Ruby Installer for Windowsは以下で入手できる。
http://rubyforge.org/frs/?group_id=167
英語のインストーラーしか無いが、全部デフォルト設定でおkなので困ることはないと思う。
プログラムの本体はいつも通りゲイシドライブからダウンロードできるようにしてみた。
旧バージョンの管理が大変なので、全てMulti thread Media Encoder Frontendに纏めました。
http://mtmef.g.hachune.net/
0 件のコメント:
コメントを投稿