code: def mu_law_decoding(
      x_mu: Tensor, quantization_channels: int
  ) -> Tensor:
      r"""Decode mu-law encoded signal.
  
      .. devices:: CPU CUDA
  
      .. properties:: TorchScript
  
      For more info see the
      `Wikipedia Entry <https://en.wikipedia.org/wiki/%CE%9C-law_algorithm>`_
  
      This expects an input with values between 0 and quantization_channels - 1
      and returns a signal scaled between -1 and 1.
  
      Args:
          x_mu (Tensor): Input tensor
          quantization_channels (int): Number of channels
  
      Returns:
          Tensor: Input after mu-law decoding
      """
      mu = quantization_channels - 1.0
      if not x_mu.is_floating_point():
          x_mu = x_mu.to(torch.float)
      mu = torch.tensor(mu, dtype=x_mu.dtype)
      x = ((x_mu) / mu) * 2 - 1.0
      x = (
          torch.sign(x)
          * (torch.exp(torch.abs(x) * torch.log1p(mu)) - 1.0)
          / mu
      )
      return x
  
imports: import math
  import tempfile
  import warnings
  from collections.abc import Sequence
  from typing import List, Optional, Tuple, Union
  import torch
  import torchaudio
  from torch import Tensor
  from torchaudio._internal.module_utils import deprecated
  from .filtering import highpass_biquad, treble_biquad
label_desc: Use image node_id 15 for calling a global function with example usage: mu_law_decoding(x_mu, quantization_channels) and returns: x