HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Hardware reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > SoundFonts and MIDI


Reply
 
Thread Tools
Old Jan 14, 2003, 05:23 PM   #1
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 31
Rep Power: 0
starless72 is on a distinguished road

Sad Soundfont velocity problems

Hi, I installed the kX drivers on my system today, to try out getting a smaller latency. I've got a SBLive Value and I use WinXP Pro.
The first installation crashed (BSOD), but the second went fine, the drivers work and having low latency is great.

Anyway, I'm experiencing some problems with a soundfont I often use, the famous (I believe) "Melotti drums", a great free acoustic drumkit.
As far as I can tell, this soundfont should NOT be affected by the soundfont issues listed in kX docs. Indeed, my problem is different.

This soundfont is carefully layered and dynamically balanced, so that different samples are played according to key velocity, each one increasing in volume as velocity increases. This all works fine with the official Creative drivers.
With kX drivers, instead, the sounds do not correctly respond to velocity.

As an example, I'll report the first two things I noticed:

1) the open hi-hat key normally triggers both an "attack" and a "body+decay" samples, even when played at low velocity; with kX drivers, instead, only the "attack" sample is played until you reach a high velocity value;

2) various drum sounds seem much more flat with kX drivers, as if their intensity did not vary according to velocity, or as if it varies within a much smaller dynamic range.

I created a simple Cubasis track which can be used to hear these differences, when played on two systems with the two different drivers installed.

Does anyone have any clue about this? Using that drum soundfont is very important to me...

Thanks a lot!
starless72 is offline   Reply With Quote


Old Jan 22, 2003, 03:53 PM   #2
DriverHeaven Newbie
 
Join Date: Jan 2003
Location: Leiden, The Netherlands
Posts: 14
Rep Power: 0
strangeloop is on a distinguished road

I installed the kX-drivers this morning and they're superb. I haven't tried all SoundFont features yet, but I'll see if I can reproduce your problem (I've got some fine multilayered drums too ) and then I'll let you know.
__________________
This inert sentence is my body, but my soul is alive, dancing in the sparks of your brain
strangeloop is offline   Reply With Quote
Old Jan 23, 2003, 06:12 PM   #3
DriverHeaven Newbie
 
Join Date: Jan 2003
Location: Leiden, The Netherlands
Posts: 14
Rep Power: 0
strangeloop is on a distinguished road

OK, I've tried some multilayered soundfonts now (including the 'famous Melotti Drums' ), and they worked fine for me. All multilayering is working OK, everything is functioning just as it did with the Creative drivers.

So I feel sorry for you but the problem isn't in the kX drivers I think.
__________________
This inert sentence is my body, but my soul is alive, dancing in the sparks of your brain
strangeloop is offline   Reply With Quote
Old Jan 23, 2003, 08:53 PM Threadstarter Thread Starter   #4
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 31
Rep Power: 0
starless72 is on a distinguished road

Pissed

Damn... thanks a lot for your testing. Let me take the opportunity and ask you some details.

First of all, what's your system configuration? I have a SBLive Value and I use WinXP Pro.

Then: I did not test all differences with Melotti Drums between kX and Creative, but one of the most evident differences is on the lower A# key, which controls the open hi-hat sound. If I press it at low velocity with kX drivers, only a very short hi-hat sound is played, and the real open hi-hat sound (the long one) is played only on very high velocity values, while with Creative drivers the open sound is ALWAYS played.
Can you please tell me if this particular sound behaves correctly on your system? Thanks.

Finally: which kX version do you have installed? I installed the current beta release, 5.10.0.3528. I might try installing the stable one, 5.10.0.3526, if this helps.

Any word about it from the developers would be very appreciated.

Kind regards.
starless72 is offline   Reply With Quote
Old Jan 24, 2003, 10:35 AM   #5
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

well, use 3528 -- this release seems to be very stable

there might be some problems with velocities, because this part of SoundFont subsystem hasn't been tested intensively.
in order to help us in our bug tracking, could you please create a _small_ soundfont with, say, one-two samples, that would show the difference (and provide 1 MIDI and 2 WAV files -- one for kX & for Creative drivers)

thanks

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Jan 27, 2003, 12:52 AM Threadstarter Thread Starter   #6
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 31
Rep Power: 0
starless72 is on a distinguished road

Sample files

Ok, thanks a lot for your reply.
I'm now going to send you the files to the kxproject email address.
starless72 is offline   Reply With Quote
Old Jan 28, 2003, 12:22 PM   #7
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

btw, in the future I would like to ask all the kX Community to avoid sending large files to kxproject @ hotmail.com, simply because the account's limit is 2Mb. use any free WWW / FTP servers or send us a confirmation message to hotmail -- we will specify our different e-mail address [private] that can be used for larger transfers.
thanks

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Jan 28, 2003, 05:02 PM   #8
DriverHeaven Newbie
 
Join Date: Jan 2003
Location: Leiden, The Netherlands
Posts: 14
Rep Power: 0
strangeloop is on a distinguished road

Tested

Starles72, I tested it again, especially the lower A#-key with the Open Hihat - and it's working just like it should and like you say it should .

This is my configuration:

Windows 2000 Professional
SBLive 5.1 OEM
kX drivers release 3528
Melotti Drums in bank 1
Some GM Bank in bank 0

I use Awave Studio 8.5 to audition the samples. (I don't think the sequencer or MIDI-software makes the difference, but hey, with such strange problems at hand one should not exclude things too fast .) What equipment and what software do you use to (re)produce the problem?

Did you try to draw the velocity controllers rather than hitting a key on your keyboard? That way, you can exclude your keyboard (or your hitting-it, for that matter) from being the cause.

Regards,

S
__________________
This inert sentence is my body, but my soul is alive, dancing in the sparks of your brain
strangeloop is offline   Reply With Quote
Old Jan 28, 2003, 07:21 PM Threadstarter Thread Starter   #9
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 31
Rep Power: 0
starless72 is on a distinguished road

EEK!

Indeed, strangeloop, you got it right! The software used makes the difference.

I download Awave Studio 8.6 trial, and Melotti Drums sounds just fine in there, on my WinXP Pro with kX drivers.
Actually, I don't even need to load the soundfont in the kX soundfont manager: Awave Studio loads it automatically.

I normally use Cubasis VST 4.0, and the problem I reported appears there. The problem is that I need the soundfonts exactly to use them in Cubasis...
I was not aware of other programs able to play soundfont; I just tried 2-3 VSTi soundfont players, again through Cubasis, but they all showed the same problem (and maybe even more).

Cubasis together with the original Creative drivers worked fine on this same system, anyway.

About velocity: as I already wrote, I created a small MIDI track on purpose; it contains just a few notes with increasing velocity, uniformly ranging from 0 to 127, so I can exclude a keyboard (or player ) fault.

To Eugene: sorry, I did my best to reduce the size of attached files.

Thanks.
starless72 is offline   Reply With Quote
Old Feb 15, 2003, 06:15 PM Threadstarter Thread Starter   #10
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 31
Rep Power: 0
starless72 is on a distinguished road

Hi Eugene,
kX drivers version 3529 fixed my problem, thanks!

Anyway, although any evident velocity problem has been fixed, it still seems to me that the velocity dynamics with kX are a little worse than with the Creative drivers, as if the soundfont response for extreme (very high and very low) velocity values was not exactly correct.

I can't easily tell where's the problem, currently. Maybe it's also related to the attack/release problem someone else reported. Will see what happens when 3530 is out.

Bye and thanks again.
starless72 is offline   Reply With Quote
Old Mar 17, 2003, 08:42 AM   #11
DriverHeaven Junior Member
 
Join Date: Mar 2003
Location: India
Posts: 25
Rep Power: 0
mercurysquad is on a distinguished road

rolleyes Velocity dynamics: I think i know the problem AND I NEED IT FIXED!

I'm hoping the kxDriver authors read this!

Quote:
Starless27: 2) various drum sounds seem much more flat with kX drivers, as if their intensity did not vary according to velocity, or as if it varies within a much smaller dynamic range.2) various drum sounds seem much more flat with kX drivers, as if their intensity did not vary according to velocity, or as if it varies within a much smaller dynamic range.
There's no problem with Starless' setup, neither is the problem with a particular soundfont, the problem is with the kX Driver's MIDI implementation. I think the volumes associated with note velocity and midi channel volume are linearly calculated. That gives a very flat response at high velocities. If the volume intensity be switched to logarithmic (like left part of a downward parabolic curve) the problem may be fixed (as winamp's directsound output driver uses).

For example, on the creative drivers, velocity 64 is clearly heard at half the volume of velocity 127 but on kX drivers, there's barely a 10% reduction in volume. I've tested this also with midi channel volume. And together, these two cause the overall volume balance of MIDI files to sound very different from what the composer intended. All the midis that I've made sound unbalanced on kX, even though I load the original soundfonts used to create the song.

Quote:
Starless: Indeed, strangeloop, you got it right! The software used makes the difference. I download Awave Studio 8.6 trial, and Melotti Drums sounds just fine in there, on my WinXP Pro with kX drivers.
As far as I know, Awave is a synthesizer on its own and doesn't use the SB Live!'s hardware midi synth (or kx for that matter).

So: fix the volume intensity calculation for the note velocities and channel volume. Change them to logarithmic. That's the only thing needed to make the kX driver's midi playback perfect (other than the stereo samples but I've had no problems with that).

Also, I've not tested whether this problem occurs with the sample/layer/preset volumes set in the soundfont itself. I think since they are specified directly in decibels that shouldn't be a problem. The velocity and channel volumes however definitely do have a problem.

My setup: SB Live! CT4832, Win XP Pro, kxDriver 3530 and originally I used the latest creative drivers. Note that I don't have a midi keyboard so there's no question of that being the problem. All my testing was done in cakewalk using hand-drawn velocities and channel volumes. Having used kxDrivers, I don't want to switch back to the creative ones, and so I desperately need the problem fixed (in 3531? ).

And another thing; I saw numerous posts about kx soundfont control panel not able to load large soundfonts. I had a problem too. But I tried another soundfont manager - Soundfont Express Loader and it loaded the soundfont without any problems (and faster too). kx soundfont control panel also showed the soundfont loaded (it's 56 mb) and everything worked perfect.

Thanks for reading it to the end.
/Prashant (mercurysquad) reachable at mercurysquad @ yahoo . com
mercurysquad is offline   Reply With Quote
Old Mar 17, 2003, 10:07 PM Threadstarter Thread Starter   #12
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 31
Rep Power: 0
starless72 is on a distinguished road

Quote:
I think the volumes associated with note velocity and midi channel volume are linearly calculated. That gives a very flat response at high velocities. If the volume intensity be switched to logarithmic (like left part of a downward parabolic curve) the problem may be fixed (as winamp's directsound output driver uses).

For example, on the creative drivers, velocity 64 is clearly heard at half the volume of velocity 127 but on kX drivers, there's barely a 10% reduction in volume.
Well, if you are asking for velocity 64 to be heard at half volume of velocity 127, then you are exactly asking for LINEAR velocity. If it wasn't linear, the volume of velocity 64 would be something different from velocity 128 / 2. Try drawing a graph to see it.

If kX drivers don't provide the desired result, this means they are using some other sort of scaling. I don't know which scaling is right, but I can hear that something must be slightly wrong. Thanks for confirming that it's not my ears' fault.
starless72 is offline   Reply With Quote
Old Mar 18, 2003, 01:42 PM   #13
DriverHeaven Junior Member
 
Join Date: Mar 2003
Location: India
Posts: 25
Rep Power: 0
mercurysquad is on a distinguished road

Yes the velocities are linear but not the volumes you hear. You see, MIDI note velocities are just a measure of how hard the key is pressed - not how loud or soft it sounds. So, a MIDI synth might for example relate the velocity to filter cutoff. But SB Live! synth (and most other synths) relates it to how loud it sounds.

In my opinion, the kx Driver works this way:

vel 128 = max amplitude of generated waveform
vel 64 = max / 2
vel 32 = max / 4 etc..

However, the human ear does not perceive twice amplitude as twice loudness. It works logarithmically (or exponentially, whatever the right word is). Specifically, perceived loudness = sq-root of amplitude. That way, to increase the percieved loudness to two times, you will have to increase the amplitude 4 times. (I took my grade 11 physics exam less than a week ago hehe )

So, when the kx Driver encounters the velocity 128 of a note, it plays it at maximum amplitude. When it is 64, it plays it at max/2 volume -- that's what is LINEAR. However, to give the correct impression of the volume decreased to half, it should be played at max/4 amplitude.

To sum up, (i've not seen the actual code so I'm guessing):

current formula used by kx : amplitude = max / (velocity/127)
formula that should be used: amplitude = max / ((velocity/127)^2)

I think Eugene should really try that (only one line change in code) and see if it sounds better that way. Also, the same formula should apply also to the midi channel volume.

That's all. Cheers!

/mercurysquad
mercurysquad is offline   Reply With Quote
Old Mar 18, 2003, 01:44 PM   #14
DriverHeaven Junior Member
 
Join Date: Mar 2003
Location: India
Posts: 25
Rep Power: 0
mercurysquad is on a distinguished road

error

I'm sorry that should've been velocity 127 everywhere instead of velocity 128.
mercurysquad is offline   Reply With Quote
Old Mar 18, 2003, 11:50 PM Threadstarter Thread Starter   #15
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 31
Rep Power: 0
starless72 is on a distinguished road

Oh, ok, now I see: you are saying that the velocity response with Creative drivers is linear in dB, while in kX drivers it's plain linear, which turns out to be logarithmic when converted to dB (by the human ear, we could say), and so sounds dull in the high range.

Well, uhm... I don't know if this is the real problem, but anyway, if kX drivers really contained such a big mistake, I'd expect the difference with the Creative drivers to be VERY evident, even when absently hitting the keys on an external MIDI keyboard. Instead, I think it's rather subtle, although clearly audible by the experienced ear.

And I'd also expect the code which controls the soundfont output volume to be something more than one line, but I'll leave this to the developers.
starless72 is offline   Reply With Quote
Old Mar 20, 2003, 07:29 AM   #16
DriverHeaven Junior Member
 
Join Date: Mar 2003
Location: India
Posts: 25
Rep Power: 0
mercurysquad is on a distinguished road

Quote:
but I'll leave this to the developers.
Ditto here.
mercurysquad is offline   Reply With Quote
Old Mar 21, 2003, 02:22 AM   #17
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

the present formula: vol = (velocity * VolumeCC(7) * ExpressionCC(11)) / (127*127);

[vol is 0..127]

final_vol=linear_vol_to_dB(vol)+initial_attennuati on(in dB from the SoundFont parameters);

I'll check if 'linear_vol_to_dB' works correctly

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 11, 2003, 09:56 PM   #18
DriverHeaven Junior Member
 
Join Date: Jul 2002
Location: Hotlanta!
Posts: 39
Rep Power: 0
lovswr is on a distinguished road

Quote:
Originally posted by starless72
--SNIP--

I was not aware of other programs able to play soundfont; I just tried 2-3 VSTi soundfont players, again through Cubasis, but they all showed the same problem (and maybe even more).--SNIP--
Cakewalk/SONAR have offered soudfont support at least since cakewalk 6.0 For excellent free soundfonts, I would suggest a search on Hammerfiles.
__________________
[color=red]ASUS A8V Deluxe v2.00[/color][color=red] [/color]
[color=red]AMD 64 3000+[/color][color=red] [/color]
[color=red]Zalman CNPS7700-AICu[/color][color=red] [/color]
[color=red]1GB DDR PC3400 (don't ask)[/color][color=red] [/color]
[color=red]Maxtor 4D040H2[/color][color=red] [/color]
[color=red]WDC WD1600JB-00FUA0[/color][color=red] [/color]
[color=red]Radeon 9800 Pro Omega 4.6[/color][color=red] [/color]
[color=red]VIA 8 ch onboad sound[/color]
[color=#ff0000]Marvel (on board) G lan[/color][color=red] [/color]
[color=red]Acer 50X CD[/color][color=red] [/color]
[color=red]Lite-On 52X/32X/52X CD-RW[/color][color=red] [/color]
[color=red]Lite-On 8X/4X/12X/40X/24X/40X DVD-RW/CD-RW[/color]
lovswr is offline   Reply With Quote
Reply

Thread Tools