livekit_noise_filter 0.3.0
livekit_noise_filter: ^0.3.0 copied to clipboard
AI Noise Cancellation plugin for Livekit Flutter Client SDK.
Livekit Noise Filter for Flutter LiveKit SDK #
Currently supports iOS/macOS/Android/Web
For Flutter web, ensure the bundled Krisp JS SDK modules (krispsdk.mjs,
usermedia.mjs) are served correctly from
/assets/packages/livekit_noise_filter/assets/krisp/dist/. The noise
cancellation models themselves are not bundled, the SDK downloads them on
demand at runtime.
Audio chain #
This package runs as the default audio capture processor in the Flutter app. The mic stream is processed by the noise filter (native on iOS/macOS/Android) before the LiveKit client publishes.
flowchart LR
subgraph client["Flutter app"]
Mic["Microphone"] --> Capture["Audio capture"]
Capture --> Filter["livekit_noise_filter (processor)"]
Filter --> LK["LiveKit Room"]
LK --> Publish["Publish track"]
end
Publish --> Room["LiveKit room"]
How to use #
You can add the livekit noise filter to your existing LiveKit app using the following steps.
- add
livekit_noise_filterto yourpubspec.yaml
dependencies:
livekit_noise_filter: ^0.1.0
- Set livekit noise filter before connecting to room
final liveKitNoiseFilter = LiveKitNoiseFilter();
final room = Room(
roomOptions: RoomOptions(
defaultAudioCaptureOptions: AudioCaptureOptions(
processor: liveKitNoiseFilter,
),
),
);
await _room!.connect(url, token);
await _room!.localParticipant!.setMicrophoneEnabled(true);
- You can turn the filter on or off to check that it is working properly.
liveKitNoiseFilter.setBypass(true | false);