• Docs >
  • AudioEffector Usages >
  • Old version (stable)
Shortcuts

AudioEffector Usages

Author: Moto Hira

Warning

Starting with version 2.8, we are refactoring TorchAudio to transition it into a maintenance phase. As a result:

  • The APIs described in this tutorial are deprecated in 2.8 and will be removed in 2.9.

  • The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec.

Please see https://github.com/pytorch/audio/issues/3902 for more information.

This tutorial shows how to use torchaudio.io.AudioEffector to apply various effects and codecs to waveform tensor.

Note

This tutorial requires FFmpeg libraries. Please refer to FFmpeg dependency for the detail.

Overview

AudioEffector combines in-memory encoding, decoding and filtering that are provided by StreamWriter and StreamReader.

The following figure illustrates the process.

https://download.pytorch.org/torchaudio/tutorial-assets/AudioEffector.png
import torch
import torchaudio

print(torch.__version__)
print(torchaudio.__version__)
2.8.0+cu126
2.8.0
from torchaudio.io import AudioEffector, CodecConfig

import matplotlib.pyplot as plt
from IPython.display import Audio
for k, v in torchaudio.utils.ffmpeg_utils.get_versions().items():
    print(k, v)
/pytorch/audio/examples/tutorials/effector_tutorial.py:59: UserWarning: torio.utils.ffmpeg_utils.get_versions has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  for k, v in torchaudio.utils.ffmpeg_utils.get_versions().items():
libavcodec (60, 3, 100)
libavdevice (60, 1, 100)
libavfilter (9, 3, 100)
libavformat (60, 3, 100)
libavutil (58, 2, 100)

Usage

To use AudioEffector, instantiate it with effect and format, then either pass the waveform to apply() or stream() method.

effector = AudioEffector(effect=..., format=...,)

# Apply at once
applied = effector.apply(waveform, sample_rate)

apply method applies effect and codec to the entire waveform at once. So if the input waveform is long, and memory consumption is an issue, one can use stream method to process chunk by chunk.

# Apply chunk by chunk
for applied_chunk = effector.stream(waveform, sample_rate):
    ...

Example

src = torchaudio.utils.download_asset("tutorial-assets/Lab41-SRI-VOiCES-src-sp0307-ch127535-sg0042.wav")
waveform, sr = torchaudio.load(src, channels_first=False)
/pytorch/audio/examples/tutorials/effector_tutorial.py:94: UserWarning: torchaudio.utils.download.download_asset has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  src = torchaudio.utils.download_asset("tutorial-assets/Lab41-SRI-VOiCES-src-sp0307-ch127535-sg0042.wav")
/pytorch/audio/src/torchaudio/_backend/utils.py:213: UserWarning: In 2.9, this function's implementation will be changed to use torchaudio.load_with_torchcodec` under the hood. Some parameters like ``normalize``, ``format``, ``buffer_size``, and ``backend`` will be ignored. We recommend that you port your code to rely directly on TorchCodec's decoder instead: https://docs.pytorch.org/torchcodec/stable/generated/torchcodec.decoders.AudioDecoder.html#torchcodec.decoders.AudioDecoder.
  warnings.warn(
/pytorch/audio/src/torchaudio/_backend/ffmpeg.py:88: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  s = torchaudio.io.StreamReader(src, format, None, buffer_size)

Original

show(effect=None)
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


Effects

tempo

https://ffmpeg.org/ffmpeg-filters.html#atempo

show("atempo=0.7")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


show("atempo=1.8")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


highpass

https://ffmpeg.org/ffmpeg-filters.html#highpass

show("highpass=frequency=1500")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


lowpass

https://ffmpeg.org/ffmpeg-filters.html#lowpass

show("lowpass=frequency=1000")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


allpass

https://ffmpeg.org/ffmpeg-filters.html#allpass

show("allpass")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


bandpass

https://ffmpeg.org/ffmpeg-filters.html#bandpass

show("bandpass=frequency=3000")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


bandreject

https://ffmpeg.org/ffmpeg-filters.html#bandreject

show("bandreject=frequency=3000")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


echo

https://ffmpeg.org/ffmpeg-filters.html#aecho

show("aecho=in_gain=0.8:out_gain=0.88:delays=6:decays=0.4")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


show("aecho=in_gain=0.8:out_gain=0.88:delays=60:decays=0.4")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


show("aecho=in_gain=0.8:out_gain=0.9:delays=1000:decays=0.3")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


chorus

https://ffmpeg.org/ffmpeg-filters.html#chorus

show("chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


fft filter

https://ffmpeg.org/ffmpeg-filters.html#afftfilt

# fmt: off
show(
    "afftfilt="
    "real='re * (1-clip(b * (b/nb), 0, 1))':"
    "imag='im * (1-clip(b * (b/nb), 0, 1))'"
)
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


show(
    "afftfilt="
    "real='hypot(re,im) * sin(0)':"
    "imag='hypot(re,im) * cos(0)':"
    "win_size=512:"
    "overlap=0.75"
)
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


show(
    "afftfilt="
    "real='hypot(re,im) * cos(2 * 3.14 * (random(0) * 2-1))':"
    "imag='hypot(re,im) * sin(2 * 3.14 * (random(1) * 2-1))':"
    "win_size=128:"
    "overlap=0.8"
)
# fmt: on
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


vibrato

https://ffmpeg.org/ffmpeg-filters.html#vibrato

show("vibrato=f=10:d=0.8")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)
/pytorch/audio/ci_env/lib/python3.10/site-packages/IPython/lib/display.py:188: RuntimeWarning: invalid value encountered in cast
  return scaled.astype("<h").tobytes(), nchan


tremolo

https://ffmpeg.org/ffmpeg-filters.html#tremolo

show("tremolo=f=8:d=0.8")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


crystalizer

https://ffmpeg.org/ffmpeg-filters.html#crystalizer

show("crystalizer")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


flanger

https://ffmpeg.org/ffmpeg-filters.html#flanger

show("flanger")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


phaser

https://ffmpeg.org/ffmpeg-filters.html#aphaser

show("aphaser")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


pulsator

https://ffmpeg.org/ffmpeg-filters.html#apulsator

show("apulsator", stereo=True)
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


haas

https://ffmpeg.org/ffmpeg-filters.html#haas

show("haas")
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:108: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(effect=effect, pad_end=False)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)


Codecs

def show_multi(configs):
    results = []
    for config in configs:
        effector = AudioEffector(**config)
        results.append(effector.apply(waveform, int(sr)))

    num_configs = len(configs)
    figsize = (6.4, 0.3 + num_configs * 0.9)
    f, axes = plt.subplots(num_configs, 1, figsize=figsize, sharex=True)
    for result, ax in zip(results, axes):
        ax.specgram(result[:, 0], Fs=sr)
    f.set_tight_layout(True)

    return [Audio(r.numpy().T, rate=sr) for r in results]

ogg

results = show_multi(
    [
        {"format": "ogg"},
        {"format": "ogg", "encoder": "vorbis"},
        {"format": "ogg", "encoder": "opus"},
    ]
)
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:278: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(**config)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)

ogg - default encoder (flac)



ogg - vorbis



ogg - opus



mp3

https://trac.ffmpeg.org/wiki/Encode/MP3

results = show_multi(
    [
        {"format": "mp3"},
        {"format": "mp3", "codec_config": CodecConfig(compression_level=1)},
        {"format": "mp3", "codec_config": CodecConfig(compression_level=9)},
        {"format": "mp3", "codec_config": CodecConfig(bit_rate=192_000)},
        {"format": "mp3", "codec_config": CodecConfig(bit_rate=8_000)},
        {"format": "mp3", "codec_config": CodecConfig(qscale=9)},
        {"format": "mp3", "codec_config": CodecConfig(qscale=1)},
    ]
)
effector tutorial
/pytorch/audio/examples/tutorials/effector_tutorial.py:330: UserWarning: torio.io._streaming_media_encoder.CodecConfig has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  {"format": "mp3", "codec_config": CodecConfig(compression_level=1)},
/pytorch/audio/examples/tutorials/effector_tutorial.py:331: UserWarning: torio.io._streaming_media_encoder.CodecConfig has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  {"format": "mp3", "codec_config": CodecConfig(compression_level=9)},
/pytorch/audio/examples/tutorials/effector_tutorial.py:332: UserWarning: torio.io._streaming_media_encoder.CodecConfig has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  {"format": "mp3", "codec_config": CodecConfig(bit_rate=192_000)},
/pytorch/audio/examples/tutorials/effector_tutorial.py:333: UserWarning: torio.io._streaming_media_encoder.CodecConfig has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  {"format": "mp3", "codec_config": CodecConfig(bit_rate=8_000)},
/pytorch/audio/examples/tutorials/effector_tutorial.py:334: UserWarning: torio.io._streaming_media_encoder.CodecConfig has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  {"format": "mp3", "codec_config": CodecConfig(qscale=9)},
/pytorch/audio/examples/tutorials/effector_tutorial.py:335: UserWarning: torio.io._streaming_media_encoder.CodecConfig has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  {"format": "mp3", "codec_config": CodecConfig(qscale=1)},
/pytorch/audio/examples/tutorials/effector_tutorial.py:278: UserWarning: torchaudio.io._effector.AudioEffector has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  effector = AudioEffector(**config)
/pytorch/audio/src/torchaudio/io/_effector.py:98: UserWarning: torio.io._streaming_media_encoder.StreamingMediaEncoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  writer = StreamWriter(buffer, format=muxer)
/pytorch/audio/src/torchaudio/io/_effector.py:286: UserWarning: torio.io._streaming_media_decoder.StreamingMediaDecoder has been deprecated. This deprecation is part of a large refactoring effort to transition TorchAudio into a maintenance phase. The decoding and encoding capabilities of PyTorch for both audio and video are being consolidated into TorchCodec. Please see https://github.com/pytorch/audio/issues/3902 for more information. It will be removed from the 2.9 release.
  reader = StreamReader(src, format=muxer, option=option)

default



compression_level=1



compression_level=9



bit_rate=192k



bit_rate=8k



qscale=9



qscale=1



Tag: torchaudio.io

Total running time of the script: ( 0 minutes 3.000 seconds)

Gallery generated by Sphinx-Gallery

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources