Soundfont NRPN messages or Modulators?
-
- KVRist
- 107 posts since 5 Jun, 2006
Which is better for real-time control of sound parameters (i.e. ADSR, filter, resonance)? In Cakewalk Sonar, I can't seem to get NRPN messages to work for anything but the following:
Filter cutoff
Resonance (Filter Q)
LFO1 to Pitch, LFO2 to Pitch
I can't figure out how to control the ADSR generators in real-time. According to the manual for my Audigy 2 ZS (it's called MIDIAUDIGY.hlp) I can do this:
" You can change an instrument's SoundFont Banks parameters (for example...envelope contour) through MIDI in real time via NRPN."
However, in the "Audio Hardware NRPN Implementation" section of the MIDIAUDIGY.hlp file for ALL Envelope Generators is says "No" under 'Realtime:' Does that mean i can't actually control it via NRPN messages in real-time? For instance:
"NRPN LSB 5 (Envelope 1 attack time)
Realtime : No
Range : [0, 5940]
Unit : Milliseconds
Envelope 1 attack time from 0 to 5.9 seconds."
As for Modulators, they do nothing after i set them up in Vienna 2.3. If they ever work, is it possible to have each instrument respond to a different parameter? For example, let's say for Piano MIDI CC 21 is assigned to Attack time. Can the Synth Brass MIDI CC 21 be assigned to filter cutoff?
Thanks a lot
Filter cutoff
Resonance (Filter Q)
LFO1 to Pitch, LFO2 to Pitch
I can't figure out how to control the ADSR generators in real-time. According to the manual for my Audigy 2 ZS (it's called MIDIAUDIGY.hlp) I can do this:
" You can change an instrument's SoundFont Banks parameters (for example...envelope contour) through MIDI in real time via NRPN."
However, in the "Audio Hardware NRPN Implementation" section of the MIDIAUDIGY.hlp file for ALL Envelope Generators is says "No" under 'Realtime:' Does that mean i can't actually control it via NRPN messages in real-time? For instance:
"NRPN LSB 5 (Envelope 1 attack time)
Realtime : No
Range : [0, 5940]
Unit : Milliseconds
Envelope 1 attack time from 0 to 5.9 seconds."
As for Modulators, they do nothing after i set them up in Vienna 2.3. If they ever work, is it possible to have each instrument respond to a different parameter? For example, let's say for Piano MIDI CC 21 is assigned to Attack time. Can the Synth Brass MIDI CC 21 be assigned to filter cutoff?
Thanks a lot
- KVRAF
- 2910 posts since 26 Jul, 2005 from dun unda
I honestly hate how both GS and soundfonts handle advanced MIDI output control. Yamaha XG, as well as various VSTi's released, propagate to controlling stuff such as this with a single controller (CC71 to 74 for Reso, Release, Attack, and Cutoff respectively)
One example of this in action is using sfz. (except one of the controls don't work with the CC.)
One example of this in action is using sfz. (except one of the controls don't work with the CC.)
- KVRAF
- 7413 posts since 8 Feb, 2003 from London, UK
By definition, no one has to support NRPNs.
-
- KVRian
- 966 posts since 28 Sep, 2002 from UK
I don't use Sonar but sf 2.1 parameters should be fine in any host with basic midi implementation.seskanda wrote:Which is better for real-time control of sound parameters (i.e. ADSR, filter, resonance)? In Cakewalk Sonar, I can't seem to get NRPN messages to work for anything but the following:
Filter cutoff
Resonance (Filter Q)
LFO1 to Pitch, LFO2 to Pitch
I can't figure out how to control the ADSR generators in real-time. According to the manual for my Audigy 2 ZS (it's called MIDIAUDIGY.hlp) I can do this:
" You can change an instrument's SoundFont Banks parameters (for example...envelope contour) through MIDI in real time via NRPN."
However, in the "Audio Hardware NRPN Implementation" section of the MIDIAUDIGY.hlp file for ALL Envelope Generators is says "No" under 'Realtime:' Does that mean i can't actually control it via NRPN messages in real-time? For instance:
"NRPN LSB 5 (Envelope 1 attack time)
Realtime : No
Range : [0, 5940]
Unit : Milliseconds
Envelope 1 attack time from 0 to 5.9 seconds."
As for Modulators, they do nothing after i set them up in Vienna 2.3. If they ever work, is it possible to have each instrument respond to a different parameter? For example, let's say for Piano MIDI CC 21 is assigned to Attack time. Can the Synth Brass MIDI CC 21 be assigned to filter cutoff?
Thanks a lot
I use an Emu APS on a basic DAW, with Cubase VST 5.2, FLS 7, Podium and Orion 7 - all work fine.
Loads of realtime control via my M Audio O2.
You can only use the fixed SOURCES and target parameters of the 2.1 spec (see http://freepats.opensrc.org/sf2/sfapp21.pdf)- can't remember if envelope parameters are controllable in realtime...think you can because I've got a soundfont where I control the oscillator attack time with CC23.
Hope that helps
BC
If God did exist (and he doesn't) he would answer to the name of Maurizio
-
- KVRist
- Topic Starter
- 107 posts since 5 Jun, 2006
What 'various VSTi's' are you referring to? Actually, AFAIK, Yamaha XG assign those to three separate MIDI controllers (CC 71-74, i believe). It'd be tough to change three sound parameters with one controller, though. It sure beats stupid NRPN messages, any day of the week.MaliceX wrote:Yamaha XG, as well as various VSTi's released, propagate to controlling stuff such as this with a single controller (CC71 to 74 for Reso, Release, Attack, and Cutoff respectively)
Righto. And that's the whole problem with MIDI: Nothing supports anything.pljones wrote:By definition, no one has to support NRPNs.
How did you figure out CC 23 works for attack time? Nowhere in this document can i find if it states that sources are assigned to 'fixed' parameters. If that's the case, it sucks then. Nonetheless, modulators seem useless to me, unless it's possible to have each instrument respond to a different parameter, as i said before. So, for time being, i'm stuck with NO real-time control of a soundfont's oscillator settings. There must be another way...basic channel wrote:You can only use the fixed SOURCES and target parameters of the 2.1 spec (see http://freepats.opensrc.org/sf2/sfapp21.pdf)- can't remember if envelope parameters are controllable in realtime...think you can because I've got a soundfont where I control the oscillator attack time with CC23.
-
- KVRian
- 966 posts since 28 Sep, 2002 from UK
You have to use an editor (like any other sample format).seskanda wrote: How did you figure out CC 23 works for attack time? Nowhere in this document can i find if it states that sources are assigned to 'fixed' parameters. If that's the case, it sucks then. Nonetheless, modulators seem useless to me, unless it's possible to have each instrument respond to a different parameter, as i said before. So, for time being, i'm stuck with NO real-time control of a soundfont's oscillator settings. There must be another way...
I use Vienna 2.4 (if you've got an Audigy then you can use this as well) - here you can look at which modulators are setup or setup your own.
So you can have each instrument respond differently by creating modulators for each instrument
e.g
synth CC21 to Fc, CC22 to resonance, CC23 to LFOtoPitch, velocity to Fc (any listed controller in that link I gave you can control any available parameter...you can find all the available parameter in Vienna).
piano CC21 to LFOtoPitch etc.etc.
Here's a screenshot from the old version of Vienna, giving you an idea of the parameters available:

All these instruments would be in the same bank.
You can set these "Modulator Properties" to be global also, so they will be the same for all instruments in the bank.
You also have "secondary" controllers so you can use 2 sources to control the same parameter.
The new version of Vienna allows you to save any modulator routing as a preset - something that I have been waiting for. You can create special modulator setups for different types of instruments and then just load them when creating a new soundfont.
I suggest you play around with Vienna & you'll see that the sf 2.1 spec is really quite powerful (more so than many people realise).
This is, of course, assuming the Audigy is 2.1 compatible (rather than just 2.0. as this didn't have all these modulators).
BC
If God did exist (and he doesn't) he would answer to the name of Maurizio
-
- KVRist
- Topic Starter
- 107 posts since 5 Jun, 2006
I hope this means each patch's (instrument's) modulators can be assigned to a different controller, like i said before, right?basic channel wrote: So you can have each instrument respond differently by creating modulators for each instrument
I believe you meant to post this pic:basic channel wrote:Here's a screenshot from the old version of Vienna, giving you an idea of the parameters available:

THE above one shows the Modulator Properties window, and one way to get in it. Now, as you can see, i assigned MIDI CC 21 to attackVolEnv for the Synth Strings 21 patch. So, in Sonar would i just insert CC 21 in a MIDI track, and control attack time in 0-127 values? If yes, i already tried this, but it does NOT work. Am i missing something here?
How would i do this? Is this a Vienna 2.4-only feature?basic channel wrote:You can set these "Modulator Properties" to be global also, so they will be the same for all instruments in the bank.
Here under 'Works with the following standards' section it says the Audigy 2 ZS works with 'SoundFont 2.1' However, i had to replace the SFEDT32.dll file in Vienna's directory with one from Soundfont Bank Manager's for the Modulator Properties to show. This is documented on Creative Labs' knowledgebase as a solution, though.basic channel wrote:This is, of course, assuming the Audigy is 2.1 compatible (rather than just 2.0. as this didn't have all these modulators)
-
- KVRian
- 966 posts since 28 Sep, 2002 from UK
yesseskanda wrote: I hope this means each patch's (instrument's) modulators can be assigned to a different controller, like i said before, right?
It would work for me in Cubase VST, FLS7 and Podium - sorry, not familiar with Sonar. Maybe there is some Midi setup you have to do that's different from aforementioned hosts ?THE above one shows the Modulator Properties window, and one way to get in it. Now, as you can see, i assigned MIDI CC 21 to attackVolEnv for the Synth Strings 21 patch. So, in Sonar would i just insert CC 21 in a MIDI track, and control attack time in 0-127 values? If yes, i already tried this, but it does NOT work. Am i missing something here?
Hmm, I could have sworn you can do this in 2.3. Can you not create a Global Zone for the Instrument Pool ?How would i do this? Is this a Vienna 2.4-only feature?basic channel wrote:You can set these "Modulator Properties" to be global also, so they will be the same for all instruments in the bank.
I'm still playing around with 2.4 - the right click Modulator Properties dialogue doesn't seem to behave the same as 2.3. Instead there is a dedicated resizable pane which goes from "greyed out" to blue/active whenever you navigate to a point on the soundfont tree where Modulator Properties can be applied. I think this is so at the highest preset/instrument zone level, thereby you can create global modulator properties applicable to all instruments in a bank.
The best way to check this out is download and install Vienna 2.4 I guess
If God did exist (and he doesn't) he would answer to the name of Maurizio
-
- KVRist
- Topic Starter
- 107 posts since 5 Jun, 2006
What about Cubase SX? And Sonar is supposedly easier to use than Cubase. It'd be great if someone familiar with Sonar & SF 2.1 would post here, otherwise i'll end up starting a thread at Cakewalk's forums.basic channel wrote:It would work for me in Cubase VST, FLS7 and Podium - sorry, not familiar with Sonar. Maybe there is some Midi setup you have to do that's different from aforementioned hosts ?
Nope.basic channel wrote:Hmm, I could have sworn you can do this in 2.3. Can you not create a Global Zone for the Instrument Pool ?
So, Global Modulators IS a feature of Vienna 2.4 then? Well, now i've got another reason to get it.basic channel wrote:I'm still playing around with 2.4 - the right click Modulator Properties dialogue doesn't seem to behave the same as 2.3. Instead there is a dedicated resizable pane which goes from "greyed out" to blue/active whenever you navigate to a point on the soundfont tree where Modulator Properties can be applied. I think this is so at the highest preset/instrument zone level, thereby you can create global modulator properties applicable to all instruments in a bank.
-
- KVRian
- 966 posts since 28 Sep, 2002 from UK
Apologies - I don't think you can apply global modulators to sf2.1 (in Vienna 2.3 or 2.4)
If God did exist (and he doesn't) he would answer to the name of Maurizio
