Skip to content

Commit 1f643d1

Browse files
Add deprecation warnings (#3924)
1 parent 9a44260 commit 1f643d1

File tree

22 files changed

+112
-7
lines changed

22 files changed

+112
-7
lines changed

src/torchaudio/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
1+
from torchaudio._internal.module_utils import dropping_support
2+
13
# Initialize extension and backend first
24
from . import _extension # noqa # usort: skip
35
from ._backend import ( # noqa # usort: skip
46
AudioMetaData,
57
get_audio_backend,
68
info,
79
list_audio_backends,
8-
load,
9-
save,
10+
load as _load,
11+
save as _save,
1012
set_audio_backend,
1113
)
1214

15+
load = dropping_support(_load)
16+
save = dropping_support(_save)
17+
1318
from . import ( # noqa: F401
1419
compliance,
1520
datasets,

src/torchaudio/_internal/module_utils.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def wrapped(*args, **kwargs):
5959

6060
return decorator
6161

62+
UNSUPPORTED = []
6263

6364
def deprecated(direction: str, version: Optional[str] = None, remove: bool = False):
6465
"""Decorator to add deprecation message
@@ -90,10 +91,14 @@ def wrapped(*args, **kwargs):
9091
{direction}
9192
"""
9293

94+
UNSUPPORTED.append(wrapped)
9395
return wrapped
9496

9597
return decorator
9698

99+
dropping_support = deprecated(
100+
"As TorchAudio is no longer being actively developed, this function can no longer be supported."
101+
"See https://github.com/pytorch/audio/issues/3902 for more details.", version="2.9", remove=True)
97102

98103
def fail_with_message(message):
99104
"""Generate decorator to give users message about missing TorchAudio extension."""

src/torchaudio/functional/__init__.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
from ._alignment import forced_align, merge_tokens, TokenSpan
1+
from torchaudio._internal.module_utils import dropping_support
2+
3+
from ._alignment import forced_align as _forced_align, merge_tokens, TokenSpan
24
from .filtering import (
35
allpass_biquad,
46
band_biquad,
@@ -23,6 +25,9 @@
2325
treble_biquad,
2426
vad,
2527
)
28+
29+
forced_align = dropping_support(_forced_align)
30+
2631
from .functional import (
2732
add_noise,
2833
amplitude_to_DB,
@@ -53,7 +58,7 @@
5358
preemphasis,
5459
psd,
5560
resample,
56-
rnnt_loss,
61+
rnnt_loss as _rnnt_loss,
5762
rtf_evd,
5863
rtf_power,
5964
sliding_window_cmn,
@@ -62,6 +67,8 @@
6267
speed,
6368
)
6469

70+
rnnt_loss = dropping_support(_rnnt_loss)
71+
6572
__all__ = [
6673
"amplitude_to_DB",
6774
"compute_deltas",

src/torchaudio/io/__init__.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
from torio.io import CodecConfig, StreamingMediaDecoder as StreamReader, StreamingMediaEncoder as StreamWriter
2+
from torchaudio._internal.module_utils import dropping_support
23

34
from ._effector import AudioEffector
4-
from ._playback import play_audio
5+
from ._playback import play_audio as _play_audio
6+
7+
CodecConfig.__init__ = dropping_support(CodecConfig.__init__)
8+
StreamReader.__init__ = dropping_support(StreamReader.__init__)
9+
StreamWriter.__init__ = dropping_support(StreamWriter.__init__)
10+
AudioEffector.__init__ = dropping_support(AudioEffector.__init__)
11+
play_audio = dropping_support(_play_audio)
512

613

714
__all__ = [

src/torchaudio/kaldi_io.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import torch
77
from torch import Tensor
88
from torchaudio._internal import module_utils as _mod_utils
9+
from torchaudio._internal.module_utils import dropping_support
910

1011
if _mod_utils.is_module_available("numpy"):
1112
import numpy as np
@@ -41,6 +42,7 @@ def _convert_method_output_to_tensor(
4142
yield key, torch.from_numpy(np_arr)
4243

4344

45+
@dropping_support
4446
@_mod_utils.requires_module("kaldi_io", "numpy")
4547
def read_vec_int_ark(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
4648
r"""Create generator of (key,vector<int>) tuples, which reads from the ark file/stream.
@@ -64,6 +66,7 @@ def read_vec_int_ark(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
6466
return _convert_method_output_to_tensor(file_or_fd, kaldi_io.read_vec_int_ark, convert_contiguous=True)
6567

6668

69+
@dropping_support
6770
@_mod_utils.requires_module("kaldi_io", "numpy")
6871
def read_vec_flt_scp(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
6972
r"""Create generator of (key,vector<float32/float64>) tuples, read according to Kaldi scp.
@@ -84,6 +87,7 @@ def read_vec_flt_scp(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
8487
return _convert_method_output_to_tensor(file_or_fd, kaldi_io.read_vec_flt_scp)
8588

8689

90+
@dropping_support
8791
@_mod_utils.requires_module("kaldi_io", "numpy")
8892
def read_vec_flt_ark(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
8993
r"""Create generator of (key,vector<float32/float64>) tuples, which reads from the ark file/stream.
@@ -104,6 +108,7 @@ def read_vec_flt_ark(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
104108
return _convert_method_output_to_tensor(file_or_fd, kaldi_io.read_vec_flt_ark)
105109

106110

111+
@dropping_support
107112
@_mod_utils.requires_module("kaldi_io", "numpy")
108113
def read_mat_scp(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
109114
r"""Create generator of (key,matrix<float32/float64>) tuples, read according to Kaldi scp.
@@ -124,6 +129,7 @@ def read_mat_scp(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
124129
return _convert_method_output_to_tensor(file_or_fd, kaldi_io.read_mat_scp)
125130

126131

132+
@dropping_support
127133
@_mod_utils.requires_module("kaldi_io", "numpy")
128134
def read_mat_ark(file_or_fd: Any) -> Iterable[Tuple[str, Tensor]]:
129135
r"""Create generator of (key,matrix<float32/float64>) tuples, which reads from the ark file/stream.

src/torchaudio/models/decoder/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from torchaudio._internal.module_utils import dropping_support
12
_CTC_DECODERS = [
23
"CTCHypothesis",
34
"CTCDecoder",
@@ -33,7 +34,7 @@ def __getattr__(name: str):
3334
"To use CUCTC decoder, please set BUILD_CUDA_CTC_DECODER=1 when building from source."
3435
) from err
3536

36-
item = getattr(_cuda_ctc_decoder, name)
37+
item = dropping_support(getattr(_cuda_ctc_decoder, name))
3738
globals()[name] = item
3839
return item
3940
raise AttributeError(f"module {__name__} has no attribute {name}")

src/torchaudio/prototype/datasets/musan.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import torch
55
from torch.utils.data import Dataset
66
from torchaudio.datasets.utils import _load_waveform
7+
from torchaudio._internal.module_utils import dropping_support
78

89

910
_SUBSETS = ["music", "noise", "speech"]
@@ -18,6 +19,7 @@ class Musan(Dataset):
1819
subset (str): Subset of the dataset to use. Options: [``"music"``, ``"noise"``, ``"speech"``].
1920
"""
2021

22+
@dropping_support
2123
def __init__(self, root: Union[str, Path], subset: str):
2224
if subset not in _SUBSETS:
2325
raise ValueError(f"Invalid subset '{subset}' given. Please provide one of {_SUBSETS}")

src/torchaudio/prototype/functional/_dsp.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
import torch
55

66
from torchaudio.functional import fftconvolve
7+
from torchaudio._internal.module_utils import dropping_support
78

89

10+
@dropping_support
911
def oscillator_bank(
1012
frequencies: torch.Tensor,
1113
amplitudes: torch.Tensor,
@@ -81,6 +83,7 @@ def oscillator_bank(
8183
return waveform
8284

8385

86+
@dropping_support
8487
def adsr_envelope(
8588
num_frames: int,
8689
*,
@@ -182,6 +185,7 @@ def adsr_envelope(
182185
return out
183186

184187

188+
@dropping_support
185189
def extend_pitch(
186190
base: torch.Tensor,
187191
pattern: Union[int, List[float], torch.Tensor],
@@ -249,6 +253,7 @@ def extend_pitch(
249253
return h_freq
250254

251255

256+
@dropping_support
252257
def sinc_impulse_response(cutoff: torch.Tensor, window_size: int = 513, high_pass: bool = False):
253258
"""Create windowed-sinc impulse response for given cutoff frequencies.
254259
@@ -288,6 +293,7 @@ def sinc_impulse_response(cutoff: torch.Tensor, window_size: int = 513, high_pas
288293
return filt
289294

290295

296+
@dropping_support
291297
def frequency_impulse_response(magnitudes):
292298
"""Create filter from desired frequency response
293299
@@ -319,6 +325,7 @@ def _overlap_and_add(waveform, stride):
319325
return buffer
320326

321327

328+
@dropping_support
322329
def filter_waveform(waveform: torch.Tensor, kernels: torch.Tensor, delay_compensation: int = -1):
323330
"""Applies filters along time axis of the given waveform.
324331
@@ -404,6 +411,7 @@ def filter_waveform(waveform: torch.Tensor, kernels: torch.Tensor, delay_compens
404411
return result
405412

406413

414+
@dropping_support
407415
def exp_sigmoid(
408416
input: torch.Tensor, exponent: float = 10.0, max_value: float = 2.0, threshold: float = 1e-7
409417
) -> torch.Tensor:

src/torchaudio/prototype/functional/_rir.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import math
22
from typing import Optional, Tuple, Union
3+
from torchaudio._internal.module_utils import dropping_support
34

45
import torch
56
import torchaudio
@@ -176,6 +177,7 @@ def _validate_inputs(
176177
raise ValueError(f"`mic_array` must be a 2D Tensor with shape (num_channels, 3). Found {mic_array.shape}.")
177178

178179

180+
@dropping_support
179181
def simulate_rir_ism(
180182
room: torch.Tensor,
181183
source: torch.Tensor,
@@ -276,6 +278,7 @@ def simulate_rir_ism(
276278
return rir
277279

278280

281+
@dropping_support
279282
def ray_tracing(
280283
room: torch.Tensor,
281284
source: torch.Tensor,

src/torchaudio/prototype/functional/functional.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import torch
66
from torchaudio.functional.functional import _create_triangular_filterbank
7+
from torchaudio._internal.module_utils import dropping_support
78

89

910
def _hz_to_bark(freqs: float, bark_scale: str = "traunmuller") -> float:
@@ -72,6 +73,7 @@ def _hz_to_octs(freqs, tuning=0.0, bins_per_octave=12):
7273
return torch.log2(freqs / (a440 / 16))
7374

7475

76+
@dropping_support
7577
def barkscale_fbanks(
7678
n_freqs: int,
7779
f_min: float,
@@ -129,6 +131,7 @@ def barkscale_fbanks(
129131
return fb
130132

131133

134+
@dropping_support
132135
def chroma_filterbank(
133136
sample_rate: int,
134137
n_freqs: int,

0 commit comments

Comments
 (0)