|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 |
|
DriverHeaven Lover
Join Date: Dec 2002
Posts: 120
Rep Power: 0 ![]() |
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 |
|
|
|
|
|
#2 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
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 |
|
|
|
|
|
|
|
DriverHeaven Lover
Join Date: Dec 2002
Posts: 120
Rep Power: 0 ![]() |
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! |
|
|
|
|
|
#4 | ||
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
Quote:
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:
You can use SoundFont SDK's sfedt functions and some GPL sound library like libsound to speed up development. /LeMury |
||
|
|
|
|
|
|
|
DriverHeaven Lover
Join Date: Dec 2002
Posts: 120
Rep Power: 0 ![]() |
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 |
|
|
|
|
|
#6 |
|
DriverHeaven Newbie
Join Date: Dec 2003
Posts: 13
Rep Power: 0 ![]() |
|
|
|
|
|
|
#7 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
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 |
|
|
|
|
|
#8 |
|
DriverHeaven Newbie
Join Date: Dec 2003
Posts: 13
Rep Power: 0 ![]() |
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.
|
|
|
|
|
|
#9 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
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 |
|
|
|
|
|
#10 |
|
DriverHeaven Newbie
Join Date: Dec 2003
Posts: 13
Rep Power: 0 ![]() |
I actually meant the "router" the demo keeps talking about. Under SFMAN/redist of the sdk?
|
|
|
|
|
|
#11 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
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 |
|
|
|
|
|
|
|
DriverHeaven Lover
Join Date: Dec 2002
Posts: 120
Rep Power: 0 ![]() |
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 |
|
|
|
|
|
#13 | |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
Quote:
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 |
|
|
|
|
|
|
|
|
DriverHeaven Lover
Join Date: Dec 2002
Posts: 120
Rep Power: 0 ![]() |
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 |
|
|
|
|
|
#15 |
|
DriverHeaven Newbie
Join Date: Mar 2003
Posts: 5
Rep Power: 0 ![]() |
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.
|
|
|
|
|
|
#16 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,932
Rep Power: 64 ![]() ![]() ![]() ![]() |
No.
|
|
|
|
|
|
|
|
DriverHeaven Lover
Join Date: Dec 2002
Posts: 120
Rep Power: 0 ![]() |
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 |
|
|
|
|
|
#18 |
|
DriverHeaven Newbie
Join Date: Dec 2003
Posts: 13
Rep Power: 0 ![]() |
Please post it (or the compiled version). I'd like to see what it does.
|
|
|
|
![]() |
| Thread Tools | |
|
|