Author Topic: BASSMIDI Library update  (Read 446 times)

MIDAPMI

  • Posts: 109
BASSMIDI Library update
« on: 8 Apr '21 - 11:57 »
Any update on Bassmidi library like modulator. Btw! You are fixed the decay slope that shutdown notes fastly like blackmidi optimization?

Currently have these problem

Not support CC#7 CC#91 CC#93 to Attenuation Reverb and Chorus for adjust curves :)
Decay slope is very fastly. The audio noteoff slope and decay slope looks better in Fluidsynth. Making a smooth transitions when events is very short.
also i think that is same when volume controller go to  0 instantly makes a clip. (look Gogos.mxmf) from falcosoft demo.

Is all problem that founds at this time.  Others modulators are optionals, this modulators is required. Others can be adittional.

To full DLS compliant inside .sf2 needs GM2/GM cc to reverb and chorus followed of  fix decay/release slope.
To reach common modulators, Bassmidi lack cc#7 and the above modulator.


Ian @ un4seen

  • Administrator
  • Posts: 23656
Re: BASSMIDI Library update
« Reply #1 on: 8 Apr '21 - 17:49 »
I'm afraid there isn't any new modulator support, but the existing modulator support (except velocity->initialAttenuation) was recently improved to support all of the SF2 curves (linear/concave/convex/switch). If you would like to try that, the update is here:

   www.un4seen.com/stuff/bassmidi.zip

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #2 on: 12 Apr '21 - 11:48 »
you says that also improve the noteoff decay slope? due synthfont 2 beatnik and fluidsynth that is soft synths look more smooth than bass.

Ian @ un4seen

  • Administrator
  • Posts: 23656
Re: BASSMIDI Library update
« Reply #3 on: 12 Apr '21 - 15:05 »
No, it's only the modulator curve support that's changed, ie. how the modulator's source values are translated to the destination. Envelope shapes are unchanged.

rv

  • Posts: 333
Re: BASSMIDI Library update
« Reply #4 on: 13 Apr '21 - 10:20 »
Why not velocity->initialAttenuation  ? ;D

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #5 on: 13 Apr '21 - 15:31 »
Why not velocity->initialAttenuation  ? ;D

Haha, same request here. I have a creative soundblaster original and support without problems. But i think that need improvements on the end decay/release slope for reduce artifacts or clips in note when volume is from 127 to 0 instantly.

Ian @ un4seen

  • Administrator
  • Posts: 23656
Re: BASSMIDI Library update
« Reply #6 on: 13 Apr '21 - 17:01 »
The velocity->initialAttenuation modulator is currently hardcoded to use the standard negative unipolar concave curve.

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #7 on: 13 Apr '21 - 18:38 »
The velocity->initialAttenuation modulator is currently hardcoded to use the standard negative unipolar concave curve.

Some gm2 instruments uses linear in this :V I think that this not will be available on a long time. In this case can not be emulate full hw synth based on DLS/sf2 Bank

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #8 on: 13 Apr '21 - 18:44 »
http://midapmimobile.ml/?dir=Soundfonts/Symbian
Here a soundfont that have lastest modulators.

Requires BassMidiFontInitFlags
0x100000 (Linattmod)
Is Symbian 60 BASE.

In comparison to the previos update the sound look very more closer.
« Last Edit: 13 Apr '21 - 18:49 by MIDAPMI »

rv

  • Posts: 333
Re: BASSMIDI Library update
« Reply #9 on: 14 Apr '21 - 01:00 »
I think the velocity->initialAttenuation  negative unipolar concave curve, is what they call a Default modulator, but can be modified by other values if exists

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #10 on: 14 Apr '21 - 03:01 »
I think the velocity->initialAttenuation  negative unipolar concave curve, is what they call a Default modulator, but can be modified by other values if exists

The last priority is CC#7 as if is encrypted or hardcode, will be hard to ian to decode and add any controller to this.

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #11 on: 16 Apr '21 - 17:51 »
S40 seems better with last update

Ian @ un4seen

  • Administrator
  • Posts: 23656
Re: BASSMIDI Library update
« Reply #12 on: 6 May '21 - 14:17 »
Here's a BASSMIDI update that adds support for the other curves with the velocity->initialAttenuation modulator, but only if the default curve is disabled (0 amount). It also adds support for the velocity->modEnvToFilterFc and velocity->startAddrsOffset modulators.

   www.un4seen.com/stuff/bassmidi.zip

rv

  • Posts: 333
Re: BASSMIDI Library update
« Reply #13 on: 6 May '21 - 22:14 »
Code: [Select]
but only if the default curve is disabled (0 amount)
So we need to create 2 modulators, one for disabling the default curve, and another one to define another curve with another value?
Is it following the SF2 specs?

Ian @ un4seen

  • Administrator
  • Posts: 23656
Re: BASSMIDI Library update
« Reply #14 on: 7 May '21 - 15:54 »
Yes, the only way to disable a default SF2 modulator is to set its amount to 0. For example, when you delete a default modulator in Vienna, it actually adds a 0 amount modulator to the SF2 file. So you shouldn't need to add another modulator for that yourself - just delete the default one and add the custom one.

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #15 on: 16 May '21 - 19:34 »
I'm afraid there isn't any new modulator support, but the existing modulator support (except velocity->initialAttenuation) was recently improved to support all of the SF2 curves (linear/concave/convex/switch). If you would like to try that, the update is here:

   www.un4seen.com/stuff/bassmidi.zip

Worked first but now not doesn't work Linear curve in velocity to attenuation mod. Can fix?
btw! bassmidi always play samples delayed, Test fluidsynth, Timidity, Beatnik, Synthfont or any non-bassmidi sf2 player and look the difference. i like more timidity performance but bassmidi modulators.

Not is CPU, cpu not exceeds more than 15% have 6GB ram ddr3 1333

Another, if i set the noteoff delay to 10-12ms solves problem and sound is closer to others. But when kill last note on as noteoff is enabled this features doesn't work and don't work with all midis except is patched it. need be override kill last note on as noteoff for delay also. What is the problem with bassmidi pressure the release to skip. mean a curve?.

More easy. ¿This flag can be replaced with a "10ms" hold release or any form to set and bassmidi don't cut, skip notes?
« Last Edit: 17 May '21 - 00:04 by MIDAPMI »

Ian @ un4seen

  • Administrator
  • Posts: 23656
Re: BASSMIDI Library update
« Reply #16 on: 17 May '21 - 17:09 »
Worked first but now not doesn't work Linear curve in velocity to attenuation mod. Can fix?

Please upload a test SF2 file for the problem here:

   ftp.un4seen.com/incoming/

btw! bassmidi always play samples delayed, Test fluidsynth, Timidity, Beatnik, Synthfont or any non-bassmidi sf2 player and look the difference. i like more timidity performance but bassmidi modulators.

The delay will primarily be determined by the output buffer size. The BASSMIDI stream's BASS_ATTRIB_BUFFER option can be set to 0 to minimize that.

Another, if i set the noteoff delay to 10-12ms solves problem and sound is closer to others. But when kill last note on as noteoff is enabled this features doesn't work and don't work with all midis except is patched it. need be override kill last note on as noteoff for delay also. What is the problem with bassmidi pressure the release to skip. mean a curve?.

BASSMIDI does not have a noteoff delay option, so I guess that is something added by the software you're using?

MIDAPMI

  • Posts: 109
Re: BASSMIDI Library update
« Reply #17 on: 20 May '21 - 03:27 »
1- This issue is solved after read the answer of above that say that need add a one default curve to 0 for disable the default curve and after need add your desired curve. Now works :), do you want add also the cc#7, If you add this can emulate 100% the irez platform from JAVA except decay curves that not is very important.

2- Lastest library of bass.dll and bassmidi.dll solves minor issues and improve the perfomance.

3- remember other post i want ask if the Amplitude Compesation or normalizer can be applied to flag option like old flags
« Last Edit: 20 May '21 - 13:52 by MIDAPMI »

Ian @ un4seen

  • Administrator
  • Posts: 23656
Re: BASSMIDI Library update
« Reply #18 on: 21 May '21 - 16:16 »
I'm afraid there are still no plans for CC#7 modulator support.

Regarding the amplitude compensation thing, from the attached image it looks like you mean modifying CC#7 values? If so, that could be implemented with BASS_MIDI_StreamSetFilter. A compressor effect (eg. the BASS_FX add-on's BASS_FX_BFX_COMPRESSOR2 option) may be another way to achieve what you want.