From d7794abf21c4c3dbcffc09f9688dd245ef75846b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Sat, 6 Sep 2025 19:31:38 -0700 Subject: [PATCH] audio(filters): deprecate NoisereduceFilter --- CHANGELOG.md | 3 +++ README.md | 2 +- src/pipecat/audio/filters/noisereduce_filter.py | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46d49b7e3..032fd9efe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Deprecated +- `NoisereduceFilter` is now deprecated and will be removed in a future + version. Use other audio filters like `KrispFilter` or `AICFilter`. + - Deprecated `OpenAIRealtimeBetaLLMService` and `AzureRealtimeBetaLLMService`. Use `OpenAIRealtimeLLMService` and `AzureRealtimeLLMService`, respectively. Each service will be removed in an upcoming version, 1.0.0. diff --git a/README.md b/README.md index 834275172..babab5aa3 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ You can connect to Pipecat from any platform using our official SDKs: | Video | [HeyGen](https://docs.pipecat.ai/server/services/video/heygen), [Tavus](https://docs.pipecat.ai/server/services/video/tavus), [Simli](https://docs.pipecat.ai/server/services/video/simli) | | Memory | [mem0](https://docs.pipecat.ai/server/services/memory/mem0) | | Vision & Image | [fal](https://docs.pipecat.ai/server/services/image-generation/fal), [Google Imagen](https://docs.pipecat.ai/server/services/image-generation/fal), [Moondream](https://docs.pipecat.ai/server/services/vision/moondream) | -| Audio Processing | [Silero VAD](https://docs.pipecat.ai/server/utilities/audio/silero-vad-analyzer), [Krisp](https://docs.pipecat.ai/server/utilities/audio/krisp-filter), [Koala](https://docs.pipecat.ai/server/utilities/audio/koala-filter), [ai-coustics](https://docs.pipecat.ai/server/utilities/audio/aic-filter), [Noisereduce](https://docs.pipecat.ai/server/utilities/audio/noisereduce-filter) | +| Audio Processing | [Silero VAD](https://docs.pipecat.ai/server/utilities/audio/silero-vad-analyzer), [Krisp](https://docs.pipecat.ai/server/utilities/audio/krisp-filter), [Koala](https://docs.pipecat.ai/server/utilities/audio/koala-filter), [ai-coustics](https://docs.pipecat.ai/server/utilities/audio/aic-filter) | | Analytics & Metrics | [OpenTelemetry](https://docs.pipecat.ai/server/utilities/opentelemetry), [Sentry](https://docs.pipecat.ai/server/services/analytics/sentry) | 📚 [View full services documentation →](https://docs.pipecat.ai/server/services/supported-services) diff --git a/src/pipecat/audio/filters/noisereduce_filter.py b/src/pipecat/audio/filters/noisereduce_filter.py index 550153b56..4265b5319 100644 --- a/src/pipecat/audio/filters/noisereduce_filter.py +++ b/src/pipecat/audio/filters/noisereduce_filter.py @@ -33,6 +33,10 @@ class NoisereduceFilter(BaseAudioFilter): Applies spectral gating noise reduction algorithms to suppress background noise in audio streams. Uses the noisereduce library's default noise reduction parameters. + + .. deprecated:: 0.0.85 + `NoisereduceFilter` is deprecated and will be removed in a future version. + We recommend using other real-time audio filters like `KrispFilter` or `AICFilter`. """ def __init__(self) -> None: @@ -40,6 +44,17 @@ class NoisereduceFilter(BaseAudioFilter): self._filtering = True self._sample_rate = 0 + import warnings + + with warnings.catch_warnings(): + warnings.simplefilter("always") + warnings.warn( + "`NoisereduceFilter` is deprecated. " + "Use other real-time audio filters like `KrispFilter` or `AICFilter`.", + DeprecationWarning, + stacklevel=2, + ) + async def start(self, sample_rate: int): """Initialize the filter with the transport's sample rate.