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 Feb 1, 2005, 02:47 PM   #1
DriverHeaven Lover
 
Join Date: Dec 2002
Posts: 120
Rep Power: 0
dungle is on a distinguished road

SF attack bug, any news?

hi,
Its been a while, Ive tried to search the forums but there seems to be no mention of the Soundfont attack bug.
It is not mentioned as an "issue" in th kx driver site. It is a very real problem last time I tested it (6.5 millisecond attack (minimum) ) making percusive envelopes sound "dull".
Its not immediatly obvious but does destroy SF sound quality and is the reason I'm not using kx at the moment.
I really wish this could be solved! (I'm willing to help if I can).
cheers
dungle is offline   Reply With Quote


Old Feb 1, 2005, 11:21 PM   #2
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Both Eugene and I have spend quite some time trying to fix this issue.
It is partialy fixed in latest 3538 releases.
That is; The 'false' Attack time is now 2~4 ms while it's curve is less pronounced.
But it's not instantly and therefore unfortunatly still audible.

Believe me that we would like to have this fixed as much as you do,
but this problem is not easily fixed.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Feb 2, 2005, 03:00 AM Threadstarter Thread Starter   #3
DriverHeaven Lover
 
Join Date: Dec 2002
Posts: 120
Rep Power: 0
dungle is on a distinguished road

I think thats a very positive development.
Does the attack time vary or is it constant system by system? I seem to remember measuring exactly 6.5 mS with an exponential increasing shape, that seemed to reflect other peoples reports.
I am interested in creating a utility that inserts (say 150 samples ~=3mS) of silence at the beginning and shifts the loop start and finnish by the same (simply add 150 to the entries in the wave descriptor). Most sequencers have time offset per track, that can be used to compensate.
Another approach (beyond my capability) would be to have a switch that applies this adjustment when the SF is loaded. The 3mS time compensation could then be handled by the VST host automagically (if the the plugin reports the latency).
When, at some time in the future, the bug is fixed, the switch can be turned of in the kx release without users having to take action.
Anyhow I am encouraged enough to return to kX!
cheers

ps. Creative drivers really do s*ck!
dungle is offline   Reply With Quote
Old Feb 2, 2005, 03:56 AM   #4
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Does the attack time vary or is it constant system by system
The 'faulty' attack time itself appears to be stable (constant) as far as I remember
but I would run some recording test if I were you.
I noticed not constant 'note start delay' differences during my latest test recordings
but I can not say for sure what caused it.

Quote:
I am interested in creating a utility that inserts (say 150 samples ~=3mS) of silence at the beginning
Yep, skipping the attack phase this way is a workaround.
You can use SoundFont SDK's sfedt functions and some GPL sound library like libsound
to speed up development.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Feb 3, 2005, 02:46 PM Threadstarter Thread Starter   #5
DriverHeaven Lover
 
Join Date: Dec 2002
Posts: 120
Rep Power: 0
dungle is on a distinguished road

Where is the download for Soundfont SDK?
I take it that source from libsound may be helpful (its OS specific). I'm not sure where to get this (after some searching) either.
thanks
dungle is offline   Reply With Quote
Old Feb 3, 2005, 11:28 PM   #6
DriverHeaven Newbie
 
Join Date: Dec 2003
Posts: 13
Rep Power: 0
kingme is on a distinguished road

http://developer.creative.com/articl...&top=51&aid=67
kingme is offline   Reply With Quote
Old Feb 4, 2005, 12:47 AM   #7
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

It's 'libsndfile' actualy (sry).
You may want to try other audio libs like JUCE
which does about almost 'everything'.

Btw; Once you've extracted the samples you could also
use plain WINMM i/o functions like mmioSeek mmioDescend etc. instead
to open and edit RIFF files. (see MSDN)

SF SDK; ( use google?)
http://developer.creative.com/articl...&top=51&aid=67

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Feb 4, 2005, 01:21 AM   #8
DriverHeaven Newbie
 
Join Date: Dec 2003
Posts: 13
Rep Power: 0
kingme is on a distinguished road

Any idea how to get sfms working on xp? It seems to be only for the Win98 bunch, as I'm coming up with legacy errors.
kingme is offline   Reply With Quote
Old Feb 4, 2005, 02:31 AM   #9
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Hmm,..I use the SF SDK in my own applications running under XP without problems.

If you mean the SF SDK examples; the only SDK example I've ever compiled was demo.32
and IIRC there were some external function declarations I had to change to get it to work.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Feb 4, 2005, 05:43 AM   #10
DriverHeaven Newbie
 
Join Date: Dec 2003
Posts: 13
Rep Power: 0
kingme is on a distinguished road

I actually meant the "router" the demo keeps talking about. Under SFMAN/redist of the sdk?
kingme is offline   Reply With Quote
Old Feb 4, 2005, 09:12 AM   #11
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Oh, that 'old crap'. Yep, afaik that doesn't work on XP and is redundant btw.
I use standard winmm midi functions in combination with ikx interface to route stuff.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Feb 5, 2005, 01:23 AM Threadstarter Thread Starter   #12
DriverHeaven Lover
 
Join Date: Dec 2002
Posts: 120
Rep Power: 0
dungle is on a distinguished road

hi,

I just thought of a problem with the workaround idea. If a sample is heavily pitch shifted, it will not be possible to time compensate completely as the leading silence will vary in length with the notes that are played.(doh!).
However with high quality multisampled fonts the time variation will be extremely small.
I'm playing with hacking Wavs with mmsystem calls atm, I'll post back if I come up with anything useful.
cheers
dungle is offline   Reply With Quote
Old Feb 5, 2005, 03:30 AM   #13
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by dungle
hi,

I just thought of a problem with the workaround idea. If a sample is heavily pitch shifted, it will not be possible to time compensate completely as the leading silence will vary in length with the notes that are played.(doh!).
cheers
You can easily verify this.

Just make a test sf with one or two sine waves.
Make one preset without leading silence,
and one with leading silence.
Record at different pitches to see the result.

(Things may not get as bad as they appear to get)

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Feb 5, 2005, 08:08 AM Threadstarter Thread Starter   #14
DriverHeaven Lover
 
Join Date: Dec 2002
Posts: 120
Rep Power: 0
dungle is on a distinguished road

To carify what I meant to say:

If a wavesample is in a zone that covers say an octave, then the silence will be twice as long on the bottom key as the top key of the zone. So if the silence is 2mS for the top key then the silence will be 4mS for the bottom key. The (wavesample) attacks will all be as they should be, but it will be difficult to compensate for the variable delay with a miditrack time offset.

However, with high quality multisampled SF's (eg drumkits) this wont be a problem because the playback speed of the samples will not vary much (if at all).

[re attack bug]
The last time I tested this was when the attack was 6.5mS minimum, I will definetly test it thoroughly as I finalise my workaround.

What I am working on is a comandline utility that accepts a wavfile and mS silence as arguments. It pads with silence and ajusts the loop points accordingly.
Batchfiles will invoke SF2comp to access the wavefiles and reconstruct the SF's with the patched wavefiles. I want to keep the learning curve to reasonable limits atm hence the use of SF2comp. Anyhow the wavfile part is nearly finalised.
I can make the files available somehow if anyone else is interested.
cheers
dungle is offline   Reply With Quote
Old Feb 8, 2005, 06:50 PM   #15
DriverHeaven Newbie
 
Join Date: Mar 2003
Posts: 5
Rep Power: 0
droc2003 is on a distinguished road

Isn't the 'soundfont bug' to which you refer something the Soundblaster does by design? I thought vca attack times of 7ms and longer automatically tie the filter to key velocity. It always did that with the Creative driver, too.
droc2003 is offline   Reply With Quote
Old Feb 8, 2005, 09:34 PM   #16
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

No.
Lex Nahumury is offline   Reply With Quote
Old Feb 9, 2005, 12:48 AM Threadstarter Thread Starter   #17
DriverHeaven Lover
 
Join Date: Dec 2002
Posts: 120
Rep Power: 0
dungle is on a distinguished road

Hello,
The tests I did some time ago, recording test font output from CT and kX drivers showed an instant attack when played through CT and had a 6.5mS attack when played by kX. This has since been vastly improved with recent updates. It seems that some fonts have waves with a short delay at the beginning (of silence) so that the small attack disappears completely.

I have developed a command line utility that pads a definable length of silence onto the beginning of a wav and adjusts the loop points by the same number of samples. A batchfile
calls sf2comp.exe to unpack the wavs, calls the silence padder, then reassembles the soundfont. The source for the padder is contained in a single, short file so I will post the source code here, along with the batchifile and link to SF2comp, if anyone is interested (should build ok with any windows compiler).
cheers
dungle is offline   Reply With Quote
Old Apr 6, 2005, 07:30 AM   #18
DriverHeaven Newbie
 
Join Date: Dec 2003
Posts: 13
Rep Power: 0
kingme is on a distinguished road

Please post it (or the compiled version). I'd like to see what it does.
kingme is offline   Reply With Quote
Reply

Thread Tools