drop v1 support from aic.
This commit is contained in:
@@ -14,10 +14,9 @@ various audio formats used in Pipecat pipelines.
|
|||||||
import audioop
|
import audioop
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from loguru import logger
|
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pyloudnorm as pyln
|
import pyloudnorm as pyln
|
||||||
|
from loguru import logger
|
||||||
|
|
||||||
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
|
||||||
@@ -314,69 +313,3 @@ def is_silence(pcm_bytes: bytes) -> bool:
|
|||||||
|
|
||||||
# If max value is lower than SPEAKING_THRESHOLD, consider it as silence
|
# If max value is lower than SPEAKING_THRESHOLD, consider it as silence
|
||||||
return max_value <= SPEAKING_THRESHOLD
|
return max_value <= SPEAKING_THRESHOLD
|
||||||
|
|
||||||
|
|
||||||
def is_aic_sdk_v2() -> bool:
|
|
||||||
"""Detect if aic-sdk v2 is installed by checking the module name.
|
|
||||||
|
|
||||||
In v2, the module was renamed from 'aic' to 'aic_sdk'.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
True if aic-sdk v2 (aic_sdk module) is installed, False if v1 (aic module).
|
|
||||||
|
|
||||||
Raises:
|
|
||||||
ImportError: If neither aic nor aic_sdk module is installed.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
import aic_sdk # noqa: F401
|
|
||||||
|
|
||||||
return True
|
|
||||||
except ModuleNotFoundError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
|
||||||
import aic # noqa: F401
|
|
||||||
|
|
||||||
return False
|
|
||||||
except ModuleNotFoundError:
|
|
||||||
logger.error("In order to use the AIC filter, you need to `pip install pipecat-ai[aic]`.")
|
|
||||||
raise ImportError(
|
|
||||||
"aic-sdk is not installed. Install with 'pip install pipecat-ai[aic]'."
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def check_aic_sdk_version(required_version: Literal["v1", "v2"]) -> None:
|
|
||||||
"""Check if the aic-sdk is installed and compatible with the module.
|
|
||||||
|
|
||||||
This function checks both that the aic-sdk is installed and that its version
|
|
||||||
is compatible with the module requirements. Version detection is based on
|
|
||||||
the module name: v2 uses 'aic_sdk', v1 uses 'aic'.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
required_version: Either "v1" (for aic-sdk < 2.0.0) or "v2" (for aic-sdk >= 2.0.0).
|
|
||||||
|
|
||||||
Raises:
|
|
||||||
ImportError: If aic-sdk is not installed or version is incompatible.
|
|
||||||
"""
|
|
||||||
is_v2 = is_aic_sdk_v2()
|
|
||||||
|
|
||||||
if required_version == "v1" and is_v2:
|
|
||||||
error_msg = (
|
|
||||||
"aic-sdk v2 (aic_sdk module) detected, but v1 (aic module) is required. "
|
|
||||||
"Please use the v2 classes instead: "
|
|
||||||
"'from pipecat.audio.filters.aic_filter import AICFilterV2' or "
|
|
||||||
"'from pipecat.audio.vad.aic_vad import AICVADAnalyzerV2'."
|
|
||||||
)
|
|
||||||
logger.error(error_msg)
|
|
||||||
raise ImportError(error_msg)
|
|
||||||
|
|
||||||
if required_version == "v2" and not is_v2:
|
|
||||||
error_msg = (
|
|
||||||
"aic-sdk v1 (aic module) detected, but v2 (aic_sdk module) is required. "
|
|
||||||
"Please update with 'pip install --upgrade aic-sdk>=2.0.0' "
|
|
||||||
"or use the v1 classes: "
|
|
||||||
"'from pipecat.audio.filters.aic_filter import AICFilter' or "
|
|
||||||
"'from pipecat.audio.vad.aic_vad import AICVADAnalyzer'."
|
|
||||||
)
|
|
||||||
logger.error(error_msg)
|
|
||||||
raise ImportError(error_msg)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user