Sample impulse improvements

22/12/2016

Here are some things I’ve worked on outside of the nat sampler to further improve for overall better emulation.

1. Impulse pre post (linear phase) ringing from Convertors or SRC

I spent some time trying to find a very good filter to use with nebula libraries, the example below is of a very high ringing impulse response. The ringing is not seen in the hardware but can effect the sound quality. This also runs the risk of truncating pre-ringing because of a limited offset.

bad-pre-post-impulse-riniging

Below we have a better filtered impulse example, this example is approximately 5 times smaller in it’s ringing artifacts! Because the ringing is shorter, this in theory could effect the sound of the transient response, possibly giving better definition in the bass region and possibly being less harsh, this is especially true at lower sample rates. The following ringing length is 2 times shorter than one of the best convertors on the market. Of course this is a trade off for other things yet imo benefits its application. This is something found in my most recent libraries.

redused-pre-post

2. Overall stacked Phase and Magnitude eliminated

Below we have a stacked instance of an eq. We can see a complete flip of phase in the top end and low frequency, due to stacking.

bad-phase

Below we have a non repeated phase or magnitude version of stacked instances, with only 6 degrees of a phase anomaly at 10khz. It’s debatable how much delay (phase) is audible to the human ear, however one thing that can’t be argued is the fact that paralleling could cause some cancellation problems due to phase shift.

stacked-isolated-silk

A good example of band isolation can be seen in my Rstate eq, below we can see no roll offs from the overall magnitude of the eq, notice the flatness around the bell, isolated eq portion:

3.Better harmonics

Below is an example of an artifact that gives a chirping sound on overload. This is a typical frequency plot of incorrect harmonic responce from the deconvolution of harmonics. This visual was produced by increasing the input level, this at usual low input still resides under magnitude clean response. Also, incorrect ringing rising from the low band can be seen here too, which is discussed later in point 4.

4.

chirpping-harmonics

Below is an example of pushed hard Debugged saturation, with super low noise and transformer coloration and no chirping artifact. Eliminating these peaks is important as these will be louder than the real harmonics, this could cause a significant build up over many tracks.
good-harmonics

4. Hard truncation artifacts (windowing)

Below we see hard truncation in the tail occurring over multiple instances:

bad-messy-impuse-truncation

.

The lower example illustrates ringing from a very badly truncated impulse on the frequency plot, this causes a filter effect and a ringing modulation that goes up through the frequency plot. Truncation through a very small impulse length can also cause a micro echo, which may sound more 3d, although this sounds interesting it is actually incorrect. A Longer echo can be more audible, this is caused by a long truncated impulse giving a bass echo. Bass echos occur because the truncation is in the latter part of the tail.

The echoes can be seen by using a sweep in Izotope RX, a very fast sweep (2 secs) is excellent at finding them. The echoes can be seen as the two lines below the initial test sweep. Two echoes exist because the example is using two truncated instances. Also the very faint blue haze is caused by noise on the impulse.

It’s possible to eliminate all of these issues with the appropriate techniques.

Below is an example of a soft, or un-truncated impulse. This reduces or eliminates the ringing effect through the band rising from the low frequencies.

soft-or-no-truncated-tails

Some of these techniques can be found in, Surge eq, Tube mid range eq, Silk eq v4, Dualtech passive eq v2, elc24 v3, 37j.

Edited for punctuation, typos, some minor changes in explanation on 18/06/19

Edited 06/11/19 Better explanation at point 3