Popping sounds when retriggering the primary sampler

Chet Singer
Chet Singer Member Posts: 73 Advisor

I'm experimenting with primary samplers for the first time and am encountering short DC offsets that make popping sounds when retriggering a sample in progress.

I've made the circuit as simple as possible. It's just a sample player triggered by a pushbutton:

I made a sound file where I retrigger it several times before the sample has completed (it's a long, sustained sample of a trumpet tone). I'm not allowed to upload the sound file, but here's a picture of it:

Here's a close-up of the first trigger. It sounds perfect:

And here's one of the retriggers. I've circled what looks like a short DC offset that begins at the start of the trigger. It pops.

Am I missing something here? I expected that during a retrigger the output signal would immediately drop to zero and the sample would restart from the beginning. But that's not happening. The sample is indeed restarting from the beginning, but not from zero.

I'm confused by what I'm seeing and hearing, and don't know how to proceed. I feel stupid because builders have been using these samplers for decades. Any ideas?

Comments

  • Sunborn
    Sunborn NKS User Library Mod Posts: 3,089 mod

    The quickest solution is to edit your sample with an audio editor and make sure that the re-triggered points are down to 0. Some fade-in / fade-out at the correct points, will do the job.

  • colB
    colB Member Posts: 988 Guru

    Seems unlikely, but it looks like there is some high pass filter in there to kill DC. Easy enough to test for. Just create a sample with DC offset and see if that offset is removed when played back through that module.

  • Chet Singer
    Chet Singer Member Posts: 73 Advisor
    edited September 16

    Thanks for the ideas, guys.

    I haven't figured out what's really going on, but I have a workaround. If I attach an AR envelope generator to the A input, I can make the pops go away, under conditions I think I can manage.

    The attack time is 0 and the release time is 50ms. And the button is now a toggle instead of a trigger.

    Provided that the envelope drops to zero before the gate rises again the retriggering is clean. There's something special about that A input, because putting a multiplier after the sampler doesn't do the same job.

    I'll have to decide what to do if the gate is retriggered more quickly than 50ms. But at least the pops are gone.

  • colB
    colB Member Posts: 988 Guru

    Primary never ceases to amaze me with it's janky hacks that present as bugs.

    What seems to be going on is not a DC blocker… instead it seems that when you reset the position, its offsets the new start value to whatever the last value was.

    So if you reset point starts at a zero value, but you reset it when the current value was 0.7, it shifts the whole thing up to 0.7… then brings it back to zero over a few ms.

    I suppose it's a really weird way to try and reduce click noise on resets they are slightly less clicky and more thuddy. Maybe this is because there is no one size fits all way to do that, and these modules were all pre core, so low level solutions to this sort of problem were not easy in Reaktor.

    Even if it wasn't doing this it would be clicky, maybe worse, so you would need to fix it yourself, because there would be a discontinuity, so some sort of short envelope would be required.

    At least in core though, you can tweak that envelope to be the best compromise for your particular needs.

  • Chet Singer
    Chet Singer Member Posts: 73 Advisor

    Thanks for tracking that down. It's odd, for sure. Fortunately, if the value at the A input is zero when retriggering the problem doesn't happen. I had assumed that adding amplitude control via a multiplier after the sampler was the same thing as using its A input. It's not.

  • Goremall Instruments
    Goremall Instruments Member Posts: 3 Newcomer

    If you can get away without using primary samplers and use the table framework I've had better luck eliminating popping on restart (mono) inside of core with smoothers. Pops are the bane of my existence.

  • Chet Singer
    Chet Singer Member Posts: 73 Advisor

    Yeah, there's a lot more flexibility with the table framework. I tried it once and was able to do things that the primary samplers just won't do. It was a lot of work, though.

    I wanted to try a primary sampler this time because they're so easy to use, and so efficient.

  • colB
    colB Member Posts: 988 Guru

    they're so easy to use

    Once there's been a whole thread to discover their undocumented 'features' 🤣

Back To Top