Skip to content

Lemon wiki

Command-line rendering

--render turns a project’s song into a WAV file without opening a window or an audio device. It hosts the same plugins the app would, so it sounds the way the song does in the app. Use it for batch jobs, or when you want a file without clicking through the Export form.

Terminal window
lemonstudio --render project.lemon out.wav

--render must come first. Then give the project, followed by the file to write.

To render 30 seconds at 48 kHz:

Terminal window
lemonstudio --render project.lemon out.wav --rate 48000 --seconds 30
Option What it does
--rate HZ The sample rate, from 8000 to 384000. The default is 44100
--seconds S Stop after this many seconds. It can have decimals, such as 12.5
--from TICK Start at this tick of the song. Ticks count in the project’s Timebase (PPQ), set in Settings ▸ Project
--builtin-only Host only Lemon Studio’s own plugins, for a render that’s the same on every machine

Without --from, the render starts at the song’s start marker and jumps at its skip markers, the same way an export does.

  • The song from the arranger, not a pattern.
  • A stereo, 32-bit float WAV file, whatever you name it. For other formats, use FILE ▸ Export audio… (Ctrl+R).
  • Progress in the terminal, including what plays each instrument and effect.
  • An exit code of 0 when it’s done, 1 if the project couldn’t be opened or the file couldn’t be written, and 2 if the command itself was wrong.

lemonstudio is the program’s name when you’ve built it from source and installed it. A download goes by its own file:

System What to run
Windows The .exe you downloaded
Linux The AppImage you downloaded
macOS "/Applications/Lemon Studio.app/Contents/MacOS/lemonstudio"

On Windows the terminal doesn’t wait for the program to finish. To make it wait, add | Out-Default in PowerShell:

Terminal window
lemonstudio --render project.lemon out.wav | Out-Default

Or use start /wait in cmd:

Terminal window
start /wait lemonstudio --render project.lemon out.wav