Skip to main content
Even though Furnace is primarily controlled by using its graphical user interface, it also offers a command line interface for automation, batch processing, and headless operation.

Synopsis

furnace [params...] [file]

Description

Furnace is a chiptune tracker that supports many systems and sound chips from the 8/16-bit era.

Usage

Starting Furnace without arguments will start the graphical user interface (GUI), as long as Furnace has been compiled with GUI enabled. Passing the path to a file will open that file at start-up. If Furnace cannot open that file, it will report an error and quit.

General Parameters

-help
flag
Display help information.
-console
flag
Enable command-line interface (CLI) player. See the CLI section below for controls.
-loglevel
string
default:"trace"
Set the logging level.Options:
  • error: Critical errors only
  • warning: Errors and warnings
  • info: Errors, warnings, and useful information
  • debug: All of the above, including debug information
  • trace: Like debug, but with even more details (default)
-info
flag
Get information about a song. You must provide a file, otherwise Furnace will quit.
-version
flag
Display version information.
-warranty
flag
View warranty disclaimer.

Engine Parameters

-audio
string
default:"sdl"
Override audio backend.Options:
  • sdl: SDL (default)
  • jack: JACK Audio Connection Kit
  • portaudio: PortAudio
-view
string
default:"nothing"
Set visualization of data.Options:
  • pattern: Order and pattern
  • commands: Engine commands
  • nothing: Guess (default)
-loops
number
default:"-1"
Set number of loops. -1 means loop forever.
-subsong
number
Set sub-song to play.
-safemode
flag
Enable safe mode (software rendering without audio).
-safeaudio
flag
Enable safe mode (software rendering with audio).
-benchmark
string
Run performance test and output total time.Options:
  • render: Measure render time
  • seek: Measure time to seek through the entire song
You must provide a file, otherwise Furnace will quit.

Audio Export

-output
path
Export audio in .wav format to the specified path. You must provide a file, otherwise Furnace will quit.
-outmode
string
default:"one"
Set audio export output mode.Options:
  • one: Single file (default)
  • persys: One file per chip (_sXX will be appended to file name, where XX is the chip number)
  • perchan: One file per channel (_cXX will be appended to file name, where XX is the channel number)

VGM Export

-vgmout
path
Output VGM data to the specified path. You must provide a file, otherwise Furnace will quit.
-direct
flag
Enable VGM export direct stream mode. This mode is useful for DualPCM export.
This will increase file size by a huge amount!

Other Export Formats

-cmdout
path
Output command stream dump to the specified path. You must provide a file, otherwise Furnace will quit.
-romout
path
Output ROM file export to the specified path. You must provide a file, otherwise Furnace will quit.
There must be an available ROM export target for the system.
-romconf
string
Set a configuration parameter for -romout in key=value format. You may use this multiple times to set multiple parameters.
-txtout
path
Output text file export to the specified path. You must provide a file, otherwise Furnace will quit.

ROM Export Configuration

Amiga Validation

No parameters.

Commander X16 ZSM

  • zsmrate: Tick rate (Hz), default: 60
  • loop: Loop song, default: true
  • optimize: Optimize size, default: true

Atari 2600 (TIunA)

  • baseLabel: Base song label name, default: song
  • firstBankSize: Max size in first bank, default: 3072
  • otherBankSize: Max size in other banks, default: 4048
  • sysToExport: TIA chip index, default: -1 (find first)

Atari 8-bit SAP-R

No parameters.

Command Line Interface

Furnace provides a command-line interface (CLI) player which may be activated through the -console option.

CLI Controls

The following controls may be used:
KeyAction
Left / HGo to previous order
Right / LGo to next order
SpacePause/resume playback

See Also

The Furnace user manual at https://github.com/tildearrow/furnace

Build docs developers (and LLMs) love