Post Go back to editing

Creating a noise gate in SigmaStudio

In order to create a noise gate in SigmaStudio, use the Dynamics Processors cells. An RMS-detect type will work best for audio applications. Place the dynamics processor cell in the project and leave the curve in its default state.

After compilation, move the bottom-most point on the curve slightly down. The capture window will display a parameter update write sequence.

The top line (first write) is the gain table. It should have 136 bytes. This table shows the linear gain applied to inputs starting at -90dB(RMS) and incrementing 3dB each address. Since the compressor is the only processing algorithm in this example project, the first point in the table at address 0 aligns with -90dB.

In order to create a noise gate, the values for all gain table points below the gate threshold should be set to 0x00, 0x00, 0x00, 0x00. In order to do this, use the sequencer. Start by creating a write at address 0 (the point for -90dB), and set the value to 0x00 0x00 0x00 0x00.

In this example, the threshold has been set to -81dB. Any audio input below -81dB will cause the output to drop to 0.

In order to implement the changes on your hardware, click the Download Mode to Hardware button.

The timing of the gate can be tweaked by changing the timing parameters of the dynamics processor cell.

  • Ho Brett. Why is this better than the method you outline to me for making sure an AUX_ADC volume went to zero?

    Cheers

    Gordon

  • Hi Gordon. If my memory serves me correctly, that implementation used logic comparison cells, correct? That's fine for a volume control, which is generally being controlled by a user and will change slowly over time. In that situation, we were just ensuring that the small voltage appearing on the potentiometer would register as a linear 0 gain for the volume control in the SigmaDSP.

    However, the noise gate described above has a different purpose. It is meant to work automatically on an incoming audio signal. If a strict logic implementation was used, then the output would drop to zero instantaneously when the input went below the threshold. This would cause a sudden dropout of the audio, accompanied by a "click" sound. This is not desired in audio applications. The implementation above uses a time constant to fade out the audio when it drops below the threshold and a release parameter to slowly fade it back in when the level returns above the threshold. This results in a more natural gating effect.

  • Brett wrote: "If a strict logic implementation was used". I realized after I posted the question it wasn't phrased properly but you guessed what I was getting at. Hadn't thought about the click.

    Cheers

    Gordon

  • hi,BrettG.I use this for a noisegate at -60dB,it work correctly.when noisegate at -80dB,the little signal form -80dB to -85dB was eliminated,but signal form -100dB to -85dB is existent.

     

    my setting is:

    form addr0 to addr4 set as 0x00,0x00,0x00,0x00,

    form addr5 to addr33 set as 0x00,0x80,0x00,0x00,

     

    why sigmastudio didn't send 00,0x00,0x00,0x00 at addr0~4?

    sigmastudio send data was

    0x00,0x09,0x0f,0xcc,

    0x00,0x09,0x0f,0xcc,

    0x00,0x06,0x6a,0x4a,

    .....

  • Hi lhsh,

    Did you use the sequencer to manually send the data? If so, then you should be able to define the data that is sent.

    If you are still having problems, please share your project file.

  • Hi Brett, Gordon and Ihsh,

    Some Noise Gates use a external key or side chain as a threshold detector.

    It is usual in broadcast and audio professional dynamic processor.

    Here, you are using a stereo or dual noise gate.

    How I could use the second input as a external key?

    thanks

  • Hi monchouoc,

    You can create this kind of function by using one of the dynamics processors with an external detection input. Just look through the library and you'll find several of them.

    The green pins are audio inputs, and the red pin is the external detect, or sidechain (or "key") input. In this basic example, I mixed the two input channels together and ran them through a filter, and then used the resulting output signal for the compression/gate detection input.