NoIse filtering - KaleyraVideo/VideoAndroidSDK GitHub Wiki

Starting from version v4.10.0, a new optional extension is available to enhance the in-call experience by improving audio quality through noise filtering.
This feature leverages an advanced AI-based model called DeepFilterNet. More information about DeepFilterNet can be found here.

Including the noise filter extension as a dependency increases the final app size by approximately 21 MB — about 8 MB is for the AI model, while the remaining size comes from native JNI libraries.

There are two plugin variants available:

  • Bundled Model:
    This version includes the AI model directly within the dependency package. Noise filtering is available immediately once the model is loaded into memory.

  • Lazy Model:
    This lighter version does not include the AI model in the package. Instead, the model is downloaded at runtime and then loaded into memory.
    This approach reduces the initial app size compared to the Bundled Model.

As noted, this extension acts as a plugin for the KaleyraVideoSDK, and can be integrated by adding the relevant dependency in your app's build.gradle file.
The noise filter extension is already included in the KaleyraVideoSDK BOM, so there's no need to specify its version manually.

allprojects {
    repositories {
        ...
        maven { url 'https://maven.bandyer.com/releases' }
    }
}

dependencies {
    // implement the KaleyraVideoSDK BOM
    implementation platform("com.kaleyra:video-sdk-bom:$kaleyraVideoSdkVersion")
    implementation 'com.kaleyra:video-sdk'

    // Add the Bundled Model noise filter extension
    implementation "com.kaleyra:video-extension-noise-filter"

    // Or add the Lazy Model noise filter extension
    implementation "com.kaleyra:video-extension-noise-filter-lazymodel"
}