High Quality Interpolation

Goto page: 1 | 2 | 3 | 4 Next Page

From:
blackworm


Joined:
May 19, 2001

Posts: 1222
Posted: 2002-11-21 05:34 | Quote & reply

I'd like to share some findings on Reason's resampling ("interpolation") methods. This post is long and deals with advanced topics in digital audio.

The Experiment: Give Reason a wave consisting of a single positive sample surrounded by silence (zero-value samples), and observe the interpolated result when resampling to a high sample rate.

I created a WAV file at a sample rate of 6000. This file contains a simple sample with a positive value, all other samples being zero (silence). The wave looks like this in a wave editor:



Note that the large green dots represent the individual samples of the wave, and the green line connecting the dots is merely the wave editor's way of interpolating the signal (i.e. showing the speaker displacement between the samples).

I took this wave into Reason's NN-XT, connected it directly to the hardware outputs, played a note at C3 (the base note of the sample), and rendered the song at a sample rate of 96000. Note that Reason had to resample the 6000 Hz sample to 96000 Hz. This was the result:



Note that Reason simply did a linear interpolation of the input signal. Put a different way, Reason simply drew a straight line between each input sample, and used the values along the way to generate the new sample values. This gives a result which is prone to aliasing, or the introduction of new tones not present in the original sample.

Next I tried turning on the High Quality Interpolation switch on the NN-XT, and saving the result, again at 96000 Hz. Here was the result of that:



Here we can see a much smoother wave, corresponding much closer to the wave editor's interpolation (top image). This type of interpolation is known as a "windowed sinc function" interpolation. It is a much better reconstruction of the original input, and much less prone to aliasing. However, what struck me about this image was the small number of "ripples" or zero-crossings used. The interpolated signal only crosses the zero line three times in each direction. Notice that in the first image, the editor software uses at least eight zero crossings. This corresponds to a much wider "window" on the sinc function used, and takes up significantly more processing time to calculate, but it is much closer to the "ideal" resampling technique.

Most papers on resampling using this method recommend thirteen zero crossings as an appropriate method for high quality audio resampling. I have recently coded such a resampler, and the difference in quality between three zero crossings and thirteen zero crossings is definitely audible. Considering the fact that using thirteen zero crossings instead of three takes over four times the time to calculate, I can understand why the Props use only three. However, for the "final" render of a song, I would like to see an even higher quality used. Considering that the resampler is used to change the pitch of samples, it is used everywhere. Every time you play a sample at a different sample rate than the original (change sample rate, higher or lower pitch), the quality of the resampling will not be ideal**, even if you use the High Quality Interpolation options on all the devices.

Hope this has been useful.

-blackworm


** Since I posted this, further experiments have shown that Reason always performs this resampling even with samples played back supposedly at exactly the same sample rate with zero pitch change. This explains the "lackluster" or "dull" quality some people have noticed that Reason gives to their clean, crisp samples. This dull quality appears even when played with the "High Quality Interpolation" switched on, for the reasons outlined above. -blackworm Mar 1, 2003

*** 2nd edit: In further tests (and after a long arduous discussion both here and on the official Props' board, involving the modulation of a 15kHz sine wave test tone) it seems the quality difference between High Quality Interpolation and an extremely high quality resampler is very small, and the singular effect is not generally discernable on full-range full-spectrum material. The compounded effect of the theoretical quality loss on each instrument and with each processing step has yet to be analyzed to my satisfaction. -- blackworm Jan 7 2004.



[ This Message was edited by: blackworm on 2004-01-08 02:30 ]
  • View Profile of blackworm Goto the website of blackworm Edit/Delete This Post Reply with quote
    From:
    Boom_boom_tink_tink


    Joined:
    Mar 06, 2002

    Posts: 382
    From: Bloody London
    Posted: 2002-11-21 05:42 | Quote & reply

    Summary: Rewire Cubase and render from there.

    Thanks for the napping material.
    View Profile of Boom_boom_tink_tink Goto the website of Boom_boom_tink_tink Edit/Delete This Post Reply with quote
    From:
    blackworm


    Joined:
    May 19, 2001

    Posts: 1222
    Posted: 2002-11-21 05:47 | Quote & reply


    If you rewire from Cubase, Reason is still controlling the pitch of each sample used in the samplers and Dr. Rex, thus the resampling algorithm still comes into play.


    View Profile of blackworm Goto the website of blackworm Edit/Delete This Post Reply with quote
    From:
    Sleeperservice


    Joined:
    Apr 16, 2001

    Posts: 107
    From: An Insignificant Planet
    Posted: 2002-11-21 06:53 | Quote & reply

    So, in your first picture the wave editor has introduced 13 crossing points *that arent in the original wav*! (You said the original wav only has a single active sample (these are fairly imprecise terms you're using, correct me if you're meaning is different).

    And yet you seem to be complaining that Reason introduced *less* errors than the wave editor.
    View Profile of Sleeperservice Goto the website of Sleeperservice Edit/Delete This Post Reply with quote
    From:
    blackworm


    Joined:
    May 19, 2001

    Posts: 1222
    Posted: 2002-11-21 07:27 | Quote & reply

    Suggest you find a good paper on sampling theory. You may be surprised at the misconceptions you have. I was.

    I agree that "active sample" wasn't the best choice of words, I've changed it to "positive sample."


    [ This Message was edited by: blackworm on 2002-11-21 07:30 ]
    View Profile of blackworm Goto the website of blackworm Edit/Delete This Post Reply with quote
    From:
    Sleeperservice


    Joined:
    Apr 16, 2001

    Posts: 107
    From: An Insignificant Planet
    Posted: 2002-11-21 07:28 | Quote & reply

    I suggest you upload the original sample
    View Profile of Sleeperservice Goto the website of Sleeperservice Edit/Delete This Post Reply with quote
    From:
    obsession


    Joined:
    Feb 04, 2002

    Posts: 1346
    From: sailboat
    Posted: 2002-11-21 14:52 | Quote & reply

    Hey blackworm, does that apply to the redrum as well? I'm not trying to start a reason-sounds-like-poo war, and it really may just be psychological, but I hear a difference between playing samples in battery vs. the redrum. Again, it may just be psychological though...
    keepin it stupid simple
    View Profile of obsession Goto the website of obsession Edit/Delete This Post Reply with quote
    From:
    ikke


    Joined:
    Sep 23, 2002

    Posts: 1570
    Posted: 2002-11-21 14:57 | Quote & reply

    Quote:

    On 2002-11-21 05:42, Boom_boom_tink_tink wrote:
    Summary: Rewire Cubase and render from there.

    Thanks for the napping material.




    How do you render audio in cubase. I never render, i tought i was for video only..
    Is the audio quality better or is it just for smoothness?
    Thanks
  • View Profile of ikke Goto the website of ikke Edit/Delete This Post Reply with quote
    From:
    jtkirk01


    Joined:
    May 22, 2001

    Posts: 3907
    From: Philadelphia Pennsylvania (near)
    Posted: 2002-11-21 15:08 | Quote & reply

    Wow, excellent analysis right in line with what my ears have been telling me all along. Most of the reviews I have done include reminding people to turn that switch on. It eats a little more power, but I can hear the difference even though it is subtle.
    Dan (jtkirk01)
    View Profile of jtkirk01 Goto the website of jtkirk01 Edit/Delete This Post Reply with quote
    From:
    Sleeperservice


    Joined:
    Apr 16, 2001

    Posts: 107
    From: An Insignificant Planet
    Posted: 2002-11-21 17:30 | Quote & reply

    Oh indeed HQ buttons should be on! Play something with a lot of high freqencies (hi-hat loop or somat) & turn it on/off. Higher frequencies definitely sound clearer.
    View Profile of Sleeperservice Goto the website of Sleeperservice Edit/Delete This Post Reply with quote
    From:
    DJDM


    Joined:
    Oct 18, 2001

    Posts: 1092
    Posted: 2002-11-21 17:54 | Quote & reply

    Reason sounds awsome. I like it, my clients like it. If you know what to do with it, it sounds amazing!
    I am not really sure what your test proves Blackworm except that on some academic level there are inconsistencies in the way Reason renders audio as compared to your wav editor.
    I’ll say it again: Reason sounds great to me.
    What more do we need here? Am I missing something?
    - DJDM
    View Profile of DJDM Goto the website of DJDM Edit/Delete This Post Reply with quote
    From:
    coded


    Joined:
    Aug 13, 2001

    Posts: 8617
    From: experience
    Posted: 2002-11-21 19:25 | Quote & reply

    does it go over your head Charles ?
    View Profile of coded Goto the website of coded ICQ status Edit/Delete This Post Reply with quote
    From:
    doctec


    Joined:
    Jan 31, 2001

    Posts: 878
    Posted: 2002-11-21 19:31 | Quote & reply

    blackworm: thank you for the in-depth and illuminating analysis of Reason's resampling process - it's nice to have an inside look at some of the magic that Reason performs. It's also a compelling argument for activating the "High Quality Interpolation" buttons of all the sample-playback modules in a Reason rack, especially before rendering the final WAV of a mix.

    In light of your discussion I have some questions:

    - Someone in a reasonstation thread from a long while back stated they were pretty sure the resampling algorithm used in Reason is the same one used in the old Synclavier II system, which is why it works so well. Do you know if this is true?

    - There are some Reason users who have said that in lieu of having Reason render a complete stereo mix of a complex song, they get better-sounding mixes when they use Reason to render WAVs of each individual sequencer track, import all the WAVs into something like Cool Edit Pro and use it to render the final WAV. Do you agree? If so do you have any idea why this would be the case?

    -Finally: I have noticed that in my final mixes rendered in Reason, there are times (especially when there is a lot of reverb in use) where the bias seems to drift quite a bit into negative territory (below the zero point). If you render a WAV from my tune "DarkDawn" you'll see that it does this a *lot*! The tune does not use any samplers, just Subtractors and lots of effects. Any idea why this is?

    _________________


    [ This Message was edited by: doctec on 2002-11-21 19:38 ]
    View Profile of doctec Goto the website of doctec Edit/Delete This Post Reply with quote
    From:
    DjDna


    Joined:
    May 14, 2001

    Posts: 1758
    Posted: 2002-11-21 19:35 | Quote & reply

    doctec im not sure but im guessing that rendering the tracks in wavelab/soundforge/cooledit is used for adding vst effects and dynamics etc...

    rendering a wav in this way will re-render it using the audio editors (wavelab etc..) algorhythms and therefore create a slightly better quality wav, this is something ive been told so it may not work that way....

    also the actuall effects themselves will probably be in 32bit which will help shape the wav file more acurately...

    could be totally wrong but...
    View Profile of DjDna Goto the website of DjDna Edit/Delete This Post Reply with quote
    From:
    Spiral Scratch


    Joined:
    Jun 27, 2001

    Posts: 2908
    Posted: 2002-11-21 19:38 | Quote & reply

    This is the only 'Buttons' Dirty Harry likes to read about!


    View Profile of Spiral Scratch Goto the website of Spiral Scratch Edit/Delete This Post Reply with quote
    Goto page ( 1 | 2 | 3 | 4 Next Page )
  • New Topic |  Reply