removing resampling
This commit is contained in:
@@ -11,7 +11,6 @@ from typing import Optional
|
||||
from loguru import logger
|
||||
from pydantic import BaseModel
|
||||
|
||||
from pipecat.audio.utils import create_default_resampler
|
||||
from pipecat.frames.frames import (
|
||||
AudioRawFrame,
|
||||
Frame,
|
||||
@@ -58,13 +57,12 @@ class ExotelFrameSerializer(FrameSerializer):
|
||||
params: Configuration parameters.
|
||||
"""
|
||||
self._stream_sid = stream_sid
|
||||
self._call_sid = call_sid
|
||||
self._params = params or ExotelFrameSerializer.InputParams()
|
||||
|
||||
self._exotel_sample_rate = self._params.exotel_sample_rate
|
||||
self._sample_rate = 0 # Pipeline input rate
|
||||
|
||||
self._resampler = create_default_resampler()
|
||||
|
||||
@property
|
||||
def type(self) -> FrameSerializerType:
|
||||
"""Gets the serializer type.
|
||||
@@ -97,13 +95,8 @@ class ExotelFrameSerializer(FrameSerializer):
|
||||
answer = {"event": "clear", "streamSid": self._stream_sid}
|
||||
return json.dumps(answer)
|
||||
elif isinstance(frame, AudioRawFrame):
|
||||
data = frame.audio
|
||||
|
||||
# Resample the audio data
|
||||
serialized_data = await self._resampler.resample(
|
||||
data, frame.sample_rate, self._exotel_sample_rate
|
||||
)
|
||||
payload = base64.b64encode(serialized_data).decode("ascii")
|
||||
# Audio data is now directly used without resampling
|
||||
payload = base64.b64encode(frame.audio).decode("ascii")
|
||||
|
||||
answer = {
|
||||
"event": "media",
|
||||
@@ -132,18 +125,13 @@ class ExotelFrameSerializer(FrameSerializer):
|
||||
|
||||
if message["event"] == "media":
|
||||
payload_base64 = message["media"]["payload"]
|
||||
payload = base64.b64decode(payload_base64)
|
||||
|
||||
deserialized_data = await self._resampler.resample(
|
||||
payload,
|
||||
self._exotel_sample_rate,
|
||||
self._sample_rate,
|
||||
)
|
||||
audio_data = base64.b64decode(payload_base64)
|
||||
|
||||
# Audio data is now directly used without resampling
|
||||
audio_frame = InputAudioRawFrame(
|
||||
audio=deserialized_data,
|
||||
num_channels=1,
|
||||
sample_rate=self._sample_rate,
|
||||
audio=audio_data,
|
||||
num_channels=1, # Assuming mono audio from Exotel
|
||||
sample_rate=self._sample_rate, # Use the configured pipeline input rate
|
||||
)
|
||||
return audio_frame
|
||||
elif message["event"] == "dtmf":
|
||||
|
||||
Reference in New Issue
Block a user