2009年2月1日日曜日

LAMEをマルチスレッドで実行するフロントエンド(もどき) 大幅に更新 v1.4a

09.07.26 追記
Multi thread Media Encoder Frontend(マルチスレッド対応 マルチフロントエンド)をリリース。
マルチスレッド対応 lameフロントエンド (もどき)より、
高性能で安定性も高い…と思う。
GUIも付いたので、マウスだけでも操作できます。
http://mtmef.g.hachune.net/


ここより下の情報は古いです…(´・ω・`)スマソ



lameマルチスレッドエンコードフロントエンド(もどき)を、大幅に修正してみた。

特に大きいのは、
ディレクトリ選択操作の効率が80%うp!(当社比)
したこと。
(あくまで感想であり、実際に効果があるかは(ry )

言ってしまえば、
「今までのバージョンDLして使っちゃっている人、もしいたら、ごめんね…」
なぐらいの変化が。

変更点や特徴などは以下の通り。

特徴

  • lameのエンコード処理を並列して行うことができ、Corei7などのマルチコア・マルチスレッドCPUも有効に使える。
  • ディレクトリごとに一気にエンコードが可能。
  • 一度設定するだけで2回目以降の設定は不要。
  • wav→mp3変換とmp3→mp3変換に対応。
  • Rubyがインストールしてあれば、Windows、Unix、Linux、MacOSXなどの、どんなOSでも使用することができる。 →Windowsの場合は、Rubyが無い場合も動くようにした。
  • Cygwinなどは必要ない。
  • プロセスを多重起動しているだけなので、音質に影響するということがない。
  • 大量のファイルを登録しても、登録エラーなどが発生しない(ハズ)
  • エンコードのログを残せる。
  • エンコードにかかった時間を計測できるようにしたので、ファイルやlameバイナリを統一すれば、mp3エンコードのベンチマークとして使える…かもしれない。

1.3からの変更点

  • ディレクトリ選択まわりを大幅に修正。
  • ディレクトリ名を打ち込む必要を減らした。
  • .Wav、.WAVなどの拡張子のファイルも扱えるようにした。

解決していない問題

  • LameのShift-Jisダメ文字問題が回避できていない。
  • mp3ファイルの再エンコードが終了しないとwavファイルのエンコードを開始できない。
  • mp3の再エンコードのみを行うことができない。
  • CUIである。
  • ディレクトリごとにしかエンコードできない(ファイルを個別にエンコードすることはできない)
今回は、簡単な操作の説明をしてみようと思う。 1. 設定ファイルの作成 lameエンコード時に付けるオプションや、このフロントエンド(もどき)の処理に関する設定をファイルに書き出す。 詳細はreadme.txtあたりで。 2. 再実行し、一覧を表示するディレクトリ(カレントディレクトリ)を選択する 画像は、"/l"でディレクトリの中のファイルのリストを表示してみたところ。 3. 選択したカレントディレクトリの中にあるディレクトリのリストの表示 設定ファイル作成時に「一度に表示するディレクトリリスト一覧の数」で入力した数の分ずつ、リストが表示される。 ディレクトリ名に対応するNumの値を入力することで、flagが立ち、 flagが立っている状態で"q"で終了すると、そのディレクトリがエンコードリストに登録される。 nで次のページ、bで前のページを見ることができる。 "l 7"で、この画像の場合はディレクトリ「歌に形はないけれど - doriko」の中を表示することができる。 4. "l 7"を入力した結果 ディレクトリ「歌に形はないけれど - doriko」の中身が表示される。 5. 選択したいディレクトリに対応する番号を入力し、flagを立てる ここでは、Debutante3、歌に形はないけれど、少女の空中庭園のディレクトリを選択してみた。 6. 選択し、"q"を入力すると、選択されたディレクトリ一覧が表示される 2のカレントディレクトリの選択まで戻るので、別のところから追加する場合は"/c"やら/..でカレントディレクトリを移動し、3~6の手順を繰り返せばおk。 多重登録などは発生しないようにしておいた。 エンコードしたいディレクトリの選択が終わったら、 カレントディレクトリ選択メニューのところで"/q"でエンコード処理に進める。 7. 後はエンコードが終わるのを待つだけ ファイルの上書きをしなければならないときは、一応問い合わせるようにしてある。

必ず必要なもの

Windowsでは、One-Click Ruby Installerを使用するのが良いかと思う。
One-Click Ruby Installer for Windowsは以下で入手できる。
http://rubyforge.org/frs/?group_id=167

プログラム本体は、今回もSkyDriveからダウンロードできるようにしておいた。  

旧バージョンの管理が大変なので、全てMulti thread Media Encoder Frontendに纏めました。
http://mtmef.g.hachune.net/  

  ダウンロードしたら、右上の投票でもしてくれると、誰かがダウンロードしてくれたのかな~とすぐ分かって嬉しい。

ソースがかなり長くなってきて、処理も複雑になってきたので、デバッグし切れないところが… もしエラーや問題などが発生したら、報告してもらえると助かるんだ…(´・ω・`)
相変わらず、gdgdで非効率なソースですまない…(´;ω;`)ブワッ
私、期末テスト期間中なんだけどなぁ… …まぁいいか。  

0 件のコメント: