|
From: Tobias E. <t.e...@gm...> - 2004-06-03 19:45:47
|
Hi everyone, just came by the following site, which compares the quality of the resampling-algos in the different samplers. Thought that perhaps this might be interesting... http://www.djlaser.com/public/samplers/ Best regards, Tobias |
|
From: Sebastien M. <me...@me...> - 2004-06-03 20:10:54
|
Sorry to get out of my hole but i think this study is pretty stupid and ignorant of the actual purpose of a sampler. The purpose of a sampler is to replay samples as close to their sampling frequency as possible in order to acheive a high level of realism. If you want synthesis then this is a whole diferent issue, and then high quality resampling with filtering and multipoint interpolation not only makes sense but is also a must. However in most cases linear interpolation is really good enough for samplers. If you want to use your sampler as a sound creation tools you WILL use the artifacts. Except this case, no sane sound bank designer would use a sample more that 5 halftones from its root key (actually 1 or 2 seems to be the standard). Sebastien Tobias Erichsen wrote: >Hi everyone, > >just came by the following site, which compares the quality of the >resampling-algos in the different samplers. > >Thought that perhaps this might be interesting... > >http://www.djlaser.com/public/samplers/ > >Best regards, >Tobias > > > > > |
|
From: <be...@ga...> - 2004-06-04 07:06:35
|
I agree with Sebastien here, resampling by too big factors causes bad shifting of formants even if you use the highest quality resampling method and natural instruments would sound very bad. (try to span a piano sample over 2 octaves or so). sfz+ uses bandlimited interpolation which is very high quality (no aliasing if you upsample high frequency content) but this method of interpolation can consume an unlimited amount of CPU as you go higher with resampling factors. I think cubic interpolation is the best compromise because it is fast and offers good quality when downsampling or upsampling in ranges where you don't hit the nyquist frequency. eg a 15KHz sine upsampled by 1 octave (played at speed factor 2) would sound good with bandlimited interpolation since it would filter the frequencies above 15kHz. 15KHz * 2 = 30kHz, apply the samplerate/2 (about 20KHz) filter and what you get is silence, which is better than those ghost frequencies eg (22 - 15 = 7kHz). But as Sebastien said, if you sample each 2-5 semitones you don't run into these problems plus you avoid that too much formant shifting causes unnatural sound. cheers, Benno http://www.linuxsampler.org Scrive Sebastien Metrot <me...@me...>: > Sorry to get out of my hole but i think this study is pretty stupid and > ignorant of the actual purpose of a sampler. The purpose of a sampler is > to replay samples as close to their sampling frequency as possible in > order to acheive a high level of realism. If you want synthesis then > this is a whole diferent issue, and then high quality resampling with > filtering and multipoint interpolation not only makes sense but is also > a must. However in most cases linear interpolation is really good enough > for samplers. If you want to use your sampler as a sound creation tools > you WILL use the artifacts. Except this case, no sane sound bank > designer would use a sample more that 5 halftones from its root key > (actually 1 or 2 seems to be the standard). > > Sebastien > > > Tobias Erichsen wrote: > > >Hi everyone, > > > >just came by the following site, which compares the quality of the > >resampling-algos in the different samplers. > > > >Thought that perhaps this might be interesting... > > > >http://www.djlaser.com/public/samplers/ > > > >Best regards, > >Tobias > > > > > > > > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the one > installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Linuxsampler-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel > ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: Mark K. <mk...@co...> - 2004-06-04 14:22:48
|
be...@ga... wrote: > I agree with Sebastien here, resampling by too big factors causes > bad shifting of formants even if you use the highest quality > resampling method and natural instruments would sound very bad. > (try to span a piano sample over 2 octaves or so). > > sfz+ uses bandlimited interpolation which is very high quality > (no aliasing if you upsample high frequency content) but this method > of interpolation can consume an unlimited amount of CPU as you > go higher with resampling factors. > I think cubic interpolation is the best compromise because it is > fast and offers good quality when downsampling or upsampling in ranges > where you don't hit the nyquist frequency. > eg a 15KHz sine upsampled by 1 octave (played at speed factor 2) would > sound good with bandlimited interpolation since it would filter > the frequencies above 15kHz. > 15KHz * 2 = 30kHz, apply the samplerate/2 (about 20KHz) filter and > what you get is silence, which is better than those ghost frequencies > eg (22 - 15 = 7kHz). > But as Sebastien said, if you sample each 2-5 semitones you don't run > into these problems plus you avoid that too much formant shifting causes > unnatural sound. > > cheers, > Benno > http://www.linuxsampler.org I agree with the both of you. Resampling is generally not the way to go. I will relate one problem I ran into a while back with GSt where this would have been useful. I got a message from a guy in Europe somewhere about wanting to collaborate on a tune. He sent me a Pro Tools session, both MIDI and audio. I didn't notice that the session was at 48K. I do all of mine at 44.1K, which is the sample rate of all GSt libraries that I own. However, since I connect Pro Tools and GSt, which are on different computers, through an ADAT digital sync supplied over optical cables, GSt started running at 48K, the Pro Tools session speed, instead of 44.1K, the sample rate of the libraries. It turns out that this frequency change is almost exactly a whole note high, being just a bit out of tune (try it yourself some time) so I thought he had just made a mistake in his guitar tunings. It wasn't until later that I was using both GSt and my guitars that I discovered the problems. It would have been nice, in this specific case, to have a way for GST (now LS) to accept a 48K clock and resample the 44.1K library into that rate to keep the tuning correct. Granted it would never sound as good as if the session had been done at 44.1K, but it would make LS more useful to do this. What I ended up doing was taking the MIDI tracks that went to LS and transposing them by a whole step and then creating off-tuning GSt session files to get the thing tuned into the audio from Pro Tools. what a mess! ;-) This is not an issue when you use and audio connection as LS will run at 44.1K in stand alone mode. - Mark |
|
From: <be...@ga...> - 2004-06-04 18:13:16
|
Hi Mark, A few points on the matter: playing samples transposed by 48000/44100 = 1.088 will not cause only a pitch transpose but a shifting in the formants too (eg pitch up a voice and you hear the mickey mouse effect). So those big sample libraries that are sampled key by key (chromatically) would technically suffer since the formant frequencies are not like in the original, so they sound a bit worse. Its strange that GSt does not support this since it's not so hard to do. incorporating the feature in LS is quite easy, from a technical point of view you just do the following. let's make an example: library_samplerate = 44100; soundcard_samplerate = 48000; when playing a note you do (for example) root_note_frequency = 440 ( 440Hz note) the A above middle C I want to play the sample one octabe higher (+12 semitones), pitch = +12 we need to calculate the speedup factor. (the position increment per sample). so you do factor=2^(pitch/12) * library_samplerate / soundcard_samplerate; if the library and soundcard sample rates are the same then the resulting factor would be 2.0 (playing the sample one octave higher). if the sample rates differ the factor would be adjusted for the new sample rate. And contrary to your belief Mark if you use decent interpolation algorithms (like cubic and higher order ones) the resulting sound quality would not suffer since the shape of curves are smoothly interpolated. If you play high Hz sounds (eg 10Khz and up) of a 44.1kHz sample through a 96KHz audio card it sounds crisper since the waves are mode of more sample points. But keep in mind that doubling the sample rate doubles the CPU load too since the sampler has to process twice the amount of samples per time unit. Don't worry LS will provide this feature. (it does not support that feature yet so and if you play some non 44kHz GIG files in LS they sound wrong). PS: the advantage of using the same sample rate for the library and for the audio out is that you can in some cases skip interpolation completely (especially in those chromatically sampled instruments) which can greatly speed up the sampling routines thus leading to much higher polyphony (assuming that the disk can keep up :) ) cheers, Benno http://www.linuxsampler.org Scrive Mark Knecht <mk...@co...>: > > I agree with the both of you. Resampling is generally not the way to go. > I will relate one problem I ran into a while back with GSt where this > would have been useful. > > I got a message from a guy in Europe somewhere about wanting to > collaborate on a tune. He sent me a Pro Tools session, both MIDI and > audio. I didn't notice that the session was at 48K. I do all of mine at > 44.1K, which is the sample rate of all GSt libraries that I own. > However, since I connect Pro Tools and GSt, which are on different > computers, through an ADAT digital sync supplied over optical cables, > GSt started running at 48K, the Pro Tools session speed, instead of > 44.1K, the sample rate of the libraries. It turns out that this > frequency change is almost exactly a whole note high, being just a bit > out of tune (try it yourself some time) so I thought he had just made a > mistake in his guitar tunings. It wasn't until later that I was using > both GSt and my guitars that I discovered the problems. > > It would have been nice, in this specific case, to have a way for GST > (now LS) to accept a 48K clock and resample the 44.1K library into that > rate to keep the tuning correct. Granted it would never sound as good as > if the session had been done at 44.1K, but it would make LS more useful > to do this. > > What I ended up doing was taking the MIDI tracks that went to LS and > transposing them by a whole step and then creating off-tuning GSt > session files to get the thing tuned into the audio from Pro Tools. what > a mess! ;-) > > This is not an issue when you use and audio connection as LS will run at > 44.1K in stand alone mode. > > - Mark > > ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: Mark K. <mk...@co...> - 2004-06-04 18:23:50
|
be...@ga... wrote:
> Hi Mark,
> A few points on the matter:
>
Benno,
I was only relating a story. I was not asking for a feature request
or any changes to your development plans.
If you guys *want* to support stuff like this then that's cool, but
please remember that I did not request it. If it's there eventually I
*may* use it, of course.
Good luck,
Mark
|
|
From: <be...@ga...> - 2004-06-04 19:03:47
|
I did not interpret your message as a feature request. it's just that a decent softsampler should support independent sample rates for libraries and audio output and since this feature is very easy to implement and does not use additional CPU when library sample rate = audio card sample rate so I see no reason not to implement it :) I'm still wondering why GSt does not support it. Mark a question: if you have a sound card that can do up to 96Khz (44,48,88,96). Assume you use a 44.1kHz GIG. What happens if you want to work with higher sample rates because your other audio files are all using this higher sample rate ? As you said in the library SR=44kHz, souncard SR=48kHz you experience the nasty pitch transpose effect. But if you use 88kHz on the soundcard ? Can GSt avoid pitch transpose in that case since it's just twice the original sample rate (44.1kHz) ? Or does it play all notes at twice of the pitch ? just curious :) PS: please when replying reply only to the list otherwise the poster always gets two messages. cheers, Benno Scrive Mark Knecht <mk...@co...>: > be...@ga... wrote: > > Hi Mark, > > A few points on the matter: > > > > Benno, > I was only relating a story. I was not asking for a feature request > or any changes to your development plans. > > If you guys *want* to support stuff like this then that's cool, but > please remember that I did not request it. If it's there eventually I > *may* use it, of course. > > Good luck, > Mark > ------------------------------------------------- This mail sent through http://www.gardena.net |
|
From: Mark K. <mk...@co...> - 2004-06-04 20:14:45
|
be...@ga... wrote:
> I did not interpret your message as a feature request.
> it's just that a decent softsampler should support independent
> sample rates for libraries and audio output and since
> this feature is very easy to implement and does not use additional
> CPU when library sample rate = audio card sample rate
> so I see no reason not to implement it :)
> I'm still wondering why GSt does not support it.
>
> Mark a question: if you have a sound card that can do up to 96Khz
> (44,48,88,96).
> Assume you use a 44.1kHz GIG.
> What happens if you want to work with higher sample rates because
> your other audio files are all using this higher sample rate ?
> As you said in the library SR=44kHz, souncard SR=48kHz you experience
> the nasty pitch transpose effect.
I can't say exactly, but one of these days I could setit up and try it.
Here's the reason:
Pro Tools <===> 002R <<============>> RME HDSP9652 <==>GSt
48K ADAT Cable 96KHz Card
Digital sync-->
Since I use an ADAT optical cable between Pro Tools and GSt the only
options I have are 44.1K and 48K. Since, for digital sync reasons, the
GSt machine runs as a slave to the Pro Tools clock, all I can work in
are 44.1K or 48K. ADAT (on the Pro Tools system) won't send 88.2K & 96K.
I'm not sure what GSt would do if I set the system to 96K.
>
> But if you use 88kHz on the soundcard ?
> Can GSt avoid pitch transpose in that case since it's just twice
> the original sample rate (44.1kHz) ?
> Or does it play all notes at twice of the pitch ?
If the 44.1/48K experiment holds then it will play at twice the pitch.
My experience is that GSt doesn't know what the sample rate it. It jsut
receives clocks and plays samples. The fact that the pitch is 2X is my
problem.
>
> just curious :)
>
> PS: please when replying reply only to the list otherwise the poster
> always gets two messages.
>
> cheers,
> Benno
|