Topic: How programmable is PianoTeq?

Hi,


I'm considering purchasing PianoTeq, but am wondering how programmable it is via computer languages?

Is it possible to use a computer language to create messages that will play PianoTeq? If so, how does that work?

- Specify a pitch with volume to be played at a certain time.
- Send any pitch, not just tempered? Like play 447.44 Hz?
- What about other settings like reverb, etc...?

I'm trying to understand how easy it would be to integrate into my workflow which involves a great deal of computer programming.

Thanks all

Re: How programmable is PianoTeq?

pelevesque wrote:

Hi,


I'm considering purchasing PianoTeq, but am wondering how programmable it is via computer languages?

Is it possible to use a computer language to create messages that will play PianoTeq? If so, how does that work?

- Specify a pitch with volume to be played at a certain time.
- Send any pitch, not just tempered? Like play 447.44 Hz?
- What about other settings like reverb, etc...?

I'm trying to understand how easy it would be to integrate into my workflow which involves a great deal of computer programming.

Thanks all

In short, you have two approaches. The first, is to use PTQ as a black box (which you can do with any virtual instrument) and then just send MIDI. You will be limited to the specific temperament you have pre-selected and not very programmable, even though I believe you can control a few things via MIDI too (a lot? many? everything? I have not done it and I am not sure).

The second is to use the JSON interface, and here you can control almost everything (or perhaps exactly everything) programmatically. It's still a virtual instrument of a real piano though, so you cannot command a specific pitch. Moreover, a specific pitch is meaningless in piano: if that is the fundamental, how about the upper harmonics? The transients for the attack? How about the first decay? Too much (and not really musically useful) to specify this stuff in that way. You DO have control of these things, but in a musically-meaningful way, not on a purely physical one. So you modify the attack mostly with hammer hardness (yes, there is also a separate attack control). You modify the decay with soundboard impedance. And so on. Convenient for a musician or piano technician, not sure for you.

The good news is that you can download the demo, try it and see what it can do. Only if it meets your needs you can buy, so there will not be a misunderstanding about what I said and what I meant.

Best of luck in your musical journey!

EDIT: you can program the JSON interface with the programming language of your choice, from bash to python to java or C or really anything.

Last edited by dv (16-07-2022 21:30)
Where do I find a list of all posts I upvoted? :(

Re: How programmable is PianoTeq?

i've used Pianoteq for some experiments with algorithmic composition, etc.  i've always just used programs to produce MIDI files and then fed them into Pianoteq.  certainly it's been fine for me.

i agree 100% with user dv, grab the demo and see if it works for you.  the demo policy is very generous ... there are only a few limitations (certain keys disabled, time limit for usage).  in fact i was making recordings with the demo for many months before i took the plunge and bought the software.

Re: How programmable is PianoTeq?

pelevesque wrote:

Hi,


I'm considering purchasing PianoTeq, but am wondering how programmable it is via computer languages?

Is it possible to use a computer language to create messages that will play PianoTeq? If so, how does that work?

- Specify a pitch with volume to be played at a certain time.
- Send any pitch, not just tempered? Like play 447.44 Hz?
- What about other settings like reverb, etc...?

I'm trying to understand how easy it would be to integrate into my workflow which involves a great deal of computer programming.

Thanks all

Any language that can send midi messages (i.e., most all of them) can be used to control Pianoteq programmatically.  Find a "midi library" or "midi framework" that is supported by whatever language you're using.  Then learn how midi messages work. 

Pianoteq has a huge array of settings that can be controlled via midi.  Almost all of them, I think.  Not sure where it's documented, however you can see all of them by going to the 'Midi' tab on the 'Options' page and looking at the vast array of settings in the dropdown for the third column in the list.  By default most of those will be 'Pedal . . . ' settings.  In that dropdown take a special look at the submenu options (and sub-submenu options) in the 'Set Parameter' selection.  Those are all items that you can control programmatically by assigning a MIDI CC message number to them, then sending parameter values for them in associated midi messages.

EDIT:  Whoops, as 'dv' said already in previous post, you can also use the JSON interface.  This is simply an alternative to using MIDI to control.  I'm not sure, I think the range of settings that you can control via MIDI and JSON interfaces may be identical.  However, the MIDI interface does need to be configured on the options page (where you specify what midi messages will be tied to what settings), not sure if there's a way to do this programmatically for MIDI. . .

Also, maybe it's already been said, but you can test everything you need to with the demo versions, should be able to get full programmability with the demos, same as with version you purchase.

Last edited by hesitz (19-07-2022 18:38)

Re: How programmable is PianoTeq?

pelevesque wrote:

...I'm trying to understand how easy it would be to integrate into my workflow which involves a great deal of computer programming.

If your workflow at times includes a DAW (or other kinds of VST plugin hosts like, say, MaxMSP), pianoteq works well as a VSTi plugin. So far I've only used the most common range of MIDI events with it under MaxMSP, so I can't yet advise about all the "instrument-design" params and whether they can be sent while it's operating within a host environment (soon I will, as I intend to experiment with "unusual" sounds and to load Scala files and work with alternative tunings).