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.

Audio Lab

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"
}
}