NRPN Support

Started by klerg,

klerg

I see and what is the AWE32 NRPN octave range as well ? When the filter frequency is at 8000Hz or above then no filtering is going to be heard. So, if the NRPN is at 500Hz will that be equal to a cutoff of 8000Hz and is that why the filter sounds 'light' and not as 'deep' ? But shouldn't the NRPN conversion sound 'higher' and not 'lower' then intended if the soundfont cutoff is below 8000Hz ? Do you mean to say that the BASSMIDI's NRPN can go down to 100Hz like the AWE32 NRPN's ?

Sure that is fine and hope one will be set soon for that then. Yes, I replaced the bassmidi.dll and it sounds better, but still far off from SB HW.

Ian @ un4seen

Quote from: klergI see and what is the AWE32 NRPN octave range as well ?

The AWE32 NRPN range is 100Hz to 8000Hz. 100Hz is 6.3 octaves below 8000Hz.

Quote from: klergWhen the filter frequency is at 8000Hz or above then no filtering is going to be heard. So, if the NRPN is at 500Hz will that be equal to a cutoff of 8000Hz and is that why the filter sounds 'light' and not as 'deep' ?

No, an AWE32 NRPN cutoff of 500Hz will still be 500Hz after conversion in BASSMIDI (if the soundfont's cutoff is 8000Hz/off). But an AWE32 NRPN cutoff of 400Hz will also be 500Hz after conversion due to the 4 octave range.

Quote from: klergBut shouldn't the NRPN conversion sound 'higher' and not 'lower' then intended if the soundfont cutoff is below 8000Hz ? Do you mean to say that the BASSMIDI's NRPN can go down to 100Hz like the AWE32 NRPN's ?

Remember that the standard NRPN/CC cutoff is relative to the soundfont's cutoff, which means a lower soundfont cutoff will result in a lower final cutoff. If the soundfont's cutoff is 1600Hz then the NRPN can go down to 100Hz (4 octaves below 1600Hz).

klerg

Quote from: Ian @ un4seenThe AWE32 NRPN range is 100Hz to 8000Hz. 100Hz is 6.3 octaves below 8000Hz.

Sure is any way to get BASSMIDI'S NRPN up to 6.3 octaves and what will that do ?


Quote from: Ian @ un4seenNo, an AWE32 NRPN cutoff of 500Hz will still be 500Hz after conversion in BASSMIDI (if the soundfont's cutoff is 8000Hz/off). But an AWE32 NRPN cutoff of 400Hz will also be 500Hz after conversion due to the 4 octave range.

Ok, if an AWE32 NRPN cutoff is 500Hz can the soundfont's cutoff not be the same or will it be different, and if so, how ? Does this mean an AWE32 NRPN cutoff of 100 to 400Hz is going to be 500Hz when converted too ?



Quote from: Ian @ un4seenRemember that the standard NRPN/CC cutoff is relative to the soundfont's cutoff, which means a lower soundfont cutoff will result in a lower final cutoff. If the soundfont's cutoff is 1600Hz then the NRPN can go down to 100Hz (4 octaves below 1600Hz).

When you say standard NRPN/CC cutoff is that BASSMIDI's NRPN/CC cutoff ? If yes, is that not relative to the AWE32 NRPN cutoff as well ? Is the AWE32 NRPN cutoff the same thing as the soundfont's cutoff ? How can that MIDI sound closer to SB HW in BASSMIDI ?

Falcosoft

Do you have other examples where the modified Basmmidi really "sounds off" compared to SB Hardware?
I'm asking since the one example you linked above (The Nervous Filter.mid) sounds pretty good for me with the modified Bassmidi (I tested with various soundfonts).
Notice that almost none of Bassmidi's effects/parameters are axactly the same as on SB Hardware. Reverb/Chorus as well as default modulation parameters etc. are quite different.
So I do not think it's worth the effort to make NRPN filter cut off to work exactly like on SB hardware considering it's a much rarely used effect compared to the mentioned ones.

klerg


I do not have anything else at this time and may need to come up with an example on my own it looks like
Well, the one I linked (The Nervous Filter.mid) only sounds pretty good if you compare it to the un-modified Bassmidi, but not the SB Hardware it is hardly close to that.
Yes, but to me BASSMIDI's effects/parameters sound quite near to the SB Hardware unlike the NRPN. Reverb, Chorus, and modulation is good enough for most things I noticed so far.
I agree it is too much to make the NRPN filter cut off to be exactly like the SB hardware but maybe it can sound closer or the filter will be able to be heard in a greater sense or level.

klerg

I was just wondering is any way to get BASSMIDI's NRPN up to 6.3 octaves and what will that do ? If an AWE32 NRPN cutoff is 500Hz can the soundfont's cutoff not be the same or will it be different, and if so, how ? Does an AWE32 NRPN cutoff of 100 to 400Hz going to be 500Hz when converted too ? Is BASSMIDI's NRPN cutoff not relative to the AWE32 NRPN cutoff as well ? And is the AWE32 NRPN cutoff the same thing as the soundfont's cutoff ?

Ian @ un4seen

Quote from: klergI was just wondering is any way to get BASSMIDI's NRPN up to 6.3 octaves and what will that do ?

Not without affecting NRPN0120/CC74 events, unfortunately. Remember that the BASSMIDI update in this thread converts the AWE32 NRPN cutoff events to NRPN0120/CC74 events (which were already supported by BASSMIDI). That means it can't exceed the limits of that (eg. 4 octaves) and changing the limits would affect NRPN0120/CC74 events too.

Quote from: klergIf an AWE32 NRPN cutoff is 500Hz can the soundfont's cutoff not be the same or will it be different, and if so, how ? Does an AWE32 NRPN cutoff of 100 to 400Hz going to be 500Hz when converted too ? Is BASSMIDI's NRPN cutoff not relative to the AWE32 NRPN cutoff as well ? And is the AWE32 NRPN cutoff the same thing as the soundfont's cutoff ?

The AWE32 NRPN cutoff normally overrides/replaces the soundfont's cutoff (ie. it's absolute), but not in BASSMIDI because it's converted to an NRPN0120/CC74 event, which is added to soundfont's cutoff (ie. it's relative). That conversion assumes the soundfont cutoff is 8000Hz/off (ie. the new event is relative to 8000), and if that assumption is correct then the conversion should be accurate down to 500Hz, but anything lower (eg. 100-400Hz) will also get converted to 500Hz.

klerg

Quote from: Ian @ un4seenNot without affecting NRPN0120/CC74 events, unfortunately. Remember that the BASSMIDI update in this thread converts the AWE32 NRPN cutoff events to NRPN0120/CC74 events (which were already supported by BASSMIDI). That means it can't exceed the limits of that (eg. 4 octaves) and changing the limits would affect NRPN0120/CC74 events too.


What's wrong if it affects the NRPN0120/CC74 events anyway? So the BASSMIDI update in this thread does not support AWE32 NRPN's it converts them to NRPN0120/CC74 events then. Yes, at this point it seems like a workaround that is not the same as AWE32 NRPN. Everything changes when the AWE32 NRPN's are converted to new or different events.

Quote from: Ian @ un4seenThe AWE32 NRPN cutoff normally overrides/replaces the soundfont's cutoff (ie. it's absolute), but not in BASSMIDI because it's converted to an NRPN0120/CC74 event, which is added to soundfont's cutoff (ie. it's relative). That conversion assumes the soundfont cutoff is 8000Hz/off (ie. the new event is relative to 8000), and if that assumption is correct then the conversion should be accurate down to 500Hz, but anything lower (eg. 100-400Hz) will also get converted to 500Hz.


Yes, that is how the AWE32 NRPN cutoff and other NRPN's work for the most part it is absolute. I wish there was some way for BASSMIDI to not add the NRPN0120/CC74 event to the soundfont's cutoff as that ends up increasing the filter amount if it is less than 8000Hz, is that right ? I see the conversion is only accurate if the soundfont's cutoff is off or at 8000Hz, but many presets or patches are much lower than that. I think that Nervous Filter goes down to 100Hz and maybe less.

klerg

What's wrong if it affects the NRPN0120/CC74 events anyway? Is some way for BASSMIDI to not add the NRPN0120/CC74 event to the soundfont's cutoff as that ends up increasing the filter amount if it is less than 8000Hz, is that right ? How can BASSMIDI fully support AWE32 NRPN's and not just convert them to NRPN0120/CC74 or other GM2 common controller ?

Ian @ un4seen

Quote from: klergWhat's wrong if it affects the NRPN0120/CC74 events anyway?

Any changes to NRPN0120/CC74 processing would mean that MIDI files that use those events would sound different to now. Such a change isn't always a bad thing if it's an improvement, but I don't think a rare AWE32 NRPN would justify it, especially as it still wouldn't be a totally accurate conversion (due to the absolute/relative difference).

Quote from: klergIs some way for BASSMIDI to not add the NRPN0120/CC74 event to the soundfont's cutoff as that ends up increasing the filter amount if it is less than 8000Hz, is that right ?

They can increase or decrease the cutoff. Values below 64 = decrease, values above 64 = increase. BASSMIDI never converts AWE32 NRPN to NRPN0120/CC74 values above 64 because the assumed default of 8000 Hz is the maximum.

Quote from: klergHow can BASSMIDI fully support AWE32 NRPN's and not just convert them to NRPN0120/CC74 or other GM2 common controller ?

It would need a new/separate event implemented in BASSMIDI for it. I'm just not sure the AWE32 NRPN is common enough to warrant that?

As I mentioned when posting the BASSMIDI update, the AWE32 NRPN are unlikely to sound exactly as intended, but better than nothing.

klerg

Quote from: Ian @ un4seenAny changes to NRPN0120/CC74 processing would mean that MIDI files that use those events would sound different to now. Such a change isn't always a bad thing if it's an improvement, but I don't think a rare AWE32 NRPN would justify it, especially as it still wouldn't be a totally accurate conversion (due to the absolute/relative difference).

Well it would be nice to hear how different the MIDI files that use NRPN0120/CC74 sound but I'd rather not mess with it. Yes it is hard to tell if it will be an improvement without hearing anything. Yes, same for me too, and even moreso when you factor in the whole absolute vs. relative situation. It is best to leave the NRPN0120/CC74 processing alone.

Quote from: Ian @ un4seenThey can increase or decrease the cutoff. Values below 64 = decrease, values above 64 = increase. BASSMIDI never converts AWE32 NRPN to NRPN0120/CC74 values above 64 because the assumed default of 8000 Hz is the maximum.

It is good to know can decrease the cutoff too. Nice to find out that how the values work as well. Yes that makes sense if 64 is the maximum default of 8000 Hz then no need to convert anything and it will all stay the same.

Quote from: Ian @ un4seenIt would need a new/separate event implemented in BASSMIDI for it. I'm just not sure the AWE32 NRPN is common enough to warrant that?

As I mentioned when posting the BASSMIDI update, the AWE32 NRPN are unlikely to sound exactly as intended, but better than nothing.

Yes and the new event will need to follow the spec sheets for AWE32 NRPN. Yes it is common enough do you need any help from me to do this ?

Sure, and as I mentioned when you posted the BASSMIDI, it sounds not bad and better than nothing. But I expected it to be closer to SB HW.

klerg

How hard is it to add a new event in BASSMIDI to fully support AWE32 NRPN's and is any way to help with that ?

Ian @ un4seen

Quote from: klergYes and the new event will need to follow the spec sheets for AWE32 NRPN. Yes it is common enough...

But is it? I don't recall seeing any MIDI files use AWE32 NRPN, other than the "The Nervous Filter" file you provided in this thread. Even none of the example files on the AWE32 installation CD (or SBLive/Audigy/X-Fi CDs) use those NRPN. Have you seen other MIDI files use them, and if so, where?

klerg

#33
Quote from: Ian @ un4seenBut is it? I don't recall seeing any MIDI files use AWE32 NRPN, other than the "The Nervous Filter" file you provided in this thread. Even none of the example files on the AWE32 installation CD (or SBLive/Audigy/X-Fi CDs) use those NRPN. Have you seen other MIDI files use them, and if so, where?

I'm not sure. But why does it matter how common the AWE32 NRPN are anyways ? The example MIDI files on SB Live/Audigy/X-Fi CD's only covers pop music. If you want to make EDM and similar styles with soundfonts then AWE32 NRPN support is needed. If I find one more MIDI file, will that be enough ?

Ian @ un4seen

That sounds like you want the AWE32 NRPN support for use in your own stuff rather than playing existing stuff? If so, wouldn't any filter control method work for you, ie. it doesn't specifically need to be AWE32 NRPN? Perhaps you could use the standard CC74/71 (for cutoff/resonance) instead?

klerg

Quote from: Ian @ un4seenThat sounds like you want the AWE32 NRPN support for use in your own stuff rather than playing existing stuff? If so, wouldn't any filter control method work for you, ie. it doesn't specifically need to be AWE32 NRPN? Perhaps you could use the standard CC74/71 (for cutoff/resonance) instead?

Yes I need AWE32 NRPN support for my own stuff, that is EDM, and playing existing stuff, it is both really. I do not think any filter control will work for me, it will be best if that is the AWE32 NRPN. No, as CC74/CC71 filter is 'off' and 'light' as heard with updated bassmidi.dll in the Nervous Filter MIDI.

How to add a new event in BASSMIDI to fully support AWE32 NRPN's ?

Ian @ un4seen

I checked it with absolute filter cutoffs and the "The Nervous Filter" file still didn't sound the same as the recording that Falcosoft posted earlier (using the same soundfont), so it would need more changes/additions than just that. Note the file also uses AWE32 NRPN 24 (Envelope 1 to Filter Cutoff) and AWE32 NRPN 7 (Envelope 1 decay time), which aren't supported by the BASSMIDI update, so that's probably at least part of the difference. But I also tried playing the file on an SB X-Fi Titanium card, and that didn't sound quite like Falcosoft's recording either, so I would need to dig out some even older SB hardware for reference. From previous experience, it could require a lot of time and effort to get right, for something that it seems hardly anyone would use, so I'm afraid there are no plans to add proper AWE32 NRPN emulation at this time.

klerg

How were you able to check with absolute filter cutoffs you had said BASSMIDI only supports relative ? But did it sound any better than the updated bassmidi.dll in this thread ? I hope it does not need too many changes/additions, but I have no clue. I see is any way to get AWE32 NRPN 24 (Envelope 1 to Filter Cutoff) and AWE32 NRPN 7 (Envelope 1 decay time) working in a newer bassmidi.dll ? Yes I think it will make a huge difference. Well the SB X-Fi Titanium uses EMU20K2 vs. EMU20K1 on the X-Fi XtremeMusic which is what I have and will try soon. Yes, the Audigy 2 ZS, which I also have may be the newest card that supports the AWE32 NRPN's. I see you have tried this before, as I mentioned it is too hard to fully match the AWE32 NRPN's, and I'm not the only person who uses it too. Anyone who is into EDM or electronica music needs this. Let's try better AWE32 NRPN emulation, tell me how I can help and will do my best to chip in.

Ian @ un4seen

Quote from: klergHow were you able to check with absolute filter cutoffs you had said BASSMIDI only supports relative ? But did it sound any better than the updated bassmidi.dll in this thread ?

I added some absoluate filter cutoff value support for AWE32 NRPN 21 just to see how it sounded, and the result is actually further from Falcosoft's recording than the update posted in this thread when playing the "The Nervous Filter" file. Note the preset used by that file has a default cutoff of around 600 Hz in Falcosoft's soundfont, not the 8000 Hz assumed by the update. So the update would actually be applying a much lower cutoff than specified by the AWE32 NRPN, ie. down to 37.5 Hz (4 octaves below 600) rather than 500 Hz. The preset also has an envelope that raises the cutoff by around 4000 Hz. The AWE32 NRPN 24 (Envelope 1 to Filter Cutoff) would be changing that amount.

Quote from: klergAnyone who is into EDM or electronica music needs this. Let's try better AWE32 NRPN emulation, tell me how I can help and will do my best to chip in.

I really don't think many people are going to be using AWE32 NRPN these days. Is AWE32 NRPN supported by anything other than old SB soundcards?

klerg

Quote from: Ian @ un4seenI added some absoluate filter cutoff value support for AWE32 NRPN 21 just to see how it sounded, and the result is actually further from Falcosoft's recording than the update posted in this thread when playing the "The Nervous Filter" file. Note the preset used by that file has a default cutoff of around 600 Hz in Falcosoft's soundfont, not the 8000 Hz assumed by the update. So the update would actually be applying a much lower cutoff than specified by the AWE32 NRPN, ie. down to 37.5 Hz (4 octaves below 600) rather than 500 Hz. The preset also has an envelope that raises the cutoff by around 4000 Hz. The AWE32 NRPN 24 (Envelope 1 to Filter Cutoff) would be changing that amount.

Nice that you were able to add absolute filter cutoff value support for AWE32 NRPN 21, but why did the end result sound worse than the updated bassmidi.dll posted in this thread ? Does that mean absolute vs. relative is not really a big deal ? Well I thought the updated bassmidi.dll only works if the cutoff is off or at 8000 Hz. I see so why can the filter barely be heard if the cutoff is at 37.5 Hz ? I may be lost on this, but hope you can clear things up for me here. Yes this seems to be the piece of the puzzle that is missing if you somehow put AWE32 NRPN 24 (Envelope 1 to Filter Cutoff) it will sound much closer to the SB hardware. I'm not sure if the soundfont makes a huge difference. To me, the soundfont does not negate the overall effect of the AWE32 NRPNs, can AWE32 NRPN 7 (Envelope 1 decay time) be added too ?

Quote from: Ian @ un4seenI really don't think many people are going to be using AWE32 NRPN these days. Is AWE32 NRPN supported by anything other than old SB soundcards?

As you know I'm not the only person in the world that uses the AWE32 NRPN. Well I think the X-Fi XtremeMusic works with it will know soon hopefully.