Foobar2000:Components 0.9/Command-Line Decoder Wrapper (foo input exe)

From Hydrogenaudio Knowledgebase
Jump to: navigation, search


The Command-Line Decoder Wrapper lets allows you to play almost any otherwise unsupported audio format through foobar2000. All you need is a standalone command-line decoder executable that converts your files to one of the supported formats, such as WAV. Such decoders are available for nearly every audio format in existence.

In certain cases, the Command-Line Decoder Wrapper is a superior alternative to the available native foobar2000 decoders if the native decoders are plagued by bugs; this component is inherently multi-instance safe and makes foobar2000 immune to crashes caused by buggy decoders.


When decoding to temporary files (%d): Because the whole file is decoded in advance before playback can proceed, this component is relatively slow. You might want to increase your playback buffer length (in Preferences / Playback / Output).

When decoding via stdout (no %d): Cannot seek within the decoded stream due to the nature of the process; the file will play as non-seekable (though playback should start instantly in most cases).


Before using, you must configure the component for use with specific decoders. The decoder configuration page consists of four fields:

  • Format name
    • The name you wish to refer to the format by. It will be reported in %codec% of relevant files.
  • Decode command
    • The command line to execute when decoding your files. Refer to the individual decoder's manual for details.
    • Use %s to specify the source file and %d to specify the destination file. If you do not include %d, foobar2000 will expect the decoder to write to stdout.
    • Example command line for decoding TAK files: "takc -d %s %d"
  • File type mask
    • A wildcard-pattern that defines what files should be fed to this decoder.
    • Example: *.TAK for TAK files.
    • Multiple patterns may be specified per one decoder, delimited by semicolon.
    • This is intentionally kept separate from "format name" to allow alternate extensions and prefix extensions.
  • Decoder output format
    • Format (to be exact: file type extension) that this decoder produces.
    • This value should be set to WAV (the default) in most cases. Some exotic decoders may only support decoding to another format, hence this has been made configurable.

Use the bottom pane of the preferences page to specify folders containing your decoder binaries. If your binaries are present in %PATH%, there's no need to do so.

Tag handling

Only reading of tags is currently supported. Decoded files are examined for popular tag types: ID3v1, ID3v2, APEv2.

Tag writing is not supported or else the component could be configured to damage your files without any further warning.