How can I use a single instance of the ESP plugin in my DAW (Ableton live) and use my midi controller to play different instruments from a performance selected in the ESP plugin by changing the midi channels on the controller?
For example, if I select midi ch1 on the controller, I can play a piano, if I select midi ch2, I can play strings and if I select midi ch3, I can play an organ. I have already created a performance with these instruments in parts 1, 2 and 3 respectively already. Any advice appreciated.
Turn off keyboard control for all of the Parts in ESP. Any Part with keyboard control turned ON will use the same MIDI channel you set for the MIDI I/O channel. However, when you turn off keyboard control, each Part's channel will use the MIDI Rx Channel which you can set differently for each Part.
... to set the individual RX MIDI channels in ESP - you'd go here:
Source: Joel's video https://youtu.be/aYzxoRHnC_Y?t=620

Notice the Tx/Rx Ch for each Part is shown.
With keyboard control off, now your MIDI controller can communicate with each Part on its assigned Tx/Rx channel. If you happen to have a multi-Part instrument then I believe you can setup multiple Parts with the same Tx/Rx channel so they will automatically layer controlled by a single external MIDI channel (from your MIDI controller). I don't think this applies to what you are working with because you've described everything as a single Part instrument (piano, strings, organ).
That's all you need to do to get what you asked for working.
And, not what you asked for - but extending beyond it ...
If your MIDI keyboard can support multiple zones then you could split that MIDI controller by zone or layer etc.. So different key ranges on the MIDI controller could target different Parts (split) or you could have certain key ranges play multiple Parts (layer). That setup would need to take place on the MIDI controller and work within its capabilities.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Thank you. This helped a lot.