Deprecating the create_default_resampler and adding the changelog.
This commit is contained in:
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
- Added a new `SOXRStreamAudioResampler` for processing audio in chunks or streams.
|
||||||
|
|
||||||
- Added new `DailyParams.audio_in_user_tracks` to allow receiving one track per
|
- Added new `DailyParams.audio_in_user_tracks` to allow receiving one track per
|
||||||
user (default) or a single track from the room (all participants mixed).
|
user (default) or a single track from the room (all participants mixed).
|
||||||
|
|
||||||
@@ -56,6 +58,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- Updated all the services to use the new `SOXRStreamAudioResampler`, ensuring smooth
|
||||||
|
transitions and eliminating clicks.
|
||||||
|
|
||||||
- Upgraded `daily-python` to 0.19.4.
|
- Upgraded `daily-python` to 0.19.4.
|
||||||
|
|
||||||
- Updated `google` optional dependency to use `google-genai` version `1.24.0`.
|
- Updated `google` optional dependency to use `google-genai` version `1.24.0`.
|
||||||
|
|||||||
@@ -15,15 +15,41 @@ import audioop
|
|||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pyloudnorm as pyln
|
import pyloudnorm as pyln
|
||||||
import soxr
|
|
||||||
|
|
||||||
from pipecat.audio.resamplers.base_audio_resampler import BaseAudioResampler
|
from pipecat.audio.resamplers.base_audio_resampler import BaseAudioResampler
|
||||||
from pipecat.audio.resamplers.soxr_resampler import SOXRAudioResampler
|
from pipecat.audio.resamplers.soxr_resampler import SOXRAudioResampler
|
||||||
|
from pipecat.audio.resamplers.soxr_stream_resampler import SOXRStreamAudioResampler
|
||||||
|
|
||||||
|
|
||||||
def create_default_resampler(**kwargs) -> BaseAudioResampler:
|
def create_default_resampler(**kwargs) -> BaseAudioResampler:
|
||||||
"""Create a default audio resampler instance.
|
"""Create a default audio resampler instance.
|
||||||
|
|
||||||
|
. deprecated:: 0.0.74
|
||||||
|
This function is deprecated and will be removed in a future version.
|
||||||
|
Use `create_stream_resampler` for real-time processing scenarios or
|
||||||
|
`create_file_resampler` for batch processing of complete audio files.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
**kwargs: Additional keyword arguments passed to the resampler constructor.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A configured SOXRAudioResampler instance.
|
||||||
|
"""
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
warnings.warn(
|
||||||
|
"`create_default_resampler` is deprecated. "
|
||||||
|
"Use `create_stream_resampler` for real-time processing scenarios or "
|
||||||
|
"`create_file_resampler` for batch processing of complete audio files.",
|
||||||
|
DeprecationWarning,
|
||||||
|
stacklevel=2,
|
||||||
|
)
|
||||||
|
return SOXRAudioResampler(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def create_file_resampler(**kwargs) -> BaseAudioResampler:
|
||||||
|
"""Create an audio resampler instance for batch processing of complete audio files.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
**kwargs: Additional keyword arguments passed to the resampler constructor.
|
**kwargs: Additional keyword arguments passed to the resampler constructor.
|
||||||
|
|
||||||
@@ -33,6 +59,18 @@ def create_default_resampler(**kwargs) -> BaseAudioResampler:
|
|||||||
return SOXRAudioResampler(**kwargs)
|
return SOXRAudioResampler(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def create_stream_resampler(**kwargs) -> BaseAudioResampler:
|
||||||
|
"""Create a stream audio resampler instance.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
**kwargs: Additional keyword arguments passed to the resampler constructor.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A configured SOXRStreamAudioResampler instance.
|
||||||
|
"""
|
||||||
|
return SOXRStreamAudioResampler(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
def mix_audio(audio1: bytes, audio2: bytes) -> bytes:
|
def mix_audio(audio1: bytes, audio2: bytes) -> bytes:
|
||||||
"""Mix two audio streams together by adding their samples.
|
"""Mix two audio streams together by adding their samples.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user