diff --git a/changelog/3828.fixed.md b/changelog/3828.fixed.md new file mode 100644 index 000000000..dd2ee257d --- /dev/null +++ b/changelog/3828.fixed.md @@ -0,0 +1 @@ +- Fixed misleading "Empty audio frame received for STT service" warnings when using audio filters (e.g. `RNNoiseFilter`, `KrispVivaFilter`, `AICFilter`) that buffer audio internally. diff --git a/src/pipecat/transports/base_input.py b/src/pipecat/transports/base_input.py index 77ff61bba..49c28149a 100644 --- a/src/pipecat/transports/base_input.py +++ b/src/pipecat/transports/base_input.py @@ -424,6 +424,11 @@ class BaseInputTransport(FrameProcessor): if self._params.audio_in_filter: frame.audio = await self._params.audio_in_filter.filter(frame.audio) + # Skip frames with no audio data (e.g. filter is buffering). + if not frame.audio: + self._audio_in_queue.task_done() + continue + ################################################################### # DEPRECATED. #