Page 1 of 1

Make SFZ respond to MIDI program change?

Posted: Fri Mar 16, 2018 3:20 pm
by Michael Willis
I'm considering changing the way that I manage articulations in orchestral scoring. Right now I have a separate track per articulation; for example my cello section might have 4 different tracks: cellos sustained, cellos spiccato, cellos pizzicato, and cellos tremolo. This results in dozens of tracks, which can end up being rather hard to manage unless I hide the ones that I'm not using in each project.

Some people use key switches, but I'm not really fond of that because it pollutes my midi notes with non-note information, and in order to see them in Ardour I have to expand the piano roll view way outside of the instrument's range.

So I'm wondering if there is a way to program an SFZ file such that it has multiple articulations that can be selected by a midi program change event. I am aware of the SFZ concept of a group that can be triggered by a midi CC event, but if I understand right, a program change is not a cc event. I suppose I could tie it to CC0, which is the bank change event, but first I would like to explore whether it can be done with a midi program change.

Re: Make SFZ respond to MIDI program change?

Posted: Fri Mar 16, 2018 5:57 pm
by Paul Battersby
Looking through the 1.0 sfz spec, it doesn't look like there is any opcode to handle a program change message. Without some intervening plugin to convert a program change message to a CC message I don't see how it would work. It looks like you can get a group/articulation to only respond to a specific MIDI channel if that's of any use to you: "lochan", "hichan" with a range of 1..16.

Re: Make SFZ respond to MIDI program change?

Posted: Fri Mar 16, 2018 6:28 pm
by Michael Willis
Paul Battersby wrote:Looking through the 1.0 sfz spec, it doesn't look like there is any opcode to handle a program change message
Thanks Paul. In absence of a program change opcode, I think that using bank changes will work for me.