def build(self, input_filepath, output_filepath, extra_args=None,<EOL>return_output=False):
file_info.validate_input_file(input_filepath)<EOL>if output_filepath is not None:<EOL><INDENT>file_info.validate_output_file(output_filepath)<EOL><DEDENT>else:<EOL><INDENT>output_filepath = '<STR_LIT>'<EOL><DEDENT>if input_filepath == output_filepath:<EOL><INDENT>raise ValueError(<EOL>"<STR_LIT>"<EOL>)<EOL><DEDENT>args = []<EOL>args.extend(self.globals)<EOL>args.extend(self.input_format)<EOL>args.append(input_filepath)<EOL>args.extend(self.output_format)<EOL>args.append(output_filepath)<EOL>args.extend(self.effects)<EOL>if extra_args is not None:<EOL><INDENT>if not isinstance(extra_args, list):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>args.extend(extra_args)<EOL><DEDENT>status, out, err = sox(args)<EOL>if status != <NUM_LIT:0>:<EOL><INDENT>raise SoxError(<EOL>"<STR_LIT>".format(out, err)<EOL>)<EOL><DEDENT>else:<EOL><INDENT>logger.info(<EOL>"<STR_LIT>",<EOL>output_filepath,<EOL>"<STR_LIT:U+0020>".join(self.effects_log)<EOL>)<EOL>if out is not None:<EOL><INDENT>logger.info("<STR_LIT>".format(out))<EOL><DEDENT>if return_output:<EOL><INDENT>return status, out, err<EOL><DEDENT>else:<EOL><INDENT>return True<EOL><DEDENT><DEDENT>
Builds the output_file by executing the current set of commands.

        Parameters
        ----------
        input_filepath : str
            Path to input audio file.
        output_filepath : str or None
            Path to desired output file. If a file already exists at the given
            path, the file will be overwritten.
            If None, no file will be created.
        extra_args : list or None, default=None
            If a list is given, these additional arguments are passed to SoX
            at the end of the list of effects.
            Don't use this argument unless you know exactly what you're doing!
        return_output : bool, default=False
            If True, returns the status and information sent to stderr and
            stdout as a tuple (status, stdout, stderr).
            Otherwise returns True on success.