FAQ

この FAQ 以外に foobar2000 FAQ 日本語訳解説 があります。また各コンポーネントのFAQはComponentsページにあります。 一度目を通しておきましょう。

英語でのリソースは本家FAQ本家foobar2000 Wikiなどがあります。 開発状況など、最も多くの情報はHydrogenaudio Forums内にある公式フォーラムfoobar2000 Forumにあります。ほとんどの質問の答えは当ページの記事を検索することなどで見つかるでしょう。


v0.8 → v0.9 の変更点など

v0.9 まとめを参照

インストール・日本語化

旧バージョンの foobar2000 が欲しいのですが、どこにありますか?

右上の緑の矢印をクリックすることでダウンロードできます。ほかのバージョンをダウンロードしたい場合は右のメニューからダウンロードしたいバージョンを選択してください。

v0.9.5.5 以前の foobar2000 をレジストリを使わずにインストールするには

Portable foobar2000を使ってみてください。 正式版との違いは、

なお、v0.9.6 からは公式にポータブルモードが追加されています。

日本語化パッチを当てても日本語化されたように見えないんだけど

日本語化されるのは主にpreferences画面だけです。仕様によりメインメニューやコンテキストメニューは日本語になりません。 foobar2000本体にはwinampのようなダメ文字等の問題はありませんので、日本語化は必須ではありません。

アップデートの方法は?

上書きインストールするだけです。ただし、設定データなどが消えることがありますので、事前にバックアップをとっておくことを推奨します。 また、インストーラーでチェックを外したコンポーネントが以前にインストールされている場合に自動で削除されるわけではないので、不必要になったコンポーネントは手作業で components フォルダから削除しなければなりません。

Component のインストール・アンインストール方法は?

音量関連

Replaygainって何?

音楽ファイルを前もってスキャンしておくことで、音量を自動的に平均化するための技術。メタデータを利用して音量をそろえるため、元の音源データが変更されることはない。 Replaygain つかいかたにくわしい説明があります。

Replaygainを実行すると音量はそろうけどボリュームが小さすぎる。

Preferences -> Playback の Preamp - With RG info: の数値を調整することによって音量を上げることが出来るが、Replaygain は標準の89.0dBでクリッピングしないように調整されているので出来ればハードウェア側で音量を調節した方がよい。 また、Replaygain していないファイルとのあいだで音量差が出て困るという場合は Without RG info: の数値を低くしてバランスをとる。

関連:Replaygain つかいかた

再生関連

起動と同時に再生できますか?

v0.8 にあった Start playing on startup 設定が無くなってしまいました。/playオプションをつけて起動してください。 レジュームしたい場合は、Preferences -> Playback の Resume playback after restart を有効にします。

ランダム再生にしても何度も同じ曲が演奏される。

Menu -> Playback -> Random で行うランダム再生は演奏済みの曲を考慮しない純粋なランダム再生です。 Menu -> Playback -> Order -> Shuffle または Menu -> Playback -> Order -> Shuffle (v0.9.5~)でより高度なランダム再生が行えるようになります。

タブをまたいでの連続再生やランダム再生はできる?

v0.83では、連続再生に関しては、Playback -> Follow cursor をオンにしてfoo_scheduler を利用して適切に設定をすれば可能です。タブをまたいだランダム再生に関しては、これを実現するオプションやプラグインは現在のところないようです。 (Add to Playback Queueで次以降再生される曲を指定するとき、タブをまたいで指定すること可能。ただし、指定した曲がなくなるとなくなった時に再生した曲と同じタブ内で曲が再生される。)

今、再生中の曲がリストのどこにあるかわからない。

ステータスバーをダブルクリックする。-> 便利なショートカット もしくはショートカットキーやメインメニューに View > Columns Playlist > Activate now Playing を設定しておいて利用することも可能。

リストの中の曲をマウスで選択すると次にその曲が再生される。

Menu -> Playback -> Playback follows cursor がオンになっているとそのような動作になる。

mmsやrtspプロトコルのストリーミング放送は聞けますか?

標準のHTTP reader では http プロトコルのみしか対応していないので出来ません。mslive streaming supportを導入すれば利用出来ます。

少なくとも国内サイマルラジオ局のmmsプロトコルにも対応しているのをV1.1.16にて確認済みです。

ただし、http、mmsプロトコル共にasxファイルの最後が"</Ask>"だと認識されません。 その場合はテキストエディタなどで"</Ask>"を"/Asx>"に書き換える必要があります。 また、タイトルなどで日本語が書かれていても無視して指定されていないものとみなされますが、放送受信時に局から送られる情報に関しては正常に日本語表示されます。

MP3でギャップレス再生(曲間なしの再生)ができないファイルがある。

エンコーダによってはギャップレス再生できないMP3ファイルがあります。DSP Manager で Gap killerをactiveにすればそのようなファイルでも偽ギャップレス再生が行えるようになりますが、バッファをとるのでメモリ使用量は大きくなってしまいます。

CD上の圧縮ファイル音源を再生すると音飛びする

転送速度の遅いメディアからファイルを再生する際、読み込みが追いつかなくなってこのようになる場合があります。 Preferences -> Playback の Full file buffering の値を調節して、最初にファイルを全部読み込んでから再生を始めるようにしましょう。

*.zip.mp3形式のファイルの頭出しはできますか?

できません。対応されることは永久にないでしょう。*.zipにリネームしてください。

エクスプローラでダブルクリックしたファイルを、再生中の(アクティブな)プレイリストに追加したい

Windows の各拡張子(*.mp3など)の関連づけで、「Enqueue in foobar2000」を既定のアクションに設定する。なお、Generalで「Always send to playlist(このプレイリストに送る)」のチェックは外すこと。 Preferences > Shell Integration から設定します。

※チェックを入れたままの場合、特定のプレイリストに必ず追加される。

設定関連

3rd Party Components以外の設定に関するFAQ

ID3タグを認識してくれないファイルがある。

他のタイプのタグ情報が存在していないか確認しましょう。foobar2000 は ApeTagv2>ID3v2>ID3v1 という順でタグ情報を認識します。 仮に ID3v2 タグで情報を書きこんでいても、ApeTagv2 が存在している場合、ApeTagv2 の方が優先度が高いため ID3v2 タグの情報は読み込まれません。

例えば MP3Gain を使用して Replaygain 情報を書きこんでいた場合、MP3Gain は ApeTagv2 で Replaygain 情報を書きこむため、ID3v2 タグの情報は foobar2000 上では反映されないことになります。 MP3Gain と foobar2000 を併用する方法はいくつかあります。

関連:foobar2000とタグについて?

foobar2000の最小構成は?

foobar2000.exe、shared.dll、foo_ui_std.dllなどのUIコンポーネントがあれば起動します。 このほかデコードにはInputコンポーネント、出力にはOutputコンポーネントが必要になります。

設定をバックアップしたいんだけどどのファイルを保存すればいい?

基本的には、

この二つを丸ごとバックアップすればよい。後者をバックアップし忘れるケースが多いので注意。 (設定ファイルなどをインストールフォルダに入れるように設定している場合は、C\Documents and Settings\ユーザー名\Application Data\foobar2000 をバックアップする必要はない) そのほか一部のコンポーネントは独自の設定ファイル・レジストリを使用していることもあるので、念のためにそれらもバックアップしておいたほうが無難。

なお、不安定なコンポーネントなんかを導入している場合は、foobar2000 本体のインストールフォルダ、または C\Documents and Settings\(ユーザー名)\Application Data\foobar2000 にある

この2つのファイルを定期的に保存しておいた方がよい。 両方のディレクトリにこれらのファイルがある場合は、現在使っているほうをバックアップする。どちらを使っているか分からない場合は、ファイルの更新日時で判断しよう。

関連づけを変更したい。

Preferences -> File types で変更しましょう。 Preferences > Shell Integration からの設定に変更になりました。

Playlist の表示をカスタマイズしたい。

Title formatting Help の日本語訳を参考にして、Preferences -> Display -> Title formatting 以下の設定を編集しましょう。

最小化したままファイルを開く

Preferences -> General -> Bring to front when adding new files from commandlineのチェックを外す。 なお、/hideスイッチより、このオプションが優先され、このオプションより /showスイッチが優先される。(/hide < Bring(ry) < /show) (ただし、これは音楽ファイルを伴う起動の場合(foobar2000.exe /add <media file> /hide)で、 ファイルを伴わない起動(foobar2000.exe /hide)の場合には関係はない。(v0.9.5.1で確認)

関連:TitleFormatting

Playlist で日本語の横幅が合いません。

Preference - > Display - Double-width characters in title formatting の設定を Count double-width characters and ambiguous characters as two regular characters に変更した上で Playlist 表示用のフォント(Preferences -> Display - Dafault User Interface 右上の Playlist font...)を等幅フォントに変更する。 Double-width?には「Ignore」1つしか見えないですが選択してキーボードの下を押したりマウスのホイール回したり右にでる小さな▲▼ボタンを押すと切り替わります。

それでもずれる場合はフォントやフォントサイズを変更してみる(9pt,12pt など3の倍数のサイズでそろうことが多い)

使っているフォーマットによってはどう設定してもずれる場合がありますが、その場合は実際にフォーマットの中身を編集するしかありません。

関連:TitleFormatting, Display 解説?

プレイリストタブの多段表示はオフに出来ないの?

v0.8.2 からプレイリストタブの多段表示が可能になりましたが、プレイリストが多い場合はかなり見辛くなります。v0.9 現在、この多段表示をオフにするオプションはありません。 また、サードパーティーの UI コンポーネント Columns UI では多段タブ表示のオン・オフが可能です。

最小化した時、タスクトレイに入れたい

Preferences -> Display -> Default User Interface -> System notification area の Minimize to notification area にチェックを入れる。

音源データのフォルダを移動する場合、Media Library を再構築しなければならない?

File Operations を利用する。

ハードディスクのドライブレターが変わってしまい、そこに置いていた Media Library フォルダ内の曲が再生できません

現在(v0.9.6.2)、再スキャンや「File Operations による移動」を行わずに Media Library フォルダのパスを変更する方法はありません。以下にあなたが管理者権限を持つユーザーである場合の対策を記します。利用は自己責任で。

事前対策
UNC パスを使用する。
  • Media Library に追加したいフォルダを共有フォルダに設定し、Preferences の Media Library でマイネットワーク以下からそのフォルダを選択すると、たとえドライブレターが変わったとしても、(同じ名前の共有フォルダに設定し直しさえすれば、)再スキャンを行うことなく Media Library 内の曲が再生できます。
  • 環境によって差があるとは思いますが、一般に (共有フォルダの設定にかかる時間) < (スキャンにかかる時間) なので、頻繁にドライブレターが変わるような環境では大きな意味があるでしょう。
事後対策
diskpart などでドライブレターを変える。

foobarのサブディレクトリにある「dll」まで読み込んじゃうんだけどどうしよう?

拡張子を「dll」以外にする。たとえば「foo_input_std.dll」を「foo_input_std.dll_」のようにリネーム。 または、「.」から始まる名前のフォルダを作成し、そこに読み込まれたくないファイルを退避させる。

※ v0.9.5.3 からは"components" フォルダ以下の DLL のみを読み込むようになりました。

関連づけされたファイルを実行した際、常に特定のプレイリストに送られるようにしたい

Preferences > Shell Integration から設定します。 Always send to playlist: にチェックを入れ、送り込みたいプレイリストの名前を指定します。

foobar2000 を閉じたとき毎回 playlist をクリアするには?

解決策1: Playlist Clearを導入する。

解決策2: 一度プレイリストになにも登録せずに終了して、その後にfoobarをインストールしたフォルダ下のPlaylistsフォルダの中にある「?.fpl」というファイル(標準では000000000 - Default.fpl)のプロパティを開いて属性のところを読み取り専用にしておく。

解決策3: /command:"playlist/clear" オプションを付けて起動すれば、最後に終了したときにアクティブだった Playlist がクリアされる。

解決策4: Playlistsフォルダを削除して、代わりにPlaylistsと言う名前を付けた空のファイルを置くと常にPlaylistが無い状態で起動する。が、どんな副作用があるかは不明。

メニューやコンテキストメニューの表示順を整理したい。

Preferences -> Display -> Context menu からコンテキストメニューの整理ができる。メニューアイテムの整理は v0.8 では出来たのだが、v0.9 から出来なくなった。

キーボードショートカットにタブ、エスケープキーなどを設定したい

Preferences -> General -> Keyboad Shortcuts の Key 入力欄で右クリック→キー選択。

プレイリストの保存形式の違いは?

fpl
foobar2000の独自形式。バイナリなので、編集困難。Replaygain などのメタデータも全て保存される。もちろん他のプレイヤーとの互換性は無い。 関連 : fplファイルフォーマット
m3u
一般的なプレイリスト保存形式。Winamp を始め多くの他アプリとの互換性あり。中身は単にパスを並べただけのテキストファイルなので、普通のエディタで編集可能。
m3u8
m3u 形式の Unicode(UTF8)版。Unicode 対応のエディタで編集可能

fpl 形式は全てのメタデータを保存してくれる上、読み込みも非常に高速なので、他のアプリケーションとプレイリストをやりとりするとき以外は fpl 形式での保存をおすすめします。

Masstagger や File info ウィンドウのドロップダウンリストから不要なフィールド名を消したい。

消せません。設定を初期化する以外に方法はありません。

foobar2000 の曲ファイルなどのアイコンを追加、変更したい。

アイコンはフォーラムアップローダdeviantARTなどからダウンロードできます。

アイコンが変われば成功です。

トラブルシューティング

foobar(0.9~)で日本語が文字化けしてしまう。

まずAdvancedでタグの書き込みについて設定

音楽ファイル(フォルダ)をまとめて読み込んみ、1つを選択後、Propertiesで正しいタグ(日本語)を入力。適応させれば自動的に全て日本語になる。(同じ内容の場合)

foo_alacをインストールすると、iTunesで作成したMPEG-4 AACファイルをデコードできない

仕様。foo_alacをアンインストールすると元にもどる。

Databaseを有効にすると起動に時間がかかる

CPU負荷、メモリ使用量などが高い。

Track info Panel(mod版ではない通常版の方)を使用している場合、一部の環境で高負荷になるようです。設定で、

として下さい。使用していない場合は、以下の事も確認して下さい。

参考
再生時に非常に多くのシステムリソース(メモリやCPU)を消費します。

メニューバーを消してしまいました。どうすればPreferencesを開ける?

up357.png

foobar2000 でエンコードした mp3 を iTunes などに入れたらタイトルやアーティスト等の後ろに"□"が付いてしまうのですが…

Preferences > Advanced の Tagging - MP3 で、

この設定をし、再度エンコードする

up373.png

ただし、設定できるタグの名前や文字数に制限が加わることがあるので注意。

Vista でエクスプローラ上の 16 個以上のファイルを選択して右クリックしても Play in foobar2000 や Enqueue in foobar2000 が表示されない

バグ(?)です。v0.9.6 からこの問題は解決されています。

導入したコンポーネントが動作しない

以下の理由が考えられる。

  1. コンポーネントが foobar2000 のバージョンに合っていない
    • v0.9 系のコンポーネントは v0.9 系にしか使えない。そのコンポーネントをアンインストールし、v0.9 に対応したコンポーネントを探す。
  2. 動作に必要なファイルがない
    • コンポーネントによっては他のファイルを必要とするものがある。 wiki やダウンロードしたページにある解説、ファイルに付属していた説明書などをよく読むこと。
  3. 必要な動作環境を満たしていない
    • コンポーネントによっては CPU などに動作条件があったりする(SSE など)。 wiki やダウンロードしたページにある解説、ファイルに付属していた説明書などをよく読むこと。
  4. 同じ名前のdllが複数存在している。
    • foobar2000はcomponentsフォルダ以外のサブフォルダからもdllをロードするので検索などをして確認すること。
対処法
foobarのサブディレクトリにある「dll」まで読み込んじゃうんだけどどうしよう?

Vista/7でファイルがドラッグ&ドロップで追加できない。

インストール時、最後の画面でRun Foobar~のチェックを外して終了。それ以降も管理者権限で動かさなようにする。 原因はプレイリストのデータベースファイルが管理者権限が必要なところ(Program Filesとか)で作成されると、管理者権限がない時にデータベースの書き換えが出来なくなってしまうから。 設定をデフォルトでインストールするとProgram Files下にインストールされ、インストール画面からFoobarを実行すると管理者権限を持ったまま初回実行されるのでデータベースファイルがProgram Filesに作成されてしまう。 管理者権限を持たない状態で初回実行すれば、管理者権限が必要ない場所に作成されるので正常に動作する。また、インストール先を管理者権限の必要ない場所に指定すればこの問題はそもそも起きなくなる。

参考
エラーメッセージ一覧

その他

Component関連の不具合について

コンポーネント関連で不具合があったときは、とりあえずそのコンポーネントを外しましょう。それでも設定その他で問題が残る場合は、一度 foobar2000 をアンインストールしてから再インストールしましょう。

banlist について

公式フォーラム内にある Known problematic components のスレッドで問題を引き起こす可能性あるコンポーネントが挙げられています。このリストに挙げられているコンポーネントは説明をよく読んだ上で利用するようにして下さい。 また、このスレッドで banlist に挙げられているコンポーネントは問題のあるものとして標準の名前では読み込まれないようになっています。問題を理解した上で無理にでもこれらのコンポーネントを利用したい場合は適当な名前にリネームしてから Components フォルダに入れれば読み込まれるようになります。

foobar2000でPeerCastを使える?

拡張子".pls"と".m3u"をfoobarに関連付けすることで特に問題なくチャンネルを聴けます。ごくまれに再生されないというトラブルがありますが、その時は IEのインターネットオプションで履歴をクリアするか、IEのインターネットオプションで一時ファイルを削除することで聴けるようになることがあります。

配信する場合は Oddcastv3 foobar2000 plugin を利用します。 メタデータ(配信するファイルに埋め込まれているID3タグなど)はUTF-8エンコードで送出されますので、リスナー側のほとんどの再生プレイヤーで日本語表示が可能になります(foobar,Winamp2/5,QCDで確認)。 foobarの"Playback"→"DSP Manager"で、Oddcastv2をVolume Controlより上に配置することで、foobarでの設定音量に関係なく一定の音量で送信できます(配信側foobarで-100dbにしても、リスナーにはちゃんと音が聞こえている)。

コマンドラインからfoobarを操作する

foobar2000はメインメニューとコンテキストメニューの全てのコマンドをコマンドラインから操作することができます。foobar2000.exe /? で使用可能なコマンドラインオプションが表示されます。

コマンドラインオプション一覧

/add, /play, /pause, /playpause, /prev, /next 
/rand, /stop, /exit, /show, /hide, /config
/command:<menu command>
/playlist_command:<context menu command>
/playing_command:<context menu command>

/playlist_command: は選択している曲に対してコマンドを発行します。/playing_command: は演奏中の曲に対してコマンドを発行します。<menu command> の部分にはコマンド一覧 - Main Menu のスラッシュから右の部分を、 <context menu command> の部分にはコマンド一覧 - Context menu の行全体の部分を書き込んでください。

例えば Main Menu の "Playback/Volume Down" を実行するコマンドは

foobar2000.exe "/command:Volume Down"

になり、Context menu の "Convert/Convert to..." を選択している曲に実行するコマンドは

foobar2000.exe "/playlist_command:Convert/Convert to..."

になります。

なお v0.9.* では、デフォルトの状態では /command:<menu command> の <menu command> の部分でスラッシュを入れて階層を区別することはできません(例えば foobar2000.exe "/command:Playback/Volume Down" と書いても動作しない)。 この問題を解決するには foo_runcmd を導入してください。

Masstaggerをコマンドラインから操作することもできます。詳しくは foobar2000.exe /tag:help で。

ギャップレス再生について

[v0.9.6] Preferences ダイアログに Save All ボタンがないんだけど

表示はされませんが、「File > Save Configuration」という同等の機能を持ったメインメニューコマンドがあります。コマンドラインキーボードショートカットから使用しましょう。 その他にも以下のような「表示されないメインメニューコマンド」があります。

FileNext Playlist一つ次(Playlist tab では右、Playlist switcher では下)の Playlist をアクティブにする
Previous Playlist一つ前(Playlist tab では左、Playlist switcher では上)の Playlist をアクティブにする
Remove Playlistアクティブな Playlist を削除する
Rename Playlistアクティブな Playlist をリネームする
Reset Configuration設定(プロフィールディレクトリの playlists フォルダの中身、foobar2000.cfg、database.dat、database.fpl、theme.fth、PlaybackStatistics.dat*3 )をリセットする
Restartfoobar2000 を再起動する
Revert Configuration設定(プロフィールディレクトリの playlists フォルダの中身、foobar2000.cfg、database.dat、database.fpl、theme.fth、PlaybackStatistics.dat)を最後に保存した時の状態*4に戻す
Save All Playlistすべての Playlist を指定した場所に保存する。形式は fpl/m3u/m3u8 から選択。名前はそのまま
Save Configuration設定(プロフィールディレクトリの playlists フォルダの中身、foobar2000.cfg、database.dat、database.fpl、theme.fth、PlaybackStatistics.dat)を保存する
PlaybackFlush Playback QueueQueue をすべて消す
Replaygain: ...Replaygain の Source mode を変更する
Seek ahead by ...指定した時間だけ前方に移動する
Seek back by ...指定した時間だけ後方に移動する
Volume ...音量を変更する。幅は「Advanced > Playback > Volume step (dB)」に従う
ViewActivatefoobar2000 を最前面に表示する。キーボードショートカットから利用する場合は Global Hotkey にチェックを入れること
Activate or Hideトグル。キーボードショートカットから利用する場合は Global Hotkey にチェックを入れること
Hide最小化する
Show Now Playing現在再生中のトラックを表示(選択)する

私のfoobar2000が思い通りに動きません。

まずは落ち着いて、wikiをもう一度よく読んでみましょう。

参考

エラーメッセージ

各コンポーネントのエラーメッセージはComponentsページにあります。

unable to open item for playback (unsupported file format)

対応していない形式のファイルのため、再生できないという意味。考えられる理由としては、

  1. 再生するのに必要なコンポーネントを導入していない。
  2. 拡張子が対応していない。
    • 例えば拡張子が .wav の mp3 ファイルは foobar2000 では再生できない。
    • 解決策は、ほとんどの場合拡張子を変更するしかない。
  3. そもそも音楽ファイルでない。
    • 画像やテキスト、動画などは再生できない。音楽ファイルかどうか確認を。

Unable to open item for playback (Object not found)

ファイルが見つからず、再生できなかったという意味。ちなみに、メニューの Edit > Remove Dead Items を実行するとデッドリンクを削除できる。

Failed to load DLL: foo_xxx.dll, Reason: Multiple instances of DLL with the same file name found.

同じ名前のdllが複数存在している。foobar2000はcomponentsフォルダ以外のサブフォルダからもdllをロードするので検索などをして確認すること。

関連
foobarのサブディレクトリにある「dll」まで読み込んじゃうんだけどどうしよう?

Failed to load DLL: foo_xxx.dll, Reason: This component is missing a required dependency, or was made for different version of foobar2000.

必要なファイルが無いか、コンポーネントが foobar2000 のバージョンに合っていない場合に表示される。考えられる理由と対処法。

  1. コンポーネントが foobar2000 のバージョンに合っていない
    • v0.9 系のコンポーネントは v0.9 系にしか使えない。そのコンポーネントをアンインストールし、 v0.9 に対応したコンポーネントを探す。
  2. 動作に必要なファイルがない
    • コンポーネントによっては他にファイルを必要とするものがある。wiki やダウンロードしたページにある解説、ファイルに付属していた説明書などをよく読むこと。
  3. 必要な動作環境を満たしていない
    • コンポーネントによっては CPU などに必要な動作条件があったりする(SSE など)。wiki やダウンロードしたページにある解説、ファイルに付属していた説明書などをよく読むこと。

このアプリケーションの構成が正しくないため~

メッセージ内容

Failed to load DLL: foo_xxx.dll
Reason: このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。
アプリケーションを再度インストールすることにより問題が解決する場合があります。 

考えられる理由と対処法。

  1. 動作に必要なファイルがない
    • wiki やダウンロードしたページにある解説、ファイルに付属していた説明書などをよく読むこと。

metadb_error! n handle leaks.

foobar2000の終了に時間がかかった場合に表示される。failure.txtが作成されるが、比較的、このエラーによる害は無い事が多い。

Could not write info (Unsupported format or corrupted file) to: ~

何らかの原因でタグに情報が書き込めなかった場合に表示される。考えられる理由と対処法。

  1. WAV など、タグが書き込めないファイル形式である。
    • エンコードしてファイル形式を変えるか、cueシートを使う。
  2. ファイルが破損している。

Could not write info (Object not found) to:

元ファイルが移動または削除されていて、タグに情報が書き込めなかった場合に表示される。ちなみに、メニューの Edit > Remove Dead Items を実行するとデッドリンクを削除できる。

Windows 10 64bit で、WME9 Series x64 Edition を使う方法

foobar2000で、WMAのエンコードをするには、 Windows Media Encoder 9 (以下、WME9)を使いますが、64bitでは素直には動いてくれません。 まず、WME9 のインストールで、DirectX Media 8.1 以降が必要ですと言われて止まります。

Windows 10 には、DirectX 12 が含まれています。あえて、DirectX 8.1 Runtime for Windows 2000*5 を Windows 10 にインストールすることもできますが、同じメッセージが出て WME9 のインストールは中断してしまい、無駄に終わります。

WME9のインストール

そこで、WME9 のインストールは、全手動で行います。

参照:http://maumau-osora.blogspot.jp/2015/08/windows10windowsmedia9.html

DLL と declrds.ax の登録は、標準のファルダに導入したなら、次のコマンドを実行してください。regsvr32 でエラーが出た場合は、DOS窓を管理者として実行で開いてみてください。

regsvr32 "C:\Program Files\Windows Media Components\Encoder\wmEncEng.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\Fileinfo.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\mspshell.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\StreamEditor.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\WMdevctl.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\wmedque.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\WMEncEng.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\wmencloc.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\wmesrcwp.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\wmex.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\WMexfmwp.dll"
regsvr32 "C:\Program Files\Windows Media Components\Encoder\wmprevu.dll"
regsvr32 "C:\Windows\System32\declrds.ax"

WMCmd.vbs は非公式にバージョンアップされていますが、しなくても問題ないようです。

参考:http://windowsmemo.blogspot.jp/2010/04/windows-media-9.html

WME9 のインストールが出来たら、DOS窓でコマンドを実行してみて、正しく動作するか確認してください。

コマンドの例

cscript.exe "C:\Program Files\Windows Media Components\Encoder\WMCmd.vbs" -a_mode 2 -a_setting Q75_44_2 -input "inut filename.wav"-output "output filename.wma"

エラーの原因

さて、ここで、Converter 解説に従って、Converter の設定をしてファイルをコンバートしようとすると、

An error occurred while finalizing the encoding process (Object not found) : "D:\フォルダ名¥ファイル名.wma"
Conversion failed: Object not found

というエラーが出て、失敗します。WMCmd.vbs が新しいファイルの作成に失敗したため、Foobar2000 が新ファイルが見つからないと言っているのです。 原因を確認しましょう。次のバッチファイルを作成してください。とりあえず WMCmd.bat とします。*6 *7

@echo off
echo PROCESSOR_ARCHITECTURE is %PROCESSOR_ARCHITECTURE% > tmp.txt 2>&1
cscript.exe "D:\Users\WMEncoder64\WMEncoder64\Program files\Windows Media Components\Encoder\WMCmd.vbs" %* >> tmp.txt 2>&1

Encoderに作成したバッチファイルを指定し、Parameters

-a_mode 2 -a_setting Q100_44_2_16 -input %s -output %d

等とします。それで、適当なファイルをコンバートしてみてください。

ファイルの出力先(作業フォルダ)に tmp.txt が作成されているはずですので、開いてみましょう。次のようになっているはずです。

PROCESSOR_ARCHITECTURE is x86 
Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

Error: Cannot initialize Windows Media Encoder object. Please verify that
Windows Media Encoder 9 Series is correctly installed on your system.
If running 64-bit Windows, make sure that the version of cscript.exe used
corresponds to the version (x86/x64) of WME9 installed on your system.

これで、DOS窓では 64bit(x64)の cscript.exe が自動的に起動されるので上手くいくが、foobar2000 では 32bit(x86) の cscript.exe を起動するため、WME9 が実行できなかったことが分かります。 よって、64bit 版の cscript.exe で WMCmd.vbs を実行できるよう、工夫をします。

エラーの回避方法

次のバッチファイルを作成してください。とりあえず WMCmd2.bat とします。ディレクトリ等はご自分の環境に合わせてください。

@echo off
C:\Windows\system32\cscript.exe "C:\Program Files\Windows Media Components\Encoder\WMCmd.vbs" %*

WMCmd.bat(Encoder 用に作成したバッチファイル)を、次のように書き換えます。*8 *9 *11

@echo off
start /b /wait "2nd bat" C:\Windows\sysnative\cmd.exe /C ""C:\Program Files\Windows Media Components\Encoder\WMCmd2.bat" %*"
ping localhost -n 2 > nul

Components\Encoder\WMCmd2.bat" %*" Parameters は wmcmd.vbs のパラメータオプションだけを入力します。

設定例

Encoder file:C:\Program Files\Windows Media Components\Encoder\WMCmd.bat
Extension:wma
Parameters:-a_codec WMALSL -a_mode 2 -a_setting Q100_44_2_16 -input %s -output %d *12

なお、2つのバッチファイルに分けずに、一つで済まそうとすると、start のコマンドと cmd.exe のコマンドが混乱して、上手く Windows が処理してくれません。また、start を使わないと、foobar2000が WMCmd.vbs の処理を待たずに失敗します。


*1 Although it seems Nero isn't doing it the correct way
*2 同上
*3 Playback Statisticsがインストールされている場合
*4 Save Configuration を使っていない場合は前回終了時の状態
*5 リンク https://www.microsoft.com/ja-jp/download/details.aspx?id=10968
*6 簡単な解説1:「%PROCESSOR_ARCHITECTURE%」はアプリケーションが 64bit環境で動いているのか、32bit環境で動いているのかを示す環境変数
*7 簡単な解説2:「> tmp.txt 2>&1」は、全てのメッセージをテキストファイルに出力する
*8 簡単な解説3:「start /b /wait "2nd bat" コマンド」は、別プロセスでコマンドを実行します。「/b」はバックグラウンドで実行。「/wait」はコマンド終了までバッチファイルの処理を停止して待ちます。
*9 簡単な解説4:「C:\Windows\sysnative\cmd.exe /C コマンド*10」は、64bit版のコマンドプロンプトで、コマンドを実行します。
*10 簡単な解説5:コマンドは、全体を””で囲ってください。参考:http://tunemicky.blogspot.jp/2012/03/cmdexe-c.html
*11 簡単な解説6:「ping localhost -n 2」は、ディスクアクセスが間に合わずにエラーが出る場合があるので、ここで2秒間を時間を使います。秒数は環境に合わせて適当に増減してください。
*12 注意:「-a_codec WMALSL」は古い WMCmd.vbs の場合は -a_codec WMA9LSL

Last-modified: 2016-02-25 (木) 02:46:51 (820d)