EngineSound is a GUI application used to generate purely synthetic engine sounds with advanced options, written in Rust. It provides real-time recording of the engine and a powerful CLI for advanced control. This tool is loosely based on a research paper on acoustic pipe/chamber simulation, and it is highly recommended to read the paper to understand the parameters fully.
gui
feature, use --no-default-features
to disable)enginesound [FLAGS] [OPTIONS]
--help Prints help information
-h, --headless CLI mode without GUI or audio playback
-V, --version Prints version information
-c, --config <config> Sets the input file to load as an engine config
-f, --crossfade <crossfade> Crossfades the recording in the middle end-to-start to create a seamless loop
-o, --output <output_file> Sets the output .wav file path
-l, --length <reclen> Sets the time to record in seconds
-r, --rpm <rpm> Engine RPM
-q, --samplerate <samplerate> Generator sample rate [default: 48000]
-v, --volume <volume> Sets the master volume [default: 0.1]
-w, --warmup_time <warmup_time> Sets the time to wait in seconds before recording
An example command to generate a seamless loop:
enginesound.exe -h -c config_file.esc -o output_file.wav -f $fade_length -l $length -w $warmup -r $rpm -v $volume