Skip to main content

RNNoise Extension

About RNNoise

RNNoise is a noise suppression library based on a recurrent neural network written in C. You can find the source and more information at https://github.com/xiph/rnnoise.

Why use the RNNoise Extension instead of RNNoise directly?

  • There is no need to think about low level C code, the RNNoise Extension supports most programming languages for mobile and desktop.
  • You’ll be able to focus on the application features, the RNNoise Extension handles audio IO and scheduling for you.
  • You’ll still have in depth access to the various audio processing layers if you need, in a neat and convenient way.
  • Mix and match many well known third party audio libraries with RNNoise that are supported, without the need to convert audio formats.

About RNNoise Extension

The RNNoise Extension provides the following audio nodes for a Switchboard SDK audio graph:

NodeDescription
NoiseFilterNodeRemoves background noise from voice signal.

Switchboard Editor example

Code Example

{
"nodes": {
{ "id": "audioPlayerNode", "type": "AudioPlayerNode" },
{ "id": "channelSplitterNode", "type": "ChannelSplitterNode" },
{ "id": "noiseFilterNode", "type": "RNNoise.NoiseFilterNode" },
{ "id": "monoToMultiChannelNode", "type": "MonoToMultiChannelNode" }
},
"connections": {
{ "sourceNode": "audioPlayerNode", "destinationNode": "channelSplitterNode" },
{ "sourceNode": "channelSplitterNode", "destinationNode": "noiseFilterNode" },
{ "sourceNode": "noiseFilterNode", "destinationNode": "monoToMultiChannelNode" },
{ "sourceNode": "monoToMultiChannelNode", "destinationNode": "outputNode" }
},
"tracks": {
"audioPlayerNode": "Noisy-Speech.wav"
}
}

Download SDK Extension

You can download this SDK extension from our Downloads Page.

Visit the page to access the latest version and start integrating it into your project!