roc-conv OPTIONS


Read audio stream from a file, transform it, and and write it to a another file.


-h, --help Print help and exit
-V, --version Print version and exit
-v, --verbose Increase verbosity level (may be used multiple times)
-L, --list-supported
 list supported schemes and formats
-i, --input=FILE_URI
 Input file URI
-o, --output=FILE_URI
 Output file URI
 Force input file format
 Force output file format
 Duration of the internal frames, TIME units
-r, --rate=INT Output sample rate, Hz
 Disable resampling (default=off)
 Resampler backend (possible values=”builtin” default=`builtin’)
 Resampler profile (possible values=”low”, “medium”, “high” default=`medium’)
--poisoning Enable uninitialized memory poisoning (default=off)
--profiling Enable self profiling (default=off)
--color=ENUM Set colored logging mode for stderr output (possible values=”auto”, “always”, “never” default=`auto’)

File URI

--input and --output options require a file URI in one of the following forms:

  • file:///ABS/PATH – absolute file path
  • file://localhost/ABS/PATH – absolute file path (alternative form; only “localhost” host is supported)
  • file:/ABS/PATH – absolute file path (alternative form)
  • file:REL/PATH – relative file path
  • file://- – stdout
  • file:- – stdout (alternative form)


  • file:///home/user/test.wav
  • file://localhost/home/user/test.wav
  • file:/home/user/test.wav
  • file:./test.wav
  • file:-

The list of supported file formats can be retrieved using --list-supported option.

If the --output is omitted, the conversion results are discarded.

The --input-format and --output-format options can be used to force the file format. If the option is omitted, the file format is auto-detected. This option is always required for stdin or stdout.

The path component of the provided URI is percent-decoded. For convenience, unencoded characters are allowed as well, except that % should be always encoded as %25.

For example, the file named /foo/bar%/[baz] may be specified using either of the following URIs: file:///foo%2Fbar%25%2F%5Bbaz%5D and file:///foo/bar%25/[baz].


Convert sample rate to 48k:

$ roc-conv -vv --rate=48000 -i file:input.wav -o file:output.wav

Drop output results (useful for benchmarking):

$ roc-conv -vv --rate=48000 -i file:input.wav

Input from stdin, output to stdout:

$ roc-conv -vv --input-format=wav -i file:- --output-format=wav -o file:- >./output.wav <./input.wav


roc-recv(1), roc-send(1), the Roc web site at


Please report any bugs found via GitHub (


See authors page on the website for a list of maintainers and contributors.