Exporting to an External Program



Specify Command Line Encoder sends audio via a command-line to an external application, either for processing or for encoding as a file. For example, this is a way to export to the LAME MP3 encoder with additional parameters not supported in the MP3 Export Options interface. It could also be used to export to an alternative MP3 encoder, to the FFmpeg encoder, or to a specialised encoder in a format not otherwise supported by Audacity.


 * Accessed by: File > Export Audio..., then choose (external program) and click the button


 * [[Image:OptionsCommandline.png|Command-line options dialog]]

Specify Command Line Encoder
From the Export Audio Dialog, choose the file name and extension, select (external program) in the "Save as" box, then click the button.

Command Line Export Setup
The "%f" command passes the file name and extension entered in the Export Audio Dialog as the output file of the external program. Two default commands are provided, lame - "%f" and ffmpeg -i - "%f" . If you are exporting to MP3 with LAME, there is a complete list of commands on the usage page. For example, the default LAME command: lame  -  "%f"  creates a 64 kbps (mono) or 128 kbps (stereo) constant bit rate MP3 at quality level "3". The command string: lame - -v -b 112 -c -p "%f"  produces a variable bit rate MP3 of minimum 112 kbps bit rate, with a copyright marker and CRC error checking enabled. If exporting using FFmpeg, you can view the FFmpeg command-line usage in the FFmpeg documentation. Guidance on valid metadata tags for various formats supported by FFmpeg can be found .here. On Windows or Linux, you can access the LAME or FFmpeg command-line program with just the "lame" or "ffmpeg" command, providing LAME or FFmpeg are installed in the standard location. On Windows, this requires that you used the LAME or FFmpeg .exe installer and did not change the installation directory. Otherwise, the full path to the command-line program must be given, and must be enclosed inside quotes if there are any spaces in the path. Here is an example of a command to FFmpeg in an arbitrary location on Windows, forcing the exported codec to 256 kbps mp2: "E:\FFmpeg for Audacity\ffmpeg.exe" -i - -acodec mp2 -ab 256000 "%f"  And here is an example command to FFmpeg in an arbitrary location on Mac, setting metadata for genre and artist/composer: /Applications/FFmpeg_for_Audacity_on_OSX/ffmpeg -i - -metadata genre="pop" -metadata author="Joe S" "%f"   The "Command" box holds up to the last 12 items entered. When a thirteenth command is entered, the first one (at the bottom of the list) is removed.
 * Command: Type:
 * 1) The path to the program
 * 2) If the program syntax requires it, space then the infile command
 * 3) Space, hyphen
 * 4) If required, space then valid output options for the file
 * 5) If the program syntax requires it, space then the outfile command
 * 6) Finally (assuming file output), space then "%f".


 * Browse...: Opens a "Find path to command" window where you can select the command-line program you want to use. Clicking "Open" will then enter the path to that program in the "Command:" box, ready for you to add the commands and "%f" after the path.

Note: The Metadata Editor does not pop up before command-line exports, nor are any tags it already contains passed to the external program. Use the appropriate command for your program to write metadata to the output file.
 * Show output: If checked, a Command Output window in Audacity will display a success or failure message from the external program. If unchecked, the window will only appear in the case of an error message.