Topic: is it possible to modify presets from the command line?

hi,

i'm using PTQ stage 6.0.1 on linux (but after tonight it will be 6.1.1 ...).  is it possible to use the command line to modify presets?  the kind of thing i'd like to do is take a short midi file and render it with a variety of pianos from the standard presets for comparison, but i'd like to make changes to the presets on the fly.

here's a typical example.  suppose i'd like to render this midi file with all the Steinways available.  my keyboard is a KX88, which sends out velocity = 15 as the lowest value, and i have various velocity curves stored i like to use that fix this problem.  but i don't have a preset for every Steinway that uses one of these velocity curves.  i'd like to be able to run the program with --preset equal to one of these pianos, and then to use another argument to modify the velocity curve.  but i didn't see how to accomplish that.

there are variations on this problem i'm interested in.  for instance, is there some way to set the reverb or other effects from the command line?   could i for example load up Steinway Home and then change the reverb to Taj Mahal?  or do i have to load up the UI and create a custom preset? 

finally, is the file format for .fxp documented somewhere?  if worst comes to worst i could try to write code to edit the various presets on the fly.

Re: is it possible to modify presets from the command line?

Yes, a complete set of command line options would be great also for running Pianoteq headlessly on an ARM box. Currently I have to use X ssh forwarding to set things up, than I switch back to headless mode for playing as the GUI consumes quites some precious processor cycles on its own.

Re: is it possible to modify presets from the command line?

There is no official command-line option for that, but with Pianoteq 6.1 you can use:
--list-param to get a list of public parameters (similar to the list VST parameters).
--set-param name=value to change the value of a parameter . If the parameter name contains spaces you must quote it , for example:

./Pianoteq 6  --set-param "Reverb Duration=5"

Re: is it possible to modify presets from the command line?

thank you, that's very helpful.  there are many things to play around with using those arguments!

Re: is it possible to modify presets from the command line?

i took a look at the output of --list-param, and i can see that there are many things i can control.  for example i can set the condition slider or seed to whatever i want, can control mic placement, etc.  but i don't see a way to set the velocity curve from the command line without loading an .mfxp file through the --fxp argument. 

is there anyway to load a preset and modify the velocity curve from the command line?  i tried

Pianoteq\ 6 --preset 'Grotrian Prelude' --fxp 'kx88.mfxp'

but the --fxp option has no effect.

i did a hexdump of an fxp file and i can clearly see where the filename of the velocity curve appears, so i guess if there is no easy solution i could just write something to hack fxp directly at the byte level.  of course if anyone has any code already written, or knows more details about fxp format that are ok to share, that would be very helpful.

Re: is it possible to modify presets from the command line?

Yeah, unfortunately --fxp or --preset works only once, maybe we will fix that in the future. You can still achieve what you want by using this:

Pianoteq\ 6 --preset 'Grotrian Prelude' --open 'kx88.mfxp'

(the "--open filename" is a more generic command that can load midi, or fxps , etc)

Re: is it possible to modify presets from the command line?

thanks so much, that should be exactly what i need.