From 656848f2aabc176b7ae80d51009699369679a14c Mon Sep 17 00:00:00 2001 From: lgavincrl Date: Fri, 6 Mar 2026 12:01:31 +0000 Subject: [PATCH 1/4] Add AudioFilteringConfig to batch sdk exports --- sdk/batch/speechmatics/batch/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdk/batch/speechmatics/batch/__init__.py b/sdk/batch/speechmatics/batch/__init__.py index cf57d4f..90da4d1 100644 --- a/sdk/batch/speechmatics/batch/__init__.py +++ b/sdk/batch/speechmatics/batch/__init__.py @@ -11,6 +11,7 @@ from ._exceptions import JobError from ._exceptions import TimeoutError from ._exceptions import TransportError +from ._models import AudioFilteringConfig from ._models import AutoChaptersConfig from ._models import ConnectionConfig from ._models import FetchData @@ -34,6 +35,7 @@ from ._models import TranslationConfig __all__ = [ + "AudioFilteringConfig", "AsyncClient", "AuthBase", "AuthenticationError", From 2d70655703820c3af5c18aa13144799fd77dab51 Mon Sep 17 00:00:00 2001 From: lgavincrl Date: Fri, 6 Mar 2026 12:01:45 +0000 Subject: [PATCH 2/4] Add AudioFilteringConfig to TranscriptionConfig in batch SDK --- sdk/batch/speechmatics/batch/_models.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sdk/batch/speechmatics/batch/_models.py b/sdk/batch/speechmatics/batch/_models.py index e8c6e92..f5ae0dd 100644 --- a/sdk/batch/speechmatics/batch/_models.py +++ b/sdk/batch/speechmatics/batch/_models.py @@ -99,6 +99,8 @@ class TranscriptionConfig: max_delay_mode: Mode for handling max delay. transcript_filtering_config: Configuration for filtering transcription. defaults to None. + audio_filtering_config: Configuration for limiting the transcription of quiet audio. + Defaults to None. """ language: str = "en" @@ -115,11 +117,14 @@ class TranscriptionConfig: max_delay: Optional[float] = None max_delay_mode: Optional[str] = None transcript_filtering_config: Optional[TranscriptFilteringConfig] = None + audio_filtering_config: Optional[AudioFilteringConfig] = None def to_dict(self) -> dict[str, Any]: result: dict[str, Any] = {k: v for k, v in asdict(self).items() if v is not None} if self.transcript_filtering_config is not None: result["transcript_filtering_config"] = self.transcript_filtering_config.to_dict() + if self.audio_filtering_config is not None: + result["audio_filtering_config"] = self.audio_filtering_config.to_dict() return result @@ -284,6 +289,17 @@ def to_dict(self) -> dict[str, Any]: return {k: v for k, v in asdict(self).items() if v is not None} +@dataclass +class AudioFilteringConfig: + """Configuration for limiting the transcription of quiet audio.""" + + volume_threshold: float | None = None + + def to_dict(self) -> dict[str, Any]: + """Convert to dictionary, excluding None values.""" + return {k: v for k, v in asdict(self).items() if v is not None} + + @dataclass class JobConfig: """ @@ -368,6 +384,8 @@ def from_dict(cls, data: dict[str, Any]) -> JobConfig: tc_data["transcript_filtering_config"] = TranscriptFilteringConfig( **tc_data["transcript_filtering_config"] ) + if "audio_filtering_config" in tc_data and isinstance(tc_data["audio_filtering_config"], dict): + tc_data["audio_filtering_config"] = AudioFilteringConfig(**tc_data["audio_filtering_config"]) transcription_config = TranscriptionConfig(**tc_data) alignment_config = None From 956dfe1ba0f46b77be4ad8a76481361c3d0dea97 Mon Sep 17 00:00:00 2001 From: lgavincrl Date: Fri, 6 Mar 2026 12:53:27 +0000 Subject: [PATCH 3/4] Update AudioFilteringConfig docstring and type annotation for volume_threshold --- sdk/batch/speechmatics/batch/_models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/batch/speechmatics/batch/_models.py b/sdk/batch/speechmatics/batch/_models.py index f5ae0dd..b77e80c 100644 --- a/sdk/batch/speechmatics/batch/_models.py +++ b/sdk/batch/speechmatics/batch/_models.py @@ -291,9 +291,9 @@ def to_dict(self) -> dict[str, Any]: @dataclass class AudioFilteringConfig: - """Configuration for limiting the transcription of quiet audio.""" + """Configuration for limiting the transcription of quiet audio. 'volume_threshold' supports a range of 0 - 100 where 0 does not filter any audio and 100 removes all audio.""" - volume_threshold: float | None = None + volume_threshold: Optional[float] = None def to_dict(self) -> dict[str, Any]: """Convert to dictionary, excluding None values.""" From 462c412ac00aca617cbbb5ba779785b3a4732a16 Mon Sep 17 00:00:00 2001 From: lgavincrl Date: Fri, 6 Mar 2026 12:56:15 +0000 Subject: [PATCH 4/4] Update AudioFilteringConfig to use default value of 0 for volume_threshold and simplify to_dict method --- sdk/batch/speechmatics/batch/_models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/batch/speechmatics/batch/_models.py b/sdk/batch/speechmatics/batch/_models.py index b77e80c..c375d34 100644 --- a/sdk/batch/speechmatics/batch/_models.py +++ b/sdk/batch/speechmatics/batch/_models.py @@ -293,11 +293,11 @@ def to_dict(self) -> dict[str, Any]: class AudioFilteringConfig: """Configuration for limiting the transcription of quiet audio. 'volume_threshold' supports a range of 0 - 100 where 0 does not filter any audio and 100 removes all audio.""" - volume_threshold: Optional[float] = None + volume_threshold: float = 0 def to_dict(self) -> dict[str, Any]: - """Convert to dictionary, excluding None values.""" - return {k: v for k, v in asdict(self).items() if v is not None} + """Convert to dictionary.""" + return asdict(self) @dataclass