If you like command-line options, Hz certainly has some.
Entering
Hz --help
produces this output.
Hz options:
--version (report version info, exits)
--stats enable stats reporting
--help (this message, exits)
logging options:
-v | --v (same as --v:4)
--v:0-4
--log:file filepath
--log:help (this message, exits)
audio options:
--audio:probe[:name] (exits)
name: 'apis' (lists apis available), otherwise
'wasapi', 'ds', 'asio', 'pulse', 'jack', 'alsa', etc
--audio:api:name (none, silent, wasapi, asio, ds, jack, alsa, etc)
--audio:srate:<NUM> (44100,48000,96000,...)
--audio:inchan:<N>
--audio:indev:<N> (0 means default, otherwise 1-N)
--audio:outchan:<N>
--audio:outdev:<N> (0 means default, otherwise 1-N)
--audio:nch:<N> (combines :in and :out)
--audio:bufsize:<N> (64,128,256,512,1024,2048,...)
--audio:autostart[:0|1]
--audio:summary:[0|1] (1)
--audio:help (this message, exits)
midi options:
--midi:probe (exits)
--midi:getinputport:name (case-sensitive, exits)
--midi:help (this message, exits)
lua options:
-i | --lua:repl
-x (exits after scripts when not -i)
--lua:version (exits)
--lua:help (this message, exits)
[script1.lua [script2.lua ...]]
gui options:
-ng, -g, --gui:on|off (on)
--gui:console:on|off (off)
--gui:help (this message, exits)
clap options:
--clap:searchpaths (dumps searchpaths, exits)
--clap:plugins (dumps plugins, exits)
--clap:load:<0|1> plugin-preload
--clap:help (this message, exits)
osc options:
--osc:enable:0|1 (1)
--osc:recv:${port}
sets default listening port)
--osc:send:${port}[:${host}]
sets default sending port)
--osc:add:${filename}
sends a filename to target Hz
--osc:del:${coId}
deletes a coroutine in target Hz
--osc:clear
clears all coroutines in target Hz
--osc:quit
requests quit in target Hz
* send host defaults to localhost
* port defaults to 22000